Linus K
26a539e440
Change to ANTLR
2022-10-23 19:51:59 +02:00
Linus K
2a89c4e69a
Refactor
2022-10-23 18:38:36 +02:00
Victorious3
6e1786ec7c
Test cases and some fixes
2022-07-13 14:38:17 +02:00
Victorious3
699155e21a
Equalize type variables in covariant and contravariant position
2022-07-03 19:24:54 +02:00
Victorious3
de417d3ee6
Remove inner type variables
2022-07-03 18:10:40 +02:00
Victorious3
ef06a8de38
Actually replace instead of removing pairs
2022-07-03 15:25:35 +02:00
Victorious3
560f0c5a6f
Filter out cycles and infima
2022-07-03 15:17:12 +02:00
Victorious3
d7380c6cb7
Remove duplicate testcase
2022-07-02 16:14:46 +02:00
Victorious3
b43afd40ee
Decouple Sigma from Target
2022-07-02 15:57:33 +02:00
Victorious3
a8be387dd9
Add generics to the generated class file
2022-06-23 20:39:34 +02:00
Victorious3
7e259e2597
Mostly finish up populating generics
2022-06-23 18:52:30 +02:00
Victorious3
f00ee2598f
Start implementing family of generics
2022-06-22 17:06:49 +02:00
Victorious3
3b439a49cd
IDEA wants it that way
2022-06-17 15:16:56 +02:00
Victorious3
29112e7bd7
First implementation for overloaded functions and test case
2022-06-17 15:15:08 +02:00
Victorious3
0a1a596bb9
Add Field transform
2022-05-31 14:02:39 +02:00
Victorious3
372182aa8b
Convert the AST
2022-05-29 20:06:08 +02:00
JanUlrich
1ef3f22c18
Add AST To Target AST emptyClass testcase
2022-05-24 15:42:41 +02:00
Victorious3
20f11a5bef
Changes
2022-05-24 14:35:30 +02:00
Victorious3
6c584f92e9
More tests
2022-05-16 14:18:58 +02:00
Victorious3
8666bfdf17
Start testing
2022-05-15 18:45:49 +02:00
Victorious3
590a4f04ae
Implement target t AST
2022-05-03 21:37:14 +02:00
Victorious3
e8cc6ade11
Start working on the code generator
2022-04-27 13:05:01 +02:00
Andreas Stadelmeier
8e80cc2985
Add TargetExpression
2022-03-30 03:17:55 +02:00
Andreas Stadelmeier
f03d3f5e64
Merge branch 'refactorToAPIs' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into refactorToAPIs
2022-03-29 19:25:13 +02:00
Andreas Stadelmeier
dfd12422a6
Set language level to Java 17. Add target AST as records
2022-03-29 19:25:01 +02:00
Etienne Zink
eebb07ec8b
Verbesserung FunNGenerator:
...
Generics werden nicht mehr mehrfach hinzugefügt.
TPHS werden im Klassenname als LTPH angegeben, so entsteht keine Uneindeutigkeit zu Klassen mit Object (ohne TPH) im Klassenname.
2022-03-29 19:19:31 +02:00
Etienne Zink
c65102d89a
Hinzufügen von OLFun2 und Änderung der Spezialisierungen von FunN, dass diese statt des TPH im Namen Object haben.
...
Ansonsten werden diese nicht wieder gefunden.
2022-03-29 17:00:06 +02:00
Etienne Zink
ed00aeb056
Fixed bug mit der korrekten Signatur im Bytecode der FunN Typen.
...
Verbesserung der BytecodeGenMethod -> Nun werden die korrekt resolveten Typen verwendet.
2022-03-29 16:20:14 +02:00
Etienne Zink
7012010462
Korrektur in TypeToDescriptor und TypeToSignature -> Ohne Angabe im Deskriptor wird automatisch angenommen es soll eine spezialisierte Signatur erstellt werden.
2022-03-29 15:58:10 +02:00
Etienne Zink
9444ee38d6
Änderung generateSuperBytecode() sodass dies nun korrekten Bytecode generiert.
2022-03-29 15:43:43 +02:00
Etienne Zink
4ed30f11f7
Änderung: Spezialisierte FunN beinhaltet TPH im Namen und dieser wird FunN als Generic hinzugefügt.
2022-03-29 15:00:52 +02:00
Etienne Zink
fcedec60e7
Hinzufügen OLFunTest.
2022-03-29 09:02:32 +02:00
Etienne Zink
d8bdcf854c
Refactoring der Bytecodegenerierung und Anpassung von Kommentaren.
2022-03-29 08:56:38 +02:00
Etienne Zink
0e363cfae3
Löchen des Intermediate-Packages und Erstellung einer Utility-Klasse zur FunN Bytecodegenerierung.
...
Übertragung der Funktionalität zur Generierung von FunN auf FunNGenerator.
2022-03-28 22:34:07 +02:00
Etienne Zink
fedf33a006
Alle Tests der Bytecode-Generierung sind nun auf grün mit den Spezialisierungen der FunN Typen.
...
Bytecode muss noch manuell überprüft werden, ob überall korrekt!
2022-03-28 11:56:14 +02:00
Etienne Zink
4522aeff36
Verbesserung der Bytecodegenerierung für FunN Typen.
...
Immernoch in drei Tests fehlerhaft.
2022-03-28 10:47:49 +02:00
Etienne Zink
bcf56e6bdd
Verbesserung der Generierung von FunN-Typen.
...
Lambda Expressions noch fehlerhaft.
2022-03-24 10:38:12 +01:00
Etienne Zink
15c05e5cba
Verbesserung der Konvertierung und der Bytecodegenerierung für FunN Typen.
...
Beinhaltet noch Fehler!
2022-03-23 16:12:25 +01:00
Etienne Zink
dc9a54be3b
Hinzufügen der ersten Einbeziehung der API zur Generierung der spezialisierten FunN Typen, ohne Tests.
2022-03-22 20:42:16 +01:00
Etienne Zink
21adeb7f26
Implementierung der von convert(..) in ASTToIntermediate.
2022-03-21 17:15:03 +01:00
Etienne Zink
6381d09174
Implementierung von getBytecode() in FunN und Hinzufügen entsprechender Tests.
2022-03-21 11:29:37 +01:00
Etienne Zink
918a2cc04d
Implementierung in FunN von getSuperBytecode() und Hinzufügen entsprechender Test.
...
Umbenennung in IntermediateRefType: getTypParameter() -> getTypArgument() und getTypParameterSize() -> getTypArgumentSize().
2022-03-21 08:42:50 +01:00
Etienne Zink
ac1e0340c3
Hinzufügen von FunN zur Generierung von echten Funktionstypen.
...
FunN ist Subtyp von IntermediateRefType.
Hinzufügen erster FunNTests.
2022-03-20 22:25:55 +01:00
Etienne Zink
0d84e8361f
Hinzufügen von IntermediateWildcard und dessen Tests.
...
Hinzufügen der Tests für IntermediateSuperWildcard und IntermediateExtendsWildcard.
Verbesserung von IntermediateRefType: typParameter können IntermediateType sein und nicht nur IntermediateInnerType.
2022-03-20 20:38:54 +01:00
Etienne Zink
0207c7d1b0
Verbesserung typParameter von IntermediateRefType: Können IntermediateInnerType sein! Nicht nur IntermediateRefType wie zuvor.
...
Hizufügen entsprechender Tests.
2022-03-20 16:59:24 +01:00
Etienne Zink
f1f028f0b9
Hinzufügen von equals() und hashCode() Tests zu IntermediateRefTypeTest und IntermediateGenericTypeTest.
2022-03-20 16:42:12 +01:00
Etienne Zink
8b58259fe0
Hinzufügen von Test zu IntermediateRefTypeTest und IntermediateGenericTypeTest.
2022-03-20 16:34:01 +01:00
Etienne Zink
55a75b04a0
Refactoring für innere Typen, welche ausschließlich einen Descriptor besitzen.
...
Innere Typen sind dabei IntermediateRefType und IntermediateGenericType.
Implementierung der IntermediateWildcard Typen und Hinzufügen leerer Tests.
2022-03-20 16:08:38 +01:00
Etienne Zink
06b27dabd2
Änderung von hashCode() und equals() zurück zur Benutzung von getFullyQualifiedName(), da dies eindeutig ist im Gegensatz zu getSignature().
2022-03-20 15:07:02 +01:00
Etienne Zink
9baf89acc2
Änderung von hashCode() und equals(), in IntermediateGenericType und IntermediateRefType, auf Basis von getSignature() und nicht mehr getFullyQualifiedName().
2022-03-19 18:32:12 +01:00