Commit Graph

1877 Commits

Author SHA1 Message Date
Vic Nightfall
9f27d0d0fa Work on the generics tests 2022-12-06 17:44:39 +01:00
Andreas Stadelmeier
b41680dc84 Merge with targetBytecode, Set language level to Java 19 + preview-features 2022-11-28 13:38:31 +01:00
Vic Nightfall
b63d1bcf73 Fix FunNGenerator 2022-11-27 13:22:47 +01:00
Vic Nightfall
8806d1462c Fix FunNGenerator using the wrong string 2022-11-27 12:57:47 +01:00
Vic Nightfall
dbd5311d93 Fix the build by reinstating old classes 2022-11-23 21:35:33 +01:00
pl@gohorb.ba-horb.de
291fee12db new file: ../../AllgemeinTest/VectorConstAdd.jav
modified:   ../../bytecode/javFiles/VectorAdd.jav
	new file:   ../../../src/test/java/AllgemeinTest.java
wieder hergestellt.
2022-11-21 23:51:06 +01:00
JanUlrich
f8c8e2c805 Move Tests 2022-11-18 09:50:35 +01:00
Andreas Stadelmeier
00c8f41671 Change pom.xml: Clean up, Set java version to 17, Antlr4 plugin uses standard source directory. Project changes: move /test/resources to /resources 2022-11-15 16:21:09 +01:00
Vic Nightfall
84cb7d871b Move package 2022-11-14 15:55:40 +01:00
Vic Nightfall
83b735716f Convert FunNGenerator to class with static methods instead of using a singleton 2022-11-14 15:44:31 +01:00
Vic Nightfall
15e94111d4 Rework FunNGenerator to use target types 2022-11-14 15:28:00 +01:00
Vic Nightfall
9d942a7014 Start replacing the code generator 2022-11-13 19:03:54 +01:00
Vic Nightfall
aa156b793f Generate proper FunN types 2022-11-13 17:05:14 +01:00
Vic Nightfall
be1c356a9f Don't drop wildcards 2022-11-13 14:38:21 +01:00
Victorious3
4307371dee Box test 2022-11-13 13:47:24 +01:00
pl@gohorb.ba-horb.de
26bb3c9579 modified: ../../java/AllgemeinTest.java
modified:   Box_Main.jav
2022-10-10 18:11:57 +02:00
Andreas Stadelmeier
8f7becd62d Fix for Bug 230 2022-10-03 10:08:50 +02:00
Victorious3
c40fbd9399 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2022-10-02 18:28:00 +02:00
Victorious3
b4e1be0fb7 Fix some type conversions 2022-10-02 18:27:41 +02:00
pl@gohorb.ba-horb.de
469feb6349 modified: src/test/resources/bytecode/javFiles/Inf.jav
zwei weitere Variablen eingefuegt
2022-09-27 18:18:13 +02:00
pl@gohorb.ba-horb.de
82f5146abb Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2022-09-27 15:19:20 +02:00
pl@gohorb.ba-horb.de
f119bff0b6 modified: ../bytecode/javFiles/Inf.jav
modified:   ../bytecode/javFiles/SimpleCycle.jav
2022-09-27 15:19:10 +02:00
Victorious3
a660d7a295 Remove bounds with Object when more concrete bounds are added 2022-09-22 22:01:28 +02:00
Victorious3
247eb0ef79 Add tests for generic parameters 2022-09-22 18:48:50 +02:00
Victorious3
04b9af8c7b Add Box test 2022-09-22 16:50:19 +02:00
pl@gohorb.ba-horb.de
33e9b87562 Der Returntyp des Konstruktors wurde mit TypePlaceholders als Parameter bestimmt.
Korrigiert: TypePlaceholders durch GenericRefType ersetzt

	modified:   ../../../../main/java/de/dhbwstuttgart/syntaxtree/ClassOrInterface.java
Methode generateTypeOfThisClass eingefuegt. Macht aus der atuellen Klasse den zugehoerigen RefType

In getConstructors in new MethodAssumption den ofType-Parameter (Typeplaceholders) durch cl.generateTypeOfThisClass()
ersetzt. Dadurch werden GenericRefType in den Typ eingefuegt.
2022-09-18 00:19:20 +02:00
Victorious3
5503f3723c Fix Tph2 2022-08-26 17:21:23 +02:00
Victorious3
b0c1d5d96d Remove duplicate type variables 2022-08-26 16:05:59 +02:00
Victorious3
6fb329ae1a Initialize local variables to null 2022-08-26 15:13:48 +02:00
Victorious3
45b80bb6c5 Don't change the constraints anymore 2022-08-26 14:55:03 +02:00
pl@gohorb.ba-horb.de
5d5f3ee627 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode
Conflicts:
	src/test/java/targetast/TestComplete.java
2022-08-09 17:14:09 +02:00
Victorious3
edf85dca7f Fix Tph4-6 2022-08-09 12:59:23 +02:00
pl@gohorb.ba-horb.de
bca1bd622f modified: ../bytecode/javFiles/SimpleCycle.jav
Simple cycle aktiviert
2022-08-09 09:50:47 +02:00
pl@gohorb.ba-horb.de
6fc70db481 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2022-08-08 15:25:23 +02:00
pl@gohorb.ba-horb.de
c933160dcb modified: ../../java/targetast/TestComplete.java
Test Tph7.jav in integriert.
2022-08-08 15:24:46 +02:00
Victorious3
2af59d1e1f Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2022-08-08 14:51:08 +02:00
Victorious3
f36f981ca8 Lambda captures 2022-08-08 14:50:43 +02:00
pl@gohorb.ba-horb.de
d54cd5e20a modified: ../../../../pom.xml
wieder auf Java-18 umgestellt

	modified:   ../../java/targetast/TestComplete.java
Test Tph4Test eingefuegt
2022-08-08 14:45:58 +02:00
pl@gohorb.ba-horb.de
975f2cefe3 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2022-08-08 11:50:07 +02:00
pl@gohorb.ba-horb.de
56f68e84e4 modified: ../../java/targetast/TestComplete.java
Test Tph2Test eingefue=gt

	modified:   ../bytecode/javFiles/Tph2.jav
Zeilen auskommentiert, die bereits in anderen Tests enthalten
2022-08-08 11:09:19 +02:00
Victorious3
d87ea005b1 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2022-08-07 20:10:18 +02:00
Victorious3
bca02137a6 Fix method calls in matrixOp 2022-08-07 20:09:57 +02:00
pl@gohorb.ba-horb.de
092d066774 modified: ../../java/targetast/TphTest.java
Test fuer Tph7 so angepasst, dass ueberprueft wird ob die richtigen Typvariablen generiert werden
2022-08-06 22:17:49 +02:00
pl@gohorb.ba-horb.de
6d12102fbf Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2022-08-06 14:12:41 +02:00
pl@gohorb.ba-horb.de
fa5a29c682 modified: src/test/resources/bytecode/javFiles/Inf.jav
Kommentare erweitert
2022-08-06 14:10:25 +02:00
Victorious3
4e15bd4ae2 Merge remote-tracking branch 'origin/targetBytecode' into targetBytecode
# Conflicts:
#	src/test/resources/bytecode/javFiles/Tph7.jav
2022-08-05 16:21:10 +02:00
Victorious3
4e6e8c5cc7 Add Tph7 test. 2022-08-05 16:20:30 +02:00
pl@gohorb.ba-horb.de
bfc5c55e90 modified: ../../../../pom.xml
modified:   ../../java/targetast/TphTest.java
	modified:   ../bytecode/javFiles/Tph.jav
	new file:   ../bytecode/javFiles/Tph7.jav
2022-08-03 15:18:55 +02:00
Victorious3
c21104f646 Find functions in class files and primitive types 2022-08-02 18:10:52 +02:00
pl@gohorb.ba-horb.de
9fc558c21a modified: src/test/java/AllgemeinTest.java
new file:   src/test/resources/AllgemeinTest/M.jav
	new file:   src/test/resources/AllgemeinTest/Put.jav
	new file:   src/test/resources/AllgemeinTest/Test.jav
	new file:   src/test/resources/AllgemeinTest/TestSubTypless.jav
	new file:   src/test/resources/AllgemeinTest/Twice.jav
	new file:   src/test/resources/AllgemeinTest/Var.jav
	new file:   src/test/resources/AllgemeinTest/Wildcard_Andi.jav
	new file:   src/test/resources/AllgemeinTest/addList.jav
2022-07-28 09:04:25 +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
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