Commit Graph

2090 Commits

Author SHA1 Message Date
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
Etienne Zink
c22d12f6b0 Hinzufügen des Grundkonstrukts der Intermediate-Typen. 2022-03-17 17:36:34 +01:00
pl@gohorb.ba-horb.de
0aab2d9f53 modified: ../../../../main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java
this wird nicht als Field betrachtet

	new file:   ../../javFiles/packageTest/Pair2.jav
	new file:   ../../javFiles/packageTest/de/test/Pair.jav
2021-06-04 00:52:50 +02:00
JanUlrich
33d6adf899 Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bigRefactoring 2021-05-27 12:10:15 +02:00
JanUlrich
00add07132 Fix Object has null Constructor 2021-05-27 12:10:05 +02:00
pl@gohorb.ba-horb.de
48964d57ad 2
new file:   README_aktuelle_Branches
	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/type/GenericRefType.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
2021-05-25 15:32:11 +02:00