Etienne Zink
a0367d5464
Hinzufpgen von Signatur- und Descriptor-Tests für TPHs als Typargumente in Funktionstypen.
2022-04-08 08:22:08 +02:00
Etienne Zink
722d897d4b
Verbesserung von getSpecializedFunNRefType -> jetzt werden nur noch Generics und TPHs als Parameter übergeben.
...
Zuvor wurden zu viele Parameter übergeben.
2022-04-06 07:41:56 +02:00
Etienne Zink
e2d76d314a
Verbesserung der FunNGenerator Tests für Signaturen.
2022-04-05 20:07:10 +02:00
Etienne Zink
cd5fbac987
Verbesserung, nun werden bei specialized Signaturen und Deskriptoren auch korrekt Generics berücksichtigt.
2022-04-05 20:03:42 +02:00
Etienne Zink
67df9aa262
Hinzufügen Anmerkung an TypeToDescriptor.
2022-04-05 11:29:45 +02:00
Etienne Zink
5b970f9359
Hinzufügen von FunNGenerator Tests und Bugfixing bei generateSpecializedBytecode().
...
TPHs werden nun direkt zu Generics substituiert und TypeToSignature wurde verbessert, sodass korrekte Signaturen für Generics generiert werden.
2022-04-03 15:47:03 +02:00
Etienne Zink
1b5eacf921
Hinzufügen erster Tests für FunNGenerator und Implementierung von equals() in GenericRefType.
2022-04-03 13:12:13 +02:00
Etienne Zink
a35e69f878
Merge remote-tracking branch 'origin/refactorToAPIs' into refactorToAPIs
2022-04-03 10:30:30 +02:00
Etienne Zink
643f7c0220
Hinzufügen von Kommentaren zu FunNGenerator und FunNUtilities.
2022-04-03 10:29:06 +02:00
Etienne Zink
24f1b507c4
Kommentieren von OLFunTest und OLFun2Test.
2022-03-30 20:32:34 +02:00
JanUlrich
a4cc4cc357
Move Parser Tests
2022-03-30 15:35:40 +02:00
Etienne Zink
e80e2db26c
Merge remote-tracking branch 'origin/refactorToAPIs' into refactorToAPIs
2022-03-30 13:40:04 +02:00
Etienne Zink
4c0fb34c00
Hinzufügen von Tests von OLFun und OLFun2.
2022-03-30 13:38:50 +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
Etienne Zink
be307e95a6
Hizufügen von isParametrized zu IntermediateRefType.
2022-03-19 18:19:42 +01:00
Etienne Zink
df4faebd92
Hinzufügen der extends-Beziehung von IntermediateExtendsWildcard und IntermediateSuperWildcard zu IntermediateType, ohne Implementierungen.
2022-03-19 18:16:50 +01:00
Etienne Zink
36ef1e124a
Änderung von toSting(): gibt nun getSignature() statt getFullyQualifiedName() zurück.
2022-03-19 18:12:46 +01:00
Etienne Zink
2706c31beb
Kleine Anpassung von Kommentaren.
2022-03-19 18:07:24 +01:00
Etienne Zink
c32a0cc222
Refactoring access-Modifier von IntermediateType (Klassen-Name Methoden).
...
Refactoring Signature- und Descriptor-Methoden und caching des Descriptors.
2022-03-19 18:03:54 +01:00
Etienne Zink
eaec7f613a
Hinzufügen von abstract getClassDescriptor in IntermediateType und Implementierung von IntermediateGenericType.
2022-03-19 17:22:23 +01:00
Etienne Zink
c681396061
Implementierung und Tests von IntermediateRefType.
2022-03-19 16:33:13 +01:00
Etienne Zink
3d19d8d729
Hinzufügen der Klassenbeschreibung im JavaDoc für IntermediateType.
2022-03-18 12:53:06 +01:00
Etienne Zink
f457e7e4d0
Erste Implementierung des IntermediateType und unvollständige Implementierung von IntermediateRefType.
2022-03-18 09:09:33 +01:00