Compare commits

...

244 Commits

Author SHA1 Message Date
pl@gohorb.ba-horb.de
d6a79ea3a1 modified: src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java 2023-04-11 22:45:15 +02:00
pl@gohorb.ba-horb.de
1f909f13ee modified: src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java 2023-04-11 18:01:44 +02:00
pl@gohorb.ba-horb.de
be6f4bd578 Merge remote-tracking branch 'origin/targetBytecode' into unif23 2023-04-11 15:52:26 +02:00
pl@gohorb.ba-horb.de
478efd5649 Merge branch 'unif23' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into unif23 2023-04-11 15:40:27 +02:00
pl@gohorb.ba-horb.de
c73e57cf2b new file: resources/bytecode/javFiles/Scalar.jav 2023-04-11 15:35:15 +02:00
pl@gohorb.ba-horb.de
ce29f4bcf1 Merge branch 'unif23' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into Unif23
Conflicts:
	src/test/java/targetast/TestComplete.java
2023-04-10 22:14:46 +02:00
pl@gohorb.ba-horb.de
42821f3215 modified: src/main/java/de/dhbwstuttgart/typeinference/unify/RuleSet.java
modified:   src/test/java/targetast/TestComplete.java
2023-04-10 22:07:47 +02:00
pl@gohorb.ba-horb.de
f68afc88a6 modified: src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java 2023-04-06 17:58:32 +02:00
pl@gohorb.ba-horb.de
ed671aeb97 modified: src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
modified:   src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java
	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/type/TypePlaceholder.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/model/OrderingUnifyPair.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/model/PlaceholderType.java

<. weider eingefuegt bei Return typen von Methodcalls und Return-Statements
Vergleich dementsprechend angepasst.
2023-04-05 17:48:15 +02:00
pl@gohorb.ba-horb.de
82061474b2 modified: resources/bytecode/javFiles/Scalar.jav
modified:   src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
2023-04-04 17:26:13 +02:00
pl@gohorb.ba-horb.de
d849bc127f Merge remote-tracking branch 'origin/targetBytecode' into unif23 2023-04-04 16:47:19 +02:00
pl@gohorb.ba-horb.de
f6a4fe8142 modified: resources/bytecode/javFiles/Scalar.jav 2023-04-04 16:00:54 +02:00
pl@gohorb.ba-horb.de
f6fe3a68aa new file: resources/bytecode/javFiles/Scalar.jav 2023-04-04 15:54:41 +02:00
pl@gohorb.ba-horb.de
86d229cac9 modified: resources/bytecode/javFiles/Matrix.jav
modified:   src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
	modified:   src/test/java/targetast/TestComplete.java
2023-04-04 15:54:03 +02:00
pl@gohorb.ba-horb.de
02c8dd9804 Merge branch 'targetBytecode' of gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-04-04 13:16:41 +02:00
pl@gohorb.ba-horb.de
0908d512d9 modified: src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java 2023-04-04 13:16:25 +02:00
Victorious3
e231cf722b Fix type variable being declared twice 2023-04-04 13:09:28 +02:00
Victorious3
aa9782edd7 Fix test case 2023-04-04 13:09:05 +02:00
pl@gohorb.ba-horb.de
e55b9938dc modified: src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
Returntyp: Equaldot durch SMALLERDOT ersetzt
2023-04-04 10:30:38 +02:00
pl@gohorb.ba-horb.de
6815d8fc0a modified: Makefile
modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
2023-03-31 17:58:02 +02:00
pl@gohorb.ba-horb.de
317f8b1aad new file: Makefile
deleted:    Test.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
2023-03-31 15:54:17 +02:00
Victorious3
f7b60214fa Change tests 2023-03-28 16:40:06 +02:00
Victorious3
1ad5540500 Fix wrong class generics being used 2023-03-28 13:28:05 +02:00
Victorious3
3963baa9ce Fix equality 2023-03-28 12:02:08 +02:00
Victorious3
b9f19cc105 Write tx signature to constant pool 2023-03-24 15:14:17 +01:00
Victorious3
cf2d612870 Fix TX Signature by adding additional prameters to every method and constructor 2023-03-24 14:51:57 +01:00
Victorious3
b55fc71811 Let generateClassFiles accept multiple arguments 2023-03-24 13:27:29 +01:00
pl@gohorb.ba-horb.de
79335449d0 modified: src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
Statistics fertig (Version 1)
2023-03-23 12:00:04 +01:00
pl@gohorb.ba-horb.de
14606a846e modified: src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnify.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnify2Task.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
2023-03-22 19:01:36 +01:00
2b67230a15 Consider public and standard constructors ones 2023-03-21 16:31:45 +01:00
pl@gohorb.ba-horb.de
29b05b56cc Merge branch 'targetBytecode' into unif23 2023-03-21 16:29:14 +01:00
pl@gohorb.ba-horb.de
08b9fc0ea3 modified: src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
statistics eingefuegt
2023-03-21 16:23:18 +01:00
Victorious3
6b767bc09b Fix using the wrong constructor 2023-03-21 15:06:17 +01:00
Victorious3
2dff7909ed Remove test file 2023-03-21 14:00:58 +01:00
Victorious3
d93836d110 Fix incorrect generics for derived FunN 2023-03-21 12:12:42 +01:00
Victorious3
b5af3a42a8 Fix wrong generic parameter on FunN3336 base class 2023-03-21 10:34:34 +01:00
pl@gohorb.ba-horb.de
070dd16999 modified: src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java 2023-03-21 10:30:13 +01:00
pl@gohorb.ba-horb.de
9d7e46925d modified: src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java 2023-03-21 10:26:55 +01:00
pl@gohorb.ba-horb.de
d780d322f0 modified: src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
modified:   src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
2023-03-20 18:33:58 +01:00
pl@gohorb.ba-horb.de
867f3d39e8 modified: src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
modified:   src/test/java/targetast/TestComplete.java
2023-03-20 16:05:28 +01:00
pl@gohorb.ba-horb.de
303246adce modified: README_aktuelle_Branches 2023-03-17 16:16:28 +01:00
pl@gohorb.ba-horb.de
48daa9731f modified: resources/AllgemeinTest/Pair.jav 2023-03-17 16:05:47 +01:00
pl@gohorb.ba-horb.de
9d03080667 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode
resources/AllgemeinTest/Pair.jav
2023-03-08 16:54:00 +01:00
pl@gohorb.ba-horb.de
02e596ce7e modified: ../../AllgemeinTest/Pair.jav
modified:   ../../../src/test/java/AllgemeinTest.java
2023-03-08 16:51:48 +01:00
Victorious3
acf4569908 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-03-08 16:28:50 +01:00
Victorious3
a77c64cea2 Add new type placeholder to referenced set 2023-03-08 16:28:34 +01:00
pl@gohorb.ba-horb.de
034faf1f66 Merge branch 'targetBytecode' of gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-03-08 16:02:50 +01:00
pl@gohorb.ba-horb.de
88db5016bf modified: src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
logFile auf false gesetzt
2023-03-08 16:02:24 +01:00
Victorious3
3a05912dfe Whoops 2023-03-08 15:05:53 +01:00
Victorious3
40b04a4877 Remove print statement 2023-03-08 15:03:59 +01:00
Victorious3
04b509613f Add test and fix constructors return value being used 2023-03-08 14:59:40 +01:00
pl@gohorb.ba-horb.de
cdd4cd9968 modified: ../src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
Tenaeren Operator fuer log-File eingefuegt
2023-03-08 14:26:08 +01:00
pl@gohorb.ba-horb.de
62e022c2f7 modified: ../../../src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java 2023-03-07 16:36:29 +01:00
pl@gohorb.ba-horb.de
506fd0dc0e new file: ../../AllgemeinTest/Assign.jav
modified:   ../../AllgemeinTest/Pair.jav
	modified:   ../../AllgemeinTest/UseWildcardPair.jav
	modified:   ../../../src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/TypeGenerator.java
? extends Object nochmals angepasst

	modified:   ../../../src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
	modified:   ../../../src/test/java/AllgemeinTest.java
2023-03-07 16:34:34 +01:00
pl@gohorb.ba-horb.de
1c31b6d769 new file: ../../AllgemeinTest/Pair.jav
new file:   ../../AllgemeinTest/UseWildcardPair.jav
	modified:   ../../../src/test/java/AllgemeinTest.java
2023-03-07 08:51:31 +01:00
pl@gohorb.ba-horb.de
2d82dc1ae4 modified: src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/TypeGenerator.java
Object -> java.lang.Object
2023-03-01 23:31:07 +01:00
pl@gohorb.ba-horb.de
9606dc7b26 new file: resources/AllgemeinTest/CaptureConversion.jav
modified:   src/test/java/AllgemeinTest.java
Campture Conversion Test in Allgemeintest eingefuegt
2023-03-01 18:41:46 +01:00
Victorious3
d79d2d28b1 Ignore Box test 2023-03-01 16:33:59 +01:00
Victorious3
3eebfdc9d9 Fix POP2 not being called for double and long! 2023-03-01 16:33:03 +01:00
pl@gohorb.ba-horb.de
ba66f29fba modified: ../../../../resources/bytecode/javFiles/OLFun.jav 2023-03-01 16:08:42 +01:00
Victorious3
ffdedd4f99 Add OL tests 2023-03-01 15:55:15 +01:00
Victorious3
9500deaf3d Remove debug printout 2023-03-01 15:30:20 +01:00
Victorious3
11eb03cdf0 Split up equality 2023-03-01 14:55:13 +01:00
Victorious3
3de89a5cfa Object as default bound 2023-03-01 12:02:01 +01:00
Victorious3
c0348ed304 txGenerics 2023-03-01 11:23:00 +01:00
Victorious3
1ad4cfcb21 Let lambda functions use Object instead of generic parameters 2023-03-01 10:49:03 +01:00
Victorious3
374d2e811b Generate attribute for JavaTX 2023-03-01 10:27:19 +01:00
Victorious3
68034ed434 Fix FunNGenerator 2023-02-23 18:52:29 +01:00
Victorious3
a92172c9da Start working on a JavaTX signature attribute 2023-02-21 14:05:21 +01:00
Victorious3
24bbce8265 Fix test cases for new inputs 2023-02-21 14:04:53 +01:00
Victorious3
84a5ed2cc3 Fix inner type variables 2023-02-21 11:31:28 +01:00
Victorious3
b58b6c2288 Fixes for TPH4 2023-02-21 10:28:00 +01:00
Victorious3
99c46bf37f Fix console interface 2023-02-14 11:36:08 +01:00
pl@gohorb.ba-horb.de
5058315a1b modified: ../../../../../resources/insertGenericsJav/TestTwoArgs.jav
Typen korrigiert
2023-02-13 21:20:40 +01:00
pl@gohorb.ba-horb.de
60d5da6f24 modified: ../../../../../resources/insertGenericsJav/TestTwoArgs.jav
Ergebnisse als Kommentare eingefuegt.
2023-02-13 18:39:16 +01:00
Vic Nightfall
29f654279b Fix codegen a bit, and add missing constraints 2023-02-10 14:54:44 +01:00
pl@gohorb.ba-horb.de
239698c8d6 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
etwas aufgeraeumt
2023-02-08 17:39:45 +01:00
pl@gohorb.ba-horb.de
4074273ecb Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-02-08 16:53:30 +01:00
pl@gohorb.ba-horb.de
2d117e24cf modified: src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnify2Task.java
modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
methodsignature so eingerichtet, dass die Constraints erst am Ende hinzugefuegt werden.
2023-02-08 16:52:23 +01:00
Victorious3
1c2e868589 Fix removing inner type variables 2023-02-07 12:22:37 +01:00
pl@gohorb.ba-horb.de
d39fd64f0f Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-02-02 14:50:18 +01:00
pl@gohorb.ba-horb.de
e699fc36ae modified: src/main/java/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java
modified:   src/main/java/de/dhbwstuttgart/syntaxtree/visual/OutputGenerator.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/constraints/Constraint.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/constraints/Pair.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/RuleSet.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnify2Task.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
2023-02-02 14:49:30 +01:00
Victorious3
64ec7989b4 Continue with eliminating inner type variables 2023-01-31 15:39:12 +01:00
Victorious3
5243b160f5 Didn't want to remove this 2023-01-31 15:00:09 +01:00
Victorious3
62fad15b6f We actually need the signature of the class 2023-01-31 14:53:02 +01:00
Victorious3
21fb477ee1 These are the defaults, actually 2023-01-31 14:25:37 +01:00
Victorious3
baec9999db Don't append new class files, overwrite them 2023-01-31 14:21:16 +01:00
Victorious3
a7720fbf20 Don't append new class files, overwrite them 2023-01-31 13:49:19 +01:00
pl@gohorb.ba-horb.de
0c9612a2ea modified: ../../../main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java 2023-01-31 11:18:52 +01:00
Victorious3
dabe7f269c Consider nested type variables for signature (usage) 2023-01-24 16:24:24 +01:00
Victorious3
a9f69ead5c Use signature in methodcall 2023-01-24 15:11:31 +01:00
pl@gohorb.ba-horb.de
04508a85f1 Bei NewClass ReturnType hinzuefuegt
modified:   src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
2023-01-24 14:35:51 +01:00
Victorious3
9dca8ccdaa Fix parameter types in super call 2023-01-24 12:27:30 +01:00
Victorious3
8250f0cb51 Didn't mean to remove that 2023-01-24 12:17:21 +01:00
Victorious3
a26f466471 Fix 2023-01-24 12:16:34 +01:00
pl@gohorb.ba-horb.de
dc4b1c7b4f Merge branch 'targetBytecode' of gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-01-24 12:06:16 +01:00
pl@gohorb.ba-horb.de
2448969426 In MethodCall argTypes durch signature ersetzt und ReturnType eingefuegt.
modified:   src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java
	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/statement/MethodCall.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
2023-01-24 12:05:26 +01:00
Victorious3
5e89ceeee8 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-01-24 11:55:55 +01:00
Victorious3
1ce180ce74 Change tests to umatch updated generics 2023-01-24 11:55:40 +01:00
pl@gohorb.ba-horb.de
2ab3becf44 Merge branch 'targetBytecode' of gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-01-24 11:32:05 +01:00
pl@gohorb.ba-horb.de
3b77a1271b modified: src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java 2023-01-24 11:31:55 +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
pl@gohorb.ba-horb.de
8dfce15850 new file: ../../AllgemeinTest/VectorNotObject.jav
new file:   ../../AllgemeinTest/WildcardCaptureConversionTest.jav
	modified:   ../../../src/test/java/AllgemeinTest.java
2023-01-23 11:51:05 +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
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
db089bea60 Forgot x here 2023-01-17 16:05:15 +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
Victorious3
268f2b72eb Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-01-17 11:59:19 +01:00
Victorious3
d9bb0037b8 Improve genericcs tests 2023-01-17 11:58:59 +01:00
pl@gohorb.ba-horb.de
e8eaa3ac6e Merge branch 'targetBytecode' of gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-01-12 12:06:03 +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
pl@gohorb.ba-horb.de
b9c7b888c1 Changes to be committed:
deleted:    src/test/java/targetast/Fun1$$.java
2023-01-11 11:14:49 +01:00
pl@gohorb.ba-horb.de
55a6f3e434 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-01-11 11:13:19 +01:00
pl@gohorb.ba-horb.de
41d76533c0 modified: src/test/java/targetast/TestCodegen.java
modified:   src/test/java/targetast/TestGenerics.java
2023-01-11 11:13:04 +01:00
pl@gohorb.ba-horb.de
7220829d80 Merge branch 'targetBytecode' of gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-01-10 16:44:34 +01:00
pl@gohorb.ba-horb.de
a9ca1eb5b9 deleted: src/test/java/targetast/Fun1$$.java 2023-01-10 16:43:04 +01:00
Victorious3
7aa7f94110 Add user defined generics to methods 2023-01-10 16:06:57 +01:00
Victorious3
229c6c523d Change file path to make the tests happy 2023-01-10 13:48:21 +01:00
Vic Nightfall
96ffc12ebc Merge with bigRefactoring 2023-01-04 16:07:48 +01:00
Vic Nightfall
f714589728 Remove unused imports 2023-01-04 15:47:04 +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
pl@gohorb.ba-horb.de
7d50ddab51 Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bigRefactoring 2022-12-05 17:23:06 +01:00
pl@gohorb.ba-horb.de
9310882a28 modified: resources/bytecode/javFiles/VectorAdd.jav 2022-12-05 17:22:35 +01:00
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
pl@gohorb.ba-horb.de
462d791712 Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bigRefactoring 2022-11-15 16:59:32 +01:00
pl@gohorb.ba-horb.de
3df7df9802 modified: src/test/resources/bytecode/javFiles/VectorAdd.jav 2022-11-15 16:50:43 +01:00
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
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
pl@gohorb.ba-horb.de
2f3d3e1bb9 new file: S2021_Etienne_Zink.pdf 2022-07-08 12:30:55 +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
8e80cc2985 Add TargetExpression 2022-03-30 03:17:55 +02:00
f03d3f5e64 Merge branch 'refactorToAPIs' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into refactorToAPIs 2022-03-29 19:25:13 +02:00
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
469 changed files with 7491 additions and 39313 deletions

11
Makefile Normal file
View File

@@ -0,0 +1,11 @@
full:
mvn -DskipTests package
cp target/JavaTXcompiler-0.1-jar-with-dependencies.jar target/JavaTXcompiler-0.1-jar-with-dependencies_full.jar
NoMinMax:
mvn -DskipTests package
cp target/JavaTXcompiler-0.1-jar-with-dependencies.jar target/JavaTXcompiler-0.1-jar-with-dependencies_NoMinMax.jar
NoOpt:
mvn -DskipTests package
cp target/JavaTXcompiler-0.1-jar-with-dependencies.jar target/JavaTXcompiler-0.1-jar-with-dependencies_NoOpt.jar

View File

@@ -1,5 +1,6 @@
Stand: 24.5.21
bigRefactoring: Master-Brach
targetBytecode: Neuer Codegenerator mit generated generics Daniel
bigRefactoringUnifyComment: Dokumentation Unify, Martin
bytecodeGenericsSecond: Generated Generics, Ali, Martin
inferWildcards, Wildcards, Till

Binary file not shown.

62
pom.xml
View File

@@ -17,10 +17,11 @@ http://maven.apache.org/maven-v4_0_0.xsd">
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.antlr/antlr4 -->
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr4</artifactId>
<version>4.8-1</version>
<version>4.11.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
@@ -43,60 +44,44 @@ http://maven.apache.org/maven-v4_0_0.xsd">
<artifactId>asm</artifactId>
<version>7.0</version>
</dependency>
<!-- <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm-all</artifactId>
<version>[4.0.0,)</version> </dependency> -->
<!-- <dependency> <groupId>org.bitbucket.mstrobel</groupId> <artifactId>procyon-reflection</artifactId>
<version>[0.5.32,)</version> </dependency> -->
</dependencies>
<build>
<directory>target</directory>
<outputDirectory>target/classes</outputDirectory>
<finalName>${project.artifactId}-${project.version}</finalName>
<testOutputDirectory>target/test-classes</testOutputDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
<compilerArgs>--enable-preview</compilerArgs>
<source>19</source>
<target>19</target>
</configuration>
</plugin>
<!-- plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<executable>/home/michael/programs/jdk/jdk8u232-b09/bin/javac</executable>
<compilerVersion>1.8</compilerVersion>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin -->
<plugin>
<groupId>org.antlr</groupId>
<artifactId>antlr4-maven-plugin</artifactId>
<version>4.8-1</version>
<version>4.11.1</version>
<executions>
<execution>
<id>antlr</id>
<goals>
<goal>antlr4</goal>
</goals>
<configuration>
<sourceDirectory>src/main/antlr4/java8</sourceDirectory>
<outputDirectory>${project.basedir}/src/main/java/de/dhbwstuttgart/parser/antlr</outputDirectory>
<arguments>
<argument>-package</argument>
<argument>de.dhbwstuttgart.parser.antlr</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>de.dhbwstuttgart.core.ConsoleInterface</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
@@ -127,11 +112,8 @@ http://maven.apache.org/maven-v4_0_0.xsd">
</repository>
</repositories>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<tycho.version>0.23.0</tycho.version>
<maven.compiler.source>19</maven.compiler.source>
<maven.compiler.target>19</maven.compiler.target>
<mainClass>de.dhbwstuttgart.core.ConsoleInterface</mainClass>
</properties>
<distributionManagement>

View File

@@ -0,0 +1,10 @@
class Assign {
assign(x, y) {
x = y;
}
assign2(x, y) {
assign(x,y);
}
}

View File

@@ -0,0 +1,13 @@
class Box<A>{
void m(A a){}
}
class B { }
class Box_Main extends B {
m(b) {
b.m(new Box_Main());
b.m(new B());
}
}

View File

@@ -0,0 +1,13 @@
class Box<A>{
A f;
}
class B { }
class Box_Main extends B {//Fehler Bugzilla Bug 230
m(b) {
b.f = new Box_Main();
b.f = new B();
}
}

View File

@@ -0,0 +1,18 @@
import java.lang.Object;
import java.util.Vector;
class CaptureConversion {
<X> void assign(Vector<X> v1, Vector<X> v2) {
v1 = v2;
}
void main() {
Vector<?> v1;
v1 = new Vector<Object>();
Vector<? extends Object> v2;
v2 = new Vector<Object>();
v1 = v2;
assign(v1, v2);
}
}

7
resources/AllgemeinTest/M.jav Executable file
View File

@@ -0,0 +1,7 @@
import java.util.List;
class M {
void m(p, p2){
new addList().addLists(p, p2);
}
}

View File

@@ -0,0 +1,36 @@
import java.util.Vector;
import java.lang.Boolean;
import java.lang.Object;
class Pair<U, T> {
U a;
T b;
make(x) {
var ret = new Pair<>();
ret.a = x.elementAt(0);
ret.b = x.elementAt(1);
return ret;
}
eq(a, b) {
b = a;
return a == b;
}
compare( p) {
return eq(p.a, p.b);
//return p.a == p.b;
}
/*
void m(Pair<?, ?> p, Vector<?> b)
{
//this.compare(p); //1, type incorrect
this.compare(this.make(b)); //2, OK
}
*/
}

View File

@@ -2,6 +2,12 @@ class Pair<T, U> {
T x;
U y;
public Pair() { }
public Pair(T x, U y) {
this.x = x;
this.y = y;
}
public T fst () {
return x;
}

View File

@@ -0,0 +1,19 @@
import java.util.Vector;
import java.util.Stack;
class Put {
putElement(ele, v) {
v.addElement(ele);
}
putElement(ele, s) {
s.push(ele);
}
main(ele, x) {
putElement(ele, x);
}
}

View File

@@ -0,0 +1,4 @@
class Test {
a;
Test b;
}

View File

@@ -0,0 +1,12 @@
import java.util.ArrayList;
class TestSubTypless {
m(a){
var l = new ArrayList<>();
l.add(a);
return m2(l).get(0);
}
m2(a){
return m(a);
}
}

View File

@@ -0,0 +1,3 @@
class Twice {
twice = f -> x -> f.apply(f.apply(x));
}

View File

@@ -0,0 +1,12 @@
import java.util.Vector;
import java.lang.Boolean;
class UseWildcardPair{
void m(Pair<?, ?> p, Vector<?> b)
{
p.compare(p); //1, type incorrect
p.compare(p.make(b)); //2, OK
}
}

View File

@@ -0,0 +1,5 @@
class Var {
var(x) { var y; }
}

View File

@@ -0,0 +1,15 @@
import java.util.Vector;
import java.lang.Integer;
public class VectorConstAdd {
vectorAdd(v1) {
var i = 0;
var erg = new Vector<>();
while (i < v1.size()) {
erg.addElement(v1.elementAt(i) + 1);
i++;
}
return erg;
}
}

View File

@@ -0,0 +1,9 @@
import java.util.Vector;
class VectorNotObject {
vectorAddAll(v1, v2) {
v1.addAll(v2);
return v1;
}
}

View File

@@ -0,0 +1,16 @@
import java.util.Vector;
import java.lang.Integer;
import java.lang.String;
class WildcardCaptureConversionTest {
m(x, y ,z) {
x = new Vector<Integer>();
y = new Vector<String>();
x.add(1);
y.add("2");
//Integer i = x.elementAt(0);
//String s = y.elementAt(0);
return z.vectorAddAll(x, y);
}
}

View File

@@ -0,0 +1,8 @@
class Wildcard_Andi {
Test<? extends A> ex = new Test<>();
Test<? super A> sup = new Test<>();
}

View File

@@ -0,0 +1,8 @@
import java.util.List;
class addList {
addLists(a, b){
a.add(b.get(0));
b.add(a.get(0));
}
}

View File

@@ -0,0 +1,22 @@
import java.util.List;
import java.lang.Integer;
import java.lang.Object;
import java.lang.Boolean;
class wildcardPair {
make(l) {
var p = new Pair(l.get(0), l.get(1));
return p;
}
//<X>Boolean compare(Pair<X, X> x) { return true; }
void m(l) {
Object o = l.get(0);
//Pair<? extends Object, ? extends Object> p;
//List<?> b;
//this.compare(p); //1, type incorrect
make(l);
//this.compare(this.make(b)); //2, OK
}
}

View File

@@ -0,0 +1,7 @@
class B { }
class Box_Main extends B {
m(b) {
b.m(new Box_Main());
b.m(new B());
}
}

View File

@@ -0,0 +1,3 @@
class Box<A> {
void m(A a) { }
}

View File

@@ -0,0 +1,6 @@
class Cycle {
m(x, y) {
y = x;
x = y;
}
}

View File

@@ -1,3 +1,6 @@
import java.lang.String;
import java.lang.Integer;
class Generics2<B extends String>{
<B extends Integer> B m1(B b){
return b;

View File

@@ -0,0 +1,7 @@
import java.lang.String;
import java.lang.Integer;
import java.util.List;
class Generics3<B extends String & List<Integer>> {
}

View File

@@ -0,0 +1,12 @@
import java.lang.String;
import java.lang.Integer;
class Generics4<B extends String> {
<C extends Integer> C m1(C b){
return b;
}
m2(x) {
return m1(x);
}
}

View File

@@ -0,0 +1,65 @@
public class Inf {
m(x,y,a){
var z;
var v;
var w;
var b;
y=x;
z=x;
v=y;
w=y;
y=a;
b=a;
var c;
var d;
c = v;
d = v;
}
}
/*
TPH M m(TPH N x, TPH O y, TPH P a)({
TPH Q z;
TPH R v;
TPH S w;
TPH T b;
(y)::TPH O = (x)::TPH N;
(z)::TPH Q = (x)::TPH N;
(v)::TPH R = (y)::TPH O;
(w)::TPH S = (y)::TPH O;
(y)::TPH O = (a)::TPH P;
(b)::TPH T = (a)::TPH P;
TPH U c;
TPH V d;
(c)::TPH U = (v)::TPH R;
(d)::TPH V = (v)::TPH R;
return;
})::TPH W
Inf()({
super(());
})::TPH Z
}
// c::U d::V
// \ /
// v::R w::S
// \ /
// z::Q y::O b::T
// \ / \ /
// x::N a::P
RESULT Final: [[(TPH N < TPH O), (TPH R < TPH V), (TPH N < TPH Q), (TPH P < TPH O), (TPH R < TPH U), (TPH M = void), (TPH O < TPH S), (TPH O < TPH R), (TPH P < TPH T)]]
Simplified constraints: [(TPH O < TPH S), (TPH P < TPH O), (TPH O < TPH R), (TPH P < TPH T), (TPH N < TPH O), (TPH N < TPH Q)]
m: [(TPH DDV = java.lang.Object), (TPH DDX = java.lang.Object), (TPH DDX < TPH DDV), (TPH N < TPH DDX), (TPH P < TPH DDX)]
Class Inf: []
Inf: []
Unify nach Oder-Constraints-Anpassung:
UND:[(void =. M, , -1 WC: false, IT: false), (N <. O, 1 WC: false, IT: false, 1 WC: false, IT: false), (P <. O, 1 WC: false, IT: false, 1 WC: false, IT: false), (N <. Q, 1 WC: false, IT: false, 0 WC: true, IT: false), (O <. S, 1 WC: false, IT: false, 0 WC: true, IT: false), (O <. R, 1 WC: false, IT: false, 0 WC: true, IT: false), (P <. T, 1 WC: false, IT: false, 0 WC: true, IT: false)]
isInherited = false
isStatement = false
ODER:
*/

View File

@@ -0,0 +1,6 @@
class Infimum {
m(x, y, z) {
y = x;
z = x;
}
}

View File

@@ -1,6 +1,6 @@
import java.util.Vector;
import java.lang.Integer;
import java.lang.Float;
//import java.lang.Float;
//import java.lang.Byte;
//import java.lang.Boolean;

View File

@@ -4,14 +4,16 @@ import java.lang.Double;
import java.util.Vector;
import java.lang.Boolean;
public class OLFun {
//f = x -> {return x + x;};
m(f, x) {
x = f.apply(x+x);
x = f.apply(x+x);
return x;
}
m2(y) {
m(x -> x * 2, y);
return;
}
}

View File

@@ -0,0 +1,13 @@
import java.lang.String;
import java.lang.Integer;
import java.lang.Double;
import java.util.Vector;
import java.lang.Boolean;
public class OLFun2 {
x;
m(f){
x = f.apply(x + x);
}
}

View File

@@ -0,0 +1,32 @@
import java.util.Vector;
import java.lang.Boolean;
import java.lang.Object;
class Pair<U, T> {
U a;
T b;
make(x) {
var ret = new Pair<>();
ret.a = x.elementAt(0);
ret.b = x.elementAt(1);
return ret;
}
/*
eq(a, b) {
b = a;
return a == b;
}
compare( p) {
return eq(p.a, p.b);
//return p.a == p.b;
}
void m(Pair<?, ?> p, List<? extends Eq> b)
{
//this.compare(p); //1, type incorrect
this.compare(this.make(b)); //2, OK
}
*/
}

Some files were not shown because too many files have changed in this diff Show More