pl@gohorb.ba-horb.de
3b77a1271b
modified: src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
2023-01-24 11:31:55 +01:00
luca9913
4f4ca50c75
Implementierung ConvertClass-Methode in ASTGen fortgesetzt
2023-01-24 08:14:14 +01:00
Victorious3
9d20c0564c
Get rid of inner type variables for methods
2023-01-23 16:04:19 +01:00
pl@gohorb.ba-horb.de
8be7f3d790
modified: ../../../src/main/java/de/dhbwstuttgart/syntaxtree/statement/MethodCall.java
2023-01-23 15:14:39 +01:00
pl@gohorb.ba-horb.de
9e6b2e9ced
modified: ../../../src/main/java/de/dhbwstuttgart/typeinference/assumptions/MethodAssumption.java
...
modified: ../../../src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
2023-01-23 15:13:51 +01:00
Victorious3
69bdb4aa5b
Consider environment of type variables in method call
2023-01-23 13:56:21 +01:00
pl@gohorb.ba-horb.de
8aa67594d9
modified: ../../../src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
...
argTypes in MethodCall werden gesetzt
2023-01-23 13:49:11 +01:00
luca9913
1cf23bec90
Implementierung neuer ASTGen fortgesetzt
2023-01-21 05:35:15 +01:00
luca9913
3bdc3b764d
Merge remote-tracking branch 'origin/bigRefactoring' into patternMatching
2023-01-20 06:16:25 +01:00
luca9913
a13294edf4
Visitor Ansatz verworfen, STG in ASTGen neu aufsetzen
2023-01-20 06:13:38 +01:00
luca9913
a85b60b95f
ASTGen auf basis von antlr visitor
2023-01-20 02:54:59 +01:00
pl@gohorb.ba-horb.de
d1fd65fad7
modified: src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
...
Loeschungen angezeigt
modified: src/main/java/de/dhbwstuttgart/target/generate/ASTToTargetAST.java
Ansatz fuer Veraenderung des Algorithmus bei Generated Generics eingefuegt.
modified: src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPE.java
Loeschungen angezeigt
modified: src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
Loeschungen angezeigt
modified: src/test/java/targetast/TestComplete.java
tphTest eingfuegt
2023-01-18 18:11:45 +01:00
JanUlrich
752faaca86
Add jar-building to pom-file. Fix ConsoleInterface
2023-01-17 19:31:15 +01:00
JanUlrich
d6b25bc76e
Add jar-building to pom-file. Fix ConsoleInterface
2023-01-17 17:42:32 +01:00
pl@gohorb.ba-horb.de
a2d8ab35ae
Merge branch 'targetBytecode' of gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode
2023-01-17 17:22:46 +01:00
pl@gohorb.ba-horb.de
0944cf59fb
modified: src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
...
modified: src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPE.java
modified: src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
modified: src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
modified: src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java
modified: src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java
new file: src/main/java/de/dhbwstuttgart/util/BiRelation.java
renamed: src/main/java/de/dhbwstuttgart/typeinference/unify/model/Pair.java -> src/main/java/de/dhbwstuttgart/util/Pair.java
2023-01-17 17:22:22 +01:00
Victorious3
abe7553c37
Add missing object bounds
2023-01-17 15:57:41 +01:00
Victorious3
43e8837308
Simplify tests by adding BoundsChain
2023-01-17 12:42:20 +01:00
luca9913
c78a148766
Alternativ-labels in grammatik & neuen ast-generator auf basis von antlr visitor
2023-01-17 06:38:00 +01:00
luca9913
cb564dc436
Beginn anpassung SyntaxTreeGenerator an neue Grammatik
2023-01-17 06:37:07 +01:00
luca9913
6d52949215
Anpassungen der Grammatikregeln übernommen
2023-01-17 06:34:39 +01:00
pl@gohorb.ba-horb.de
f0f3a91e27
Constraints fuer Generated Generics erzeugt und schreibt diese als Attribute methCallargTypesRetType in den Klassen TYPE, TypeStmt und JavaTXCompiler
...
modified: src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
modified: src/main/java/de/dhbwstuttgart/typeinference/constraints/Constraint.java
modified: src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPE.java
modified: src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
2023-01-11 18:51:55 +01:00
Victorious3
7aa7f94110
Add user defined generics to methods
2023-01-10 16:06:57 +01:00
Vic Nightfall
96ffc12ebc
Merge with bigRefactoring
2023-01-04 16:07:48 +01:00
Vic Nightfall
f3e7fc0dc3
Test generics
2023-01-04 15:46:25 +01:00
Vic Nightfall
9f27d0d0fa
Work on the generics tests
2022-12-06 17:44:39 +01:00
luca9913
a7dc943692
Merge remote-tracking branch 'origin/bigRefactoring' into patternMatching
2022-12-04 21:20:09 +01:00
luca9913
4b6d69d748
Antlr-Grammatik angepasst, um syntaxtree-Klassen zu matchen
2022-12-04 21:17:39 +01:00
luca9913
1145f010c6
Referenzen auf Parser-Klassen von Java8 zu Java17 umbenannt
2022-12-04 21:15:36 +01:00
luca9913
d89e414ca7
Alte Java8- durch neue Java17-Grammatik ersetzt
2022-12-03 22:54:22 +01:00
luca9913
58cd490639
rootDirectory GeneralParserTest, dep. Klasse JavaTXParser
2022-12-01 22:20: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
luca9913
df3e2b55f9
Grammatik-Regeln für "instanceof-PatternMatching" eingefügt
2022-11-24 22:33:23 +01:00
Vic Nightfall
dbd5311d93
Fix the build by reinstating old classes
2022-11-23 21:35:33 +01:00
luca9913
09ac2fc5cf
Neue Grammatik-Regeln und daraus resultierende bugfixes
2022-11-22 21:44:13 +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
Andreas Stadelmeier
8f7becd62d
Fix for Bug 230
2022-10-03 10:08:50 +02:00
Victorious3
b4e1be0fb7
Fix some type conversions
2022-10-02 18:27:41 +02:00
Victorious3
a660d7a295
Remove bounds with Object when more concrete bounds are added
2022-09-22 22:01:28 +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
Victorious3
edf85dca7f
Fix Tph4-6
2022-08-09 12:59:23 +02:00
Victorious3
f36f981ca8
Lambda captures
2022-08-08 14:50:43 +02:00
Victorious3
bca02137a6
Fix method calls in matrixOp
2022-08-07 20:09:57 +02:00
Victorious3
4e6e8c5cc7
Add Tph7 test.
2022-08-05 16:20:30 +02:00
Victorious3
c21104f646
Find functions in class files and primitive types
2022-08-02 18:10:52 +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
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
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