Compare commits

..

371 Commits

Author SHA1 Message Date
9801f8a5ae Merge branch 'targetBytecode' of ssh://gitea.hb.dhbw-stuttgart.de:2221/JavaTX/JavaCompilerCore into targetBytecode 2024-08-07 13:34:03 +02:00
f0b9bea23e Fix (le null check) 2024-08-07 13:33:40 +02:00
ce4347dd96 Fix Y Test 2024-08-06 12:42:09 +02:00
7785c2d0aa Fix equals method of ClassOrInterface 2024-08-05 11:54:13 +02:00
a654f55deb Fix yTest 2024-07-25 17:05:27 +02:00
pl@gohorb.ba-horb.de
7037bdf9ef modified: src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/FCGenerator.java 2024-07-24 23:31:13 +02:00
pl@gohorb.ba-horb.de
d9860497df Merge branch 'targetBytecode' of ssh://gitea.hb.dhbw-stuttgart.de:2222/JavaTX/JavaCompilerCore into targetBytecode
src/test/java/AllgemeinTest.java
2024-07-24 23:25:07 +02:00
pl@gohorb.ba-horb.de
fdffc11580 modified: resources/AllgemeinTest/Box.jav
deleted:    resources/bytecode/javFiles/Box.java
	modified:   src/test/java/AllgemeinTest.java
2024-07-24 23:23:39 +02:00
pl@gohorb.ba-horb.de
c10de35ca2 new file: resources/AllgemeinTest/Bar.java 2024-07-24 18:28:07 +02:00
pl@gohorb.ba-horb.de
56b73332c0 modified: pom.xml
new file:   resources/AllgemeinTest/Foo.jav
	modified:   src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/FCGenerator.java
2024-07-24 18:27:32 +02:00
pl@gohorb.ba-horb.de
bdcd5ea3cf Merge branch 'targetBytecode' of https://gitea.hb.dhbw-stuttgart.de/JavaTX/JavaCompilerCore into targetBytecode 2024-07-24 12:35:43 +02:00
edafbbc5a0 Fix 2024-07-23 15:33:09 +02:00
ba8810e5df I don't know why isFunctionalInterface returns true on things that aren't even interfaces but here we go 2024-07-19 18:04:33 +02:00
63493ed0f7 Make lambdas castable 2024-07-19 17:26:39 +02:00
pl@gohorb.ba-horb.de
4dba867f9e Merge branch 'targetBytecode' of ssh://gitea.hb.dhbw-stuttgart.de:2222/JavaTX/JavaCompilerCore into targetBytecode 2024-06-14 11:28:05 +02:00
pl@gohorb.ba-horb.de
06caf0ff66 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2024-06-14 11:27:14 +02:00
ec92b5d5e1 Work on Bug 2024-06-13 17:23:19 +02:00
091a6b8f1f Fix merge conflict 2024-06-07 12:16:03 +02:00
60a1f3b220 Merge branch 'targetBytecode' of https://gitea.hb.dhbw-stuttgart.de/JavaTX/JavaCompilerCore into targetBytecode 2024-06-07 12:04:01 +02:00
7e6aeaf728 Make Function Types implement others to allow Subtyping, fixes 2024-06-07 12:03:16 +02:00
Ruben
ea217d16d5 Revert "feat: changes in Grammar and Parser so typeless Recs get recognised"
This reverts commit 7650813bb72f5a0f197d9ec23d2e82d083bb4827.
2024-06-06 12:07:32 +02:00
Ruben
7650813bb7 feat: changes in Grammar and Parser so typeless Recs get recognised 2024-06-06 12:06:28 +02:00
pl@gohorb.ba-horb.de
5d03995f10 Merge branch 'targetBytecode' of https://gitea.hb.dhbw-stuttgart.de/JavaTX/JavaCompilerCore into targetBytecode 2024-05-27 17:44:29 +02:00
pl@gohorb.ba-horb.de
1bc58573c7 modified: src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
modified:   src/test/java/AllgemeinTest.java
2024-05-27 17:35:59 +02:00
4880527d4d Give an exception if a method has been duplicated 2024-05-27 15:51:48 +02:00
50f2a29e1e Merge branch 'targetBytecode' of https://gitea.hb.dhbw-stuttgart.de/JavaTX/JavaCompilerCore into targetBytecode 2024-05-27 12:17:24 +02:00
99f219de3b Work on , partially fixed 2024-05-27 12:14:00 +02:00
12bb613eb0 Fix test cases 2024-05-24 12:46:26 +02:00
141e1cbc94 Make wildcard imports work again 2024-05-23 11:39:56 +02:00
julian
5b4ea5a0c5 fix and add support for glob syntax in classpath input 2024-05-22 23:47:50 +02:00
b824680508 Fix 2024-05-22 12:55:47 +02:00
295bf079b9 Add continue and do-while, close 2024-05-21 12:14:12 +02:00
974582f7e5 Fix 2024-05-17 10:49:45 +02:00
2ded0c9044 Add public 2024-05-15 16:46:15 +02:00
pl@gohorb.ba-horb.de
c3343959c5 modified: ../resources/AllgemeinTest/Box.jav
modified:   ../resources/bytecode/javFiles/Box.jav
	modified:   ../src/test/java/AllgemeinTest.java
	modified:   ../src/test/java/TestComplete.java
2024-05-15 14:26:42 +02:00
pl@gohorb.ba-horb.de
39f04b1a1b Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2024-05-14 22:53:52 +02:00
Pluemicke Martin
3d2b935c60 Merge branch 'targetBytecode' of https://gitea.hb.dhbw-stuttgart.de/JavaTX/JavaCompilerCore into targetBytecode 2024-05-14 22:53:08 +02:00
Pluemicke Martin
db01b0c8dd new file: resources/AllgemeinTest/Box.jav 2024-05-14 22:50:20 +02:00
662756ac18 Merge branch 'targetBytecode' of https://gitea.hb.dhbw-stuttgart.de/JavaTX/JavaCompilerCore into targetBytecode 2024-05-10 16:51:10 +02:00
b0bf41968e Bug325 2024-05-10 16:50:06 +02:00
pl@gohorb.ba-horb.de
2221b559ca Implementierungen von Interfaces eingefuegt und Overriding ersetzt durch implementierung
modified:   ../src/main/java/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java

Overriding ersetzt durch implementierung (Umbennennung)
	modified:   ../resources/bytecode/javFiles/Matrix.jav
	modified:   ../src/main/java/de/dhbwstuttgart/syntaxtree/Method.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/typeAlgo/TYPEStmt.java
	modified:   ../src/main/java/de/dhbwstuttgart/typeinference/unify/RuleSet.java
	modified:   ../src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
2024-05-10 14:16:23 +02:00
pl@gohorb.ba-horb.de
021b7ec9fe Fehler vom vorigen korriert Commit
modified:   ../resources/bytecode/javFiles/Matrix.jav
	modified:   ../src/main/java/de/dhbwstuttgart/typeinference/constraints/Constraint.java
	modified:   ../src/main/java/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java
	modified:   ../src/test/java/TestComplete.java
2024-05-08 09:07:22 +02:00
pl@gohorb.ba-horb.de
154d4823e4 isOverridden eingefuegt.
Problem beim Konvertioeren
	modified:   ../src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
	modified:   ../src/main/java/de/dhbwstuttgart/syntaxtree/Method.java
	modified:   ../src/main/java/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java
	modified:   ../src/main/java/de/dhbwstuttgart/typeinference/assumptions/MethodAssumption.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/typeAlgo/TYPEStmt.java
	modified:   ../src/main/java/de/dhbwstuttgart/typeinference/unify/RuleSet.java
	modified:   ../src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
	modified:   ../src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java
2024-05-08 00:14:21 +02:00
pl@gohorb.ba-horb.de
71dfe5d9e1 Bei diesem und vorigen Commit wurde der Bug

geloest.

1. src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
in der Methode copute wurden die methodSignatureConstraints der bereits zu Beginn
aufegloesten einer Oder Constraints in die Methodconstraints der Unifikation geschrieben
2. Elementtyp der linken Seiten der methodSignatureConstraints wurden von RefTypeOrTPHOrWildcardOrGeneric auf TypePlaceholder geaendert, weil dort nur TypePlaceholder geaendert.
3. src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java
in der Methode prepareBlock wurde der Typ des Rückgabewerts des supercalls von Void auf eine
Freshtpevar gesetzt.
4. src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
in der unify2-Methode wurde am Ende der Aufruf der Substitution nach Hinzufuegen der
Methodconstraints auskommentiert -> hat zu nicht geloesten Constraints gefuehrt.

	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
	modified:   src/test/java/TestComplete.java
2024-05-02 16:33:37 +02:00
pl@gohorb.ba-horb.de
58110c474a mathStrucInteger.jav funktioniert gerade nicht
modified:   resources/bytecode/javFiles/Matrix.jav
	modified:   src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/StatementGenerator.java
	modified:   src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java
	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/statement/MethodCall.java
	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/statement/NewClass.java
	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/statement/SuperCall.java
	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/statement/ThisCall.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/constraints/Constraint.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/ReferenceType.java
2024-05-02 00:13:45 +02:00
df2ec4b1ba Fix , convert captures to correct types 2024-04-30 16:55:40 +02:00
2c66a1d6e6 add class file 2024-04-29 10:27:23 +02:00
c76ee355d8 Add bug for 2024-04-29 10:25:01 +02:00
a5c314c5c5 Fix 2024-04-28 19:25:20 +02:00
cba35a4bec Don't load source files twice 2024-04-27 23:08:15 +02:00
b774281cbb Add Ternary, fix 2024-04-22 12:17:53 +02:00
9358130468 Fix package weirdness? See 2024-04-18 11:51:08 +02:00
708aa64283 Fix current directory not being added to path 2024-04-18 10:31:12 +02:00
c21e5202d6 Fix 2024-04-18 10:20:35 +02:00
b3bd5cde10 Fix tests 2024-04-15 16:44:34 +02:00
df78937ef3 Fix test case a bit 2024-04-15 16:18:25 +02:00
7fb4824f8d Add modulo, fix 2024-04-12 15:40:22 +02:00
e0d71a6003 fix console 2024-04-12 14:17:15 +02:00
49803385cf Fix optional parameters 2024-04-12 13:58:11 +02:00
39d02f792c Deal with multiple source files properly, don't throw all the constraints together 2024-04-12 10:48:13 +02:00
4fc78f494c More poking around 2024-04-10 10:22:34 +02:00
b752219d8c Throw exception if class doesn't exist 2024-04-10 10:03:59 +02:00
ec890356e4 Don't trim stack trace because some tests randomly fail and we need to know why 2024-04-10 09:58:01 +02:00
d405b0c3a2 Merge branch 'targetBytecode' of ssh://gitea.hb.dhbw-stuttgart.de:2222/JavaTX/JavaCompilerCore into targetBytecode 2024-04-10 09:42:47 +02:00
6c8657b7a8 Work on 2024-04-10 09:42:31 +02:00
pl@gohorb.ba-horb.de
bcce4cee19 modified: src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntacticSugar.java
Im Visitor ReturnFinder wuder nicht beruecksichtigt, dass auch in einem Lambda-Ausdruck ein Reurn stehen kann, welchen die umgebenden Block nicht beendet.
2024-04-09 18:25:26 +02:00
e6cd4038e2 Fix bytecode error when calling interface functions 2024-04-09 15:52:44 +02:00
e50f941b79 Merge branch 'targetBytecode' of ssh://gitea.hb.dhbw-stuttgart.de:2222/JavaTX/JavaCompilerCore into targetBytecode 2024-04-09 14:59:16 +02:00
cb7d0e22cc Fix 2024-04-09 14:58:43 +02:00
pl@gohorb.ba-horb.de
0d5be89310 modified: ../src/main/java/de/dhbwstuttgart/typeinference/unify/Match.java
modified:   ../src/test/java/TestComplete.java
2024-04-09 01:50:42 +02:00
0b7f07108f Fix 2024-04-08 14:25:41 +02:00
6b0816c1c4 Add test for 2024-04-08 14:02:57 +02:00
f66b9099f3 Fix 2024-04-08 13:51:49 +02:00
da74898f9d Fix 2024-04-08 13:18:27 +02:00
46a7f61234 Fix 2024-04-08 11:52:52 +02:00
e59accf7ee Fix 2024-04-08 11:40:46 +02:00
pl@gohorb.ba-horb.de
4b110244f2 new file: ../../AllgemeinTest/List.jav 2024-04-07 17:31:05 +02:00
pl@gohorb.ba-horb.de
e37040f367 Bug 307 gefixt
Changes to be committed:
	modified:   src/main/java/de/dhbwstuttgart/typeinference/typeAlgo/TYPEStmt.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
	modified:   src/test/java/TestComplete.java
2024-04-03 00:11:01 +02:00
6850a8fa21 Decouple unify from the rest of the code 2024-03-28 10:35:34 +01:00
877e5ed38a Reversing alone would disturb the parameters () 2024-03-27 14:52:15 +01:00
82b4450857 Fix 298 for real this time? 2024-03-27 14:39:43 +01:00
b70e435120 Work on issue 2024-03-27 12:21:57 +01:00
3b14cd609f Revert "Get rid of mutable state, hopefully fix "
This reverts commit bc61fc2e1d88d25a5329cf75f27af098bf9e9391.
2024-03-27 09:57:21 +01:00
8fdfbf875b Fix maybe? 2024-03-26 17:31:48 +01:00
bc61fc2e1d Get rid of mutable state, hopefully fix 2024-03-26 16:54:24 +01:00
62f2e05f35 Add test case for 2024-03-26 11:04:03 +01:00
606ce8b82d Implement AND/OR/XOR, fix 2024-03-26 10:54:32 +01:00
c84befae51 Add Negation operator (fixes ) 2024-03-25 17:05:20 +01:00
7f3c1686ec Fix 2024-03-25 15:10:47 +01:00
43da2ffbdc Fix 2024-03-25 14:49:18 +01:00
9472b5c86f Types are weird in this one 2024-03-25 13:51:56 +01:00
7cb0e9dbb7 Taking the super methods parameters should only happen for the types, fix 2024-03-25 13:43:30 +01:00
e07521d9b6 Fix 2024-03-25 12:14:03 +01:00
c2ee12397f Work on issue 2024-03-22 14:54:23 +01:00
e6321ff8bc Fix gtvs being strange, 2024-03-21 17:40:42 +01:00
786e0a7a23 Fix and also call private methods correctly 2024-03-21 11:49:16 +01:00
1c63321b30 Fix 2024-03-20 14:37:15 +01:00
1f74345324 Upload test for 2024-03-19 15:19:57 +01:00
518f58e08f Maybe null here was in fact right? 2024-03-18 13:40:37 +01:00
0acfe6c0d4 Implement ThisCall (fix ) 2024-03-18 13:29:53 +01:00
c07d4d36e9 Fix wrong type conversion, see 2024-03-18 12:14:03 +01:00
01e374eadd Fix 2024-03-18 10:14:40 +01:00
a1b5c0541b Fix NPE in generics, probably because interface method don't have code 2024-03-15 17:14:27 +01:00
66c8c307b0 Fix recursive packages 2024-03-14 15:23:31 +01:00
ebd6a00a39 Fix the rest of the test cases 2024-03-14 14:38:02 +01:00
f57d89c966 Manage imports per source file instead of globally, should fix 2024-03-14 13:51:20 +01:00
f9188e65ca Public all the things 2024-03-14 13:50:56 +01:00
e354838491 Use wildcard constraint in foreach, fixes and hopefully doesn't break anything 2024-03-14 10:23:19 +01:00
e17f08263e Fix <?> Wildcard not working in STG, fixes 2024-03-13 11:42:32 +01:00
2cb84f9e2b Ignore annotations in STG, fix 2024-03-13 11:29:17 +01:00
83ae05ea4a Fix 2024-03-13 11:21:00 +01:00
26452eb5de Fix 2024-03-11 16:16:10 +01:00
38827544c9 Split up test and compile to improve readability 2024-03-08 17:33:49 +01:00
ff905390e8 Limit stack traces 2024-03-08 17:30:01 +01:00
2d9094ec4e Redirect test output to file in order for the test output to be visible on gitea 2024-03-08 17:20:54 +01:00
e27eb3a3fe Fix 2024-03-08 16:58:00 +01:00
73ca790711 Create folder 2024-03-08 15:26:40 +01:00
452064398a Update actions 2024-03-08 15:08:45 +01:00
20d6cb8eb9 Remove sudo? 2024-03-08 15:05:02 +01:00
b7f1db5d80 Update workflow 2024-03-08 15:00:17 +01:00
b327518921 Update workflow 2024-03-08 14:54:58 +01:00
945b47c762 Fix 2024-03-08 14:42:49 +01:00
65a71ebe0c Add test for and partially fix it 2024-03-08 14:00:52 +01:00
deeb67c4f7 Add test workflow 2024-03-07 14:41:50 +01:00
c92edeaf2a Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode 2024-03-07 10:44:37 +01:00
01e3d31f1a Add Object methods to every interface, fixes 2024-03-06 14:10:57 +01:00
a90e9df1e8 Fix regression 2024-03-05 10:26:30 +01:00
pl@gohorb.ba-horb.de
1c1f5ae29f Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2024-03-04 19:37:40 +01:00
pl@gohorb.ba-horb.de
8ab5bbd831 modified: src/test/java/AllgemeinTest.java 2024-03-04 19:37:10 +01:00
1877d7f170 Add test for 2024-03-04 12:19:56 +01:00
388614b220 Add testcase for LamRunnable 2024-03-04 12:00:29 +01:00
f2e43f180c Add test for issue 2024-03-04 11:51:28 +01:00
59585296b0 Fix single expressions not converting to blocks. Fixes 2024-03-04 11:30:36 +01:00
f11d4b0716 Fix for loop overflowing the stack. Fixes 2024-03-04 10:58:26 +01:00
584690596e Add filename to debug output, closes 2024-03-01 17:34:40 +01:00
9c6372c3ba Thats probably important 2024-02-28 13:22:13 +01:00
688358aa33 Add more debug help 2024-02-28 13:16:32 +01:00
a60282414c Add location information to constraints 2024-02-27 16:25:47 +01:00
75b9020cf9 Fix up Character 2024-02-26 15:02:15 +01:00
e88d4428c5 Fix constructor overloads getting picked with the wrong arity 2024-02-05 15:24:06 +01:00
dcfafe5995 Fix null literal 2024-02-05 14:46:00 +01:00
a035589647 Implement throw 2024-02-01 11:58:08 +01:00
9da763b361 Add instanceof 2024-01-31 17:27:18 +01:00
700ea125fc Throw different exception 2024-01-30 15:46:02 +01:00
f18903834e Fix super calls 2024-01-23 14:00:42 +01:00
b80cc726c8 Add ForEach loop 2024-01-19 16:29:59 +01:00
pl@gohorb.ba-horb.de
6cc40162da Merge branch 'targetBytecode' of gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-12-15 13:49:35 +01:00
pl@gohorb.ba-horb.de
71899ac673 Please enter the commit message for your changes. Lines starting
with '#' will be ignored, and an empty message aborts the commit.
2023-12-15 13:47:25 +01:00
pl@gohorb.ba-horb.de
a84d1ffdd7 modified: ../src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
Resultmodell aktiviert
	modified:   ../src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
a < void und void < a => a = void.
2023-11-08 18:28:54 +01:00
pl@gohorb.ba-horb.de
a3d63a0266 modified: ../src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
modified:   ../src/test/java/TestComplete.java
2023-11-08 18:10:56 +01:00
pl@gohorb.ba-horb.de
dcc2da85c5 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-11-07 00:13:53 +01:00
pl@gohorb.ba-horb.de
6f193b19ab modified: src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java
modified:   src/test/java/TestComplete.java
2023-11-07 00:13:43 +01:00
1c55954e5c Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-11-06 12:31:27 +01:00
ec04f01a10 Allow relative paths by getting the absolute file (seriously Java) 2023-11-06 12:30:42 +01:00
pl@gohorb.ba-horb.de
78a2fddc21 modified: ../../../../../resources/bytecode/javFiles/Cycle.class 2023-11-03 20:30:22 +01:00
pl@gohorb.ba-horb.de
44f8899157 Merge branch 'targetBytecode' of gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-11-03 20:26:41 +01:00
pl@gohorb.ba-horb.de
d1a6dcbbac modified: core/JavaTXCompiler.java
modified:   typeinference/constraints/ConstraintSet.java
	modified:   typeinference/unify/TypeUnifyTask.java
2023-11-03 20:25:17 +01:00
pl@gohorb.ba-horb.de
15150fca9e modified: ../../../src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java 2023-11-03 18:56:31 +01:00
pl@gohorb.ba-horb.de
fba7f0ee81 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-11-03 18:42:09 +01:00
pl@gohorb.ba-horb.de
e0da2a4c46 modified: Cycle.class
modified:   LambdaRunnable.jav
	modified:   ../../../src/test/java/TestComplete.java
2023-11-03 18:41:17 +01:00
f588ece7c3 Fix up runnable 2023-11-03 15:45:14 +01:00
9ad5b76542 Fix up bad error handling 2023-11-03 10:26:43 +01:00
3d2c699964 Fix up functional interface 2023-11-02 15:46:40 +01:00
f95c3c5fcf Fix up method resolution 2023-11-02 15:25:25 +01:00
4654ecacaf Some changes in how overload resolution works 2023-11-02 13:07:42 +01:00
1be27746e3 Allow Void as return type for Lambdas 2023-10-31 14:26:43 +01:00
pl@gohorb.ba-horb.de
c51190feef Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-10-27 21:19:30 +02:00
pl@gohorb.ba-horb.de
c4ce97f20c Anpassung zur Integration von Functional Interfaces und FunN$$-Typen
modified:   src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/FCGenerator.java
	modified:   src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java
	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/ClassOrInterface.java
	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/Record.java
	modified:   src/main/java/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/assumptions/FunNClass.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/RuleSet.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IFiniteClosure.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java
	modified:   src/test/java/targetast/ASTToTypedTargetAST.java
2023-10-27 21:17:52 +02:00
837317c84c Make System.out.println work 2023-10-27 15:28:46 +02:00
pl@gohorb.ba-horb.de
df852ef36e Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-10-27 14:33:21 +02:00
pl@gohorb.ba-horb.de
c00722823a Functional Interfaces und Funn&&-Typen integriert.
modified:   resources/bytecode/javFiles/LambdaRunnable.jav
	modified:   src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/FCGenerator.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/RuleSet.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IFiniteClosure.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/interfaces/IRuleSet.java
	modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java
	modified:   src/test/java/TestComplete.java
2023-10-27 14:29:27 +02:00
e31f1c59e1 Examples 2023-10-27 14:27:47 +02:00
5d0d7a6d94 Translate for loop 2023-10-24 17:34:06 +02:00
b372c6ac1c More work on static, references to other classes 2023-10-24 15:17:13 +02:00
124dea2e58 Static blocks (might be needed for something) 2023-10-24 12:05:19 +02:00
eaef00ff54 Static but no static blocks yet 2023-10-23 16:44:12 +02:00
892ba5fff0 Add interfaces 2023-10-19 17:02:22 +02:00
628f1631e8 Allow packages 2023-10-18 16:54:41 +02:00
0b815950e1 Remove empty files 2023-10-17 12:31:29 +02:00
f10e7e6d72 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-10-17 12:27:52 +02:00
700ecf3e5d Changes from weeks ago, needs review 2023-10-17 12:26:40 +02:00
pl@gohorb.ba-horb.de
f7c53fc6c3 modified: src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
Kommentar "In commit dfd91b5f8b7fca1cb5f302eec4b0ba3330271c9b eingefuegt" eingefuegt
2023-10-07 20:30:37 +02:00
pl@gohorb.ba-horb.de
9764ec6db1 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-10-07 07:24:59 +02:00
pl@gohorb.ba-horb.de
b21faa30fc new file: S2023_Luca_Trumpfheller.pdf 2023-10-05 15:52:48 +02:00
pl@gohorb.ba-horb.de
87f8b8799e modified: src/test/java/AllgemeinTest.java 2023-10-05 15:49:09 +02:00
Vic Nightfall
769f1bb677 Progress on implementing the basic case 2023-09-01 18:26:01 +02:00
pl@gohorb.ba-horb.de
5623fdc020 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-09-01 17:20:34 +02:00
pl@gohorb.ba-horb.de
dfd91b5f8b TESTEN OB DAS SINN MACHT
modified:   src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java
	modified:   src/test/java/AllgemeinTest.java
2023-09-01 17:18:51 +02:00
Vic Nightfall
3c43978c55 Less general type 2023-09-01 12:51:06 +02:00
Vic Nightfall
fb7b51a971 Point out what the goal translation is 2023-09-01 12:34:43 +02:00
56c360104b TripleTest 2023-08-30 11:28:17 +02:00
e414da3369 Simple record patterns in method headers 2023-08-18 17:15:15 +02:00
5f1f698530 Refactor 2023-08-18 15:15:40 +02:00
729e88bc6d Add test for instanceof 2023-08-18 11:35:01 +02:00
bffc7f9f1c Remove TypePattern and replace it with FormalParameter 2023-08-17 16:25:19 +02:00
011b272af6 Fix missing constraints 2023-08-17 16:15:38 +02:00
ee359da751 Refactor Patterns 2023-08-17 15:56:16 +02:00
6025e17186 Infer String/Integer for patterns 2023-08-17 15:22:53 +02:00
93d7aca9e6 Switch on Strings 2023-08-17 14:23:19 +02:00
677c784b6d Allow single expressions in switch expression 2023-08-17 13:26:30 +02:00
e69a367c33 Add printout 2023-08-17 10:17:09 +02:00
14d0475d59 Type inference for switch 2023-08-17 09:27:24 +02:00
762d344e42 Make switches work with set types 2023-08-16 17:13:28 +02:00
be5591f7dc Rename files for macos and windows 2023-08-15 17:17:17 +02:00
7193f5a646 Workaround for eclipse 2023-08-15 16:52:54 +02:00
f46c2ad0f7 New test case 2023-08-01 14:02:19 +02:00
b0f7a264c2 Implement records 2023-07-31 15:11:35 +02:00
4f3164a48a Allow the first patterns 2023-07-28 12:05:30 +02:00
be55d661cb Add classic switch 2023-07-27 10:02:28 +02:00
3de9fde672 Add new target ast nodes and test cases for switch 2023-07-26 15:47:30 +02:00
a0582e918b Merge 2023-07-25 15:06:15 +02:00
pl@gohorb.ba-horb.de
18429d9cf9 Iteration.jav Pair ausgeklammert 2023-07-18 11:45:17 +02:00
pl@gohorb.ba-horb.de
b65df7c390 Merge branch 'targetBytecode' of gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-07-18 11:44:43 +02:00
luca9913
22d1be5ea4 Fixed expected AST for Instanceof.jav 2023-07-17 19:55:16 +02:00
luca9913
18fc82f036 Merge branch 'patternMatching' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into patternMatching 2023-07-17 19:53:16 +02:00
luca9913
f5b843ec11 Extended instanceOfTest 2023-07-17 19:52:30 +02:00
luca9913
bad5d26969 Extended instanceOfTest 2023-07-17 19:50:58 +02:00
luca9913
951d741d90 Added test for Sealed classe and interface ASTs 2023-07-17 19:38:01 +02:00
luca9913
fe6c9858a2 Finalized test cases for new jav-files 2023-07-17 17:58:39 +02:00
luca9913
1df354d5f1 Modified InstanceOf to use Pattern 2023-07-17 17:49:28 +02:00
luca9913
6119bc92ed Corrected ASTPrinter for RecordPattern 2023-07-15 22:05:34 +02:00
luca9913
e8140b3160 Added method stubs in visitors for new AST nodes 2023-07-15 21:41:50 +02:00
luca9913
75789e574e Modified ASTPrinter to support new AST nodes for tests 2023-07-15 21:41:27 +02:00
luca9913
c0c46e197f Added sealed classes to AST 2023-07-14 08:52:51 +02:00
pl@gohorb.ba-horb.de
a0e6df7cfd new file: resources/AllgemeinTest/Twice2.jav
modified:   src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
	modified:   src/test/java/AllgemeinTest.java
2023-07-13 15:25:34 +02:00
luca9913
1643412f1b Added nestedPatterns 2023-07-12 21:54:17 +02:00
luca9913
3ed6edc323 Added SwitchExpression to AST 2023-07-12 21:43:50 +02:00
luca9913
fa7a331a66 Beginning of switchExpression for AST 2023-07-11 22:15:35 +02:00
luca9913
939d402b1e Changed GatherNames to add types declared inside of other types to the JavaClassRegistry 2023-07-07 09:24:45 +02:00
luca9913
492cbe48e9 Created RecordPattern & started development with test cases 2023-07-06 22:15:40 +02:00
a17e1f473a Catch linkage error 2023-07-05 15:48:27 +02:00
luca9913
359f3e68ab Added SwitchStmt including Type & GuardedPattern to AST 2023-07-04 15:27:29 +02:00
5c62191f3b Consider constructors when creating class generics 2023-07-04 12:17:14 +02:00
b04201de42 Don't load classes that get compiled by a source file 2023-07-04 11:40:23 +02:00
pl@gohorb.ba-horb.de
a15cbcba7b Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-07-03 11:54:30 +02:00
pl@gohorb.ba-horb.de
9019d90b1e Please enter the commit message for your changes. Lines starting
with '#' will be ignored, and an empty message aborts the commit.
2023-07-03 11:53:15 +02:00
d07b2bdf0a Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-07-03 10:13:59 +02:00
d05054755c Fix bug 2023-07-03 10:13:01 +02:00
luca9913
1a89920430 Created AST node TypePattern and adapted test cases in TestNewFeatures 2023-06-28 22:52:18 +02:00
luca9913
54a836b734 Added missing version to pom.xml 2023-06-28 22:12:28 +02:00
luca9913
8b3b07e32c Added test case Record(.jav) in TestNewFeatures 2023-06-28 22:10:08 +02:00
d55b402269 Some fixes 2023-06-28 14:09:24 +02:00
luca9913
24900b8fcc Added test case for instanceof in syntaxtreegenerator 2023-06-27 20:25:31 +02:00
luca9913
2368a087c0 Added BoolExpression and instanceof to AST 2023-06-27 20:25:05 +02:00
luca9913
994a1571b7 Changed resources path in TestCodegen after merge 2023-06-27 19:14:28 +02:00
luca9913
aed1d3848b Resolved last merge conflict 2023-06-27 18:48:18 +02:00
luca9913
93cf39cfe9 Merge branch 'bigRefactoring' into patternMatching 2023-06-27 18:46:57 +02:00
bdaf578f86 Fix equality 2023-06-27 15:48:15 +02:00
6079e96efa Test more thoroughly and add a new infimum deletion strategy 2023-06-27 15:01:28 +02:00
bb01e78123 Undo that change 2023-06-27 09:51:07 +02:00
luca9913
41d8e223ce Fixed wrong resources path in TestCodegen 2023-06-26 20:24:59 +02:00
e1e1f3eafc Insert missing case 2023-06-26 13:14:53 +02:00
9c1e016bb1 Merge and fix folder structure 2023-06-26 12:31:00 +02:00
luca9913
eaeb3c4106 Modified expected AST for Faculty according to Faculty.jav 2023-06-24 19:48:36 +02:00
luca9913
1fb431ab36 After merge fixes Codegen.java 2023-06-24 19:45:08 +02:00
luca9913
124313cb16 Merge remote-tracking branch 'origin/bigRefactoring' into patternMatching 2023-06-24 19:09:39 +02:00
luca9913
d48b888075 Bug fixes, TestComplete in 'syntaxtreegenerator' runs without error 2023-06-24 18:54:31 +02:00
f5aa90bdbd Add Cycle class (again) 2023-06-23 09:40:23 +02:00
4bcb91ce2d Refactor bounds to make the invocation smaller 2023-06-22 17:13:15 +02:00
97a1bcbbe1 Fix T1 & T2 refering to method signature instead of actual types 2023-06-22 17:13:01 +02:00
f32b1ee5b2 Fix auxiliary files not containing parent interface 2023-06-22 14:32:41 +02:00
711aa70d48 Update to java 20 and some refactoring 2023-06-22 09:34:15 +02:00
luca9913
168a499811 Set typeinfernce tests to be ignored 2023-06-21 21:38:58 +02:00
luca9913
d52fbeb1ae Moved all javFiles to test/resources/javFiles and removed unused resources 2023-06-21 21:06:14 +02:00
luca9913
ce0ef10c8d Added missing AST blueprint for 'syntaxtreegenerator' tests 2023-06-21 21:02:53 +02:00
luca9913
81e19f5315 Fixed syntaxtreegenerator to determine correct receiver of methodcall 2023-06-21 20:46:23 +02:00
luca9913
89a791b81e Fixed NotImplemented for field accesses in "dottexression" 2023-06-21 19:56:16 +02:00
luca9913
2d1caf9ded fix stash 2023-06-21 18:24:09 +02:00
luca9913
49b0494f36 Removed file to fix stashes 2023-06-21 18:21:59 +02:00
luca9913
60e2d8177b fix idTest() in syntaxtreegenerator 2023-06-21 18:18:38 +02:00
luca9913
62e7a1c871 Bug fix and test exclusion 2023-06-21 10:10:32 +02:00
luca9913
761dd48fa1 Test directory cleanup 2023-06-21 09:37:58 +02:00
4a18a81b33 Alter tests a bit 2023-06-15 16:31:50 +02:00
9eb0dd1cf5 Iteration 2023-06-15 14:13:15 +02:00
bb0ee7d517 Refactoring 2023-06-13 16:33:54 +02:00
fe2b3accb3 Fix not looking up the tph in equality 2023-06-13 10:28:20 +02:00
luca9913
78ad7bc003 Fixed bugs in StatementGenerator regarding constructor generation and field accesses 2023-06-09 17:26:55 +02:00
luca9913
f08744479a Started test driven bug fixing for SyntaxTreeGenerator 2023-06-07 22:24:16 +02:00
luca9913
bf15ff693e Created TestComplete for unit SyntaxTreeGenerator 2023-06-07 21:08:46 +02:00
luca9913
48199b5d2e Created test suite for syntaxtreegenerator including resources 2023-06-06 21:21:26 +02:00
luca9913
7556b9f590 Fixed parser bug that caused TestComplete to fail 2023-06-06 19:43:56 +02:00
03b7f12541 Merge 2023-06-06 16:36:12 +02:00
ecc5dfcef6 Add class file 2023-06-06 16:35:42 +02:00
f33aab9cfb Merge 2023-06-06 16:16:41 +02:00
3875de7f80 Fix local variable conversion and not loading interfaces 2023-06-06 13:46:53 +02:00
pl@gohorb.ba-horb.de
69f44c2927 Merge branch 'targetBytecode' of gohorb.ba-horb.de:/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-06-06 10:17:01 +02:00
pl@gohorb.ba-horb.de
26398a692f modified: resources/AllgemeinTest/Iteration.jav 2023-06-06 10:16:54 +02:00
pl@gohorb.ba-horb.de
e13baa8acb modified: resources/AllgemeinTest/Iteration.jav 2023-06-05 15:25:55 +02:00
pl@gohorb.ba-horb.de
3c86eecf8b modified: ../../pom.xml
new file:   Iteration.jav
	modified:   Pair.jav
	modified:   ../../src/main/java/de/dhbwstuttgart/core/JavaTXCompiler.java
	modified:   ../../src/test/java/AllgemeinTest.java
2023-06-05 13:14:00 +02:00
luca9913
63c5cb8390 Moved test resources to src/test and refactored tests 2023-06-05 09:28:55 +02:00
luca9913
e3edd0410a added astprinter to parsertest 2023-06-03 18:59:11 +02:00
luca9913
eb5cf1ab33 StackOverflow fix switchexpression 2023-06-03 17:54:37 +02:00
b409175a25 Add --enable-preview to surefire test plugin 2023-06-03 17:33:08 +02:00
luca9913
a54938cb65 bug fix empty param list 2023-06-01 21:18:08 +02:00
luca9913
30a62a6621 bug fix VectorNotObject test 2023-06-01 20:59:16 +02:00
dce3ed8051 Some fixes for the plugin 2023-06-01 16:13:03 +02:00
8e5a20e59e Fix incorrect signature 2023-05-31 11:38:47 +02:00
337ff8b865 Fix incorrect signatures 2023-05-24 16:51:53 +02:00
1d7e755a98 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-05-24 13:53:36 +02:00
67a582b4a2 Flatten generic function types 2023-05-24 13:53:23 +02:00
pl@gohorb.ba-horb.de
034a398515 Merge branch 'targetBytecode' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into targetBytecode 2023-05-22 14:40:50 +02:00
pl@gohorb.ba-horb.de
58a72b0286 new file: resources/AllgemeinTest/StreamTest.jav
modified:   src/test/java/AllgemeinTest.java
2023-05-22 14:40:35 +02:00
677d68428d Merge branch 'fixPlugin' into targetBytecode 2023-05-16 14:52:45 +02:00
d2ef5ccb24 Update plugin installation 2023-05-16 14:52:31 +02:00
66944cf3c1 Recursively collect generics for FunN 2023-05-15 16:52:20 +02:00
pl@gohorb.ba-horb.de
9d9a1f6614 modified: src/test/java/AllgemeinTest.java
Twice in Allgemeintest reingenommen
2023-05-10 13:27:13 +02:00
pl@gohorb.ba-horb.de
0b33948945 modified: resources/insertGenericsJav/TestContraVariant.jav 2023-05-09 14:36:07 +02:00
pl@gohorb.ba-horb.de
5e1631439a modified: resources/insertGenericsJav/TestContraVariant.jav 2023-05-09 14:28:32 +02:00
8992260264 TestContraVariant 2023-05-09 12:18:12 +02:00
f8f76e9f7d WIP 2023-05-08 13:32:39 +02:00
luca9913
52b7040337 Break statement in AST eingefügt 2023-04-01 16:27:55 +02:00
luca9913
4986fd0f31 Merge branch 'bigRefactoring' into patternMatching 2023-04-01 15:41:36 +02:00
luca9913
dc8578632c Records in AST aufgenommen 2023-04-01 15:40:12 +02:00
luca9913
9a780127c0 Grammatik um recordPattern erweitert 2023-03-24 04:44:52 +01:00
luca9913
0311f5ed77 Test Case für geschachtelte Pattern erstellt 2023-03-22 18:42:13 +01:00
luca9913
b1b7c23166 Switch statement in GatherNames für verschieden Deklarations-Typen 2023-03-22 18:41:59 +01:00
pl@gohorb.ba-horb.de
0ca32ca6a7 modified: README_aktuelle_Branches 2023-03-21 10:35:23 +01:00
luca9913
1ab0f42fd1 Bug fixes für GeneralParserTest und Mehrfachaufrufe des Parsers entfernt 2023-03-20 22:07:47 +01:00
856d343ed3 Consider public and standard constructors ones 2023-03-20 19:09:47 +01:00
2c7037708b Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bigRefactoring 2023-03-20 18:26:47 +01:00
luca9913
78a898db37 Bug fixes für Tests in 'parser' 2023-03-20 03:03:37 +01:00
aeb4b18069 delete old parser files 2023-03-15 19:26:23 +01:00
79c82c122a fix for new-Statement generation. Change FieldInitialization Test 2023-03-15 19:25:35 +01:00
27ee00b069 Changed Parser Test 2023-03-15 19:07:41 +01:00
af28e033a2 Merge branch 'patternMatching' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into patternMatching 2023-03-15 18:49:34 +01:00
761e693984 Set --enable-preview for maven compile and test 2023-03-15 18:49:29 +01:00
luca9913
d6c22a60bc 'Illegal fallthrough' entfernt 2023-03-15 18:44:00 +01:00
luca9913
a8012a3ea6 'Illegal fallthrough' entfernt 2023-03-15 18:41:04 +01:00
luca9913
31ee90b3ff Umwandlung von Interfaces implementiert 2023-03-15 05:14:43 +01:00
luca9913
96d19efa5d Umwandlung von Konstruktoren in eigener Methode 2023-03-12 21:50:53 +01:00
luca9913
1919e34eed Debugging komplett für test parser/AntlrTest.jav 2023-03-10 20:30:15 +01:00
luca9913
043dda660b Fehler im neuen SyntaxTreeGenerator beseitigt und TODOs eingefügt 2023-03-10 07:48:38 +01:00
luca9913
8c6a614157 Merge remote-tracking branch 'origin/bigRefactoring' into patternMatching 2023-03-08 06:42:08 +01:00
luca9913
09cc88062e StatementGenerator fertiggestellt 2023-03-08 06:35:55 +01:00
Victorious3
2197e09307 Merge branch 'targetBytecode' into bigRefactoring 2023-03-01 16:34:14 +01:00
luca9913
d362858184 Umbau des StatementGenerators fortgeführt 2023-03-01 06:49:59 +01:00
luca9913
c118c05bb2 Umwandlung von Methodenaufrufen implementiert 2023-02-26 21:04:51 +01:00
luca9913
aa5f79257e Antlr labels für ExpressionContext eingeführt, um StatementGenerator weiterzuentwickeln 2023-02-22 22:43:25 +01:00
Victorious3
f282d7a212 Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bigRefactoring 2023-02-21 14:51:08 +01:00
Victorious3
4c685a9ed9 Merge branch 'targetBytecode' into bigRefactoring 2023-02-21 14:48:28 +01:00
JanUlrich
55636436d2 Fix Antlr Version 2023-02-14 18:03:12 +01:00
Victorious3
5981a9362c Fix console interface 2023-02-14 13:42:56 +01:00
luca9913
c38bf658fc Anpassung Statementexpression an Java17-Grammatik begonnen 2023-02-13 08:16:16 +01:00
luca9913
0e981ce95c convert(StatementContext) Implementierung fortgesetzt 2023-02-12 07:51:31 +01:00
luca9913
40d0d6b63e TypeGenerator für Java17 Grammatik angepasst 2023-02-05 09:16:59 +01:00
luca9913
a77970b5e7 TypeGenerator für Rework vorbereitet 2023-02-03 07:58:06 +01:00
luca9913
ca327375c8 Konvertierung von Methoden begonnen 2023-02-02 06:38:30 +01:00
luca9913
4f4ca50c75 Implementierung ConvertClass-Methode in ASTGen fortgesetzt 2023-01-24 08:14:14 +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
def76724b5 Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bigRefactoring 2023-01-17 19:30:47 +01:00
JanUlrich
eb5a339f56 Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bigRefactoring 2023-01-17 17:42:58 +01:00
JanUlrich
d6b25bc76e Add jar-building to pom-file. Fix ConsoleInterface 2023-01-17 17:42:32 +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
luca9913
b0bec83900 workaround für java 17/19 probleme & paket ergänzt 2023-01-17 06:28:19 +01:00
luca9913
0ee3117d6e Test für Java17 Grammatik-Konstrukte hinzugefügt 2023-01-11 17:43:08 +01:00
pl@gohorb.ba-horb.de
96142339e0 deleted: src/test/java/targetast/Fun1$$.java 2023-01-10 16:41:44 +01:00
pl@gohorb.ba-horb.de
3cf076fd82 deleted: Studienarbeiten/.new.Studienar
renamed:    Studienarbeiten/S2003_Felix_Reichenbach.pdf -> Studienarbeiten_Bachelorarbeiten/S2003_Felix_Reichenbach.pdf
	renamed:    Studienarbeiten/S2004_Markus_Haas.pdf -> Studienarbeiten_Bachelorarbeiten/S2004_Markus_Haas.pdf
	renamed:    Studienarbeiten/S2004_Thomas_Ott.pdf -> Studienarbeiten_Bachelorarbeiten/S2004_Thomas_Ott.pdf
	renamed:    Studienarbeiten/S2005_Joerg_Baeuerle.pdf -> Studienarbeiten_Bachelorarbeiten/S2005_Joerg_Baeuerle.pdf
	renamed:    Studienarbeiten/S2005_Markus_Melzer.pdf -> Studienarbeiten_Bachelorarbeiten/S2005_Markus_Melzer.pdf
	renamed:    Studienarbeiten/S2006_Juergen_Schmiing.pdf -> Studienarbeiten_Bachelorarbeiten/S2006_Juergen_Schmiing.pdf
	renamed:    Studienarbeiten/S2006_Thomas_Hornberger.pdf -> Studienarbeiten_Bachelorarbeiten/S2006_Thomas_Hornberger.pdf
	renamed:    Studienarbeiten/S2006_Timo_Holzherr.pdf -> Studienarbeiten_Bachelorarbeiten/S2006_Timo_Holzherr.pdf
	renamed:    Studienarbeiten/S2007_Achim_Burger.pdf -> Studienarbeiten_Bachelorarbeiten/S2007_Achim_Burger.pdf
	renamed:    Studienarbeiten/S2007_Arne_Luedtke.pdf -> Studienarbeiten_Bachelorarbeiten/S2007_Arne_Luedtke.pdf
	renamed:    Studienarbeiten/S2008_Christian_Stresing.pdf -> Studienarbeiten_Bachelorarbeiten/S2008_Christian_Stresing.pdf
	renamed:    Studienarbeiten/S2008_Thorsten_Hake.pdf -> Studienarbeiten_Bachelorarbeiten/S2008_Thorsten_Hake.pdf
	renamed:    Studienarbeiten/S2008_Thorsten_Hake_Christian_Stresing_Eclipse_Plugin.pdf -> Studienarbeiten_Bachelorarbeiten/S2008_Thorsten_Hake_Christian_Stresing_Eclipse_Plugin.pdf
	renamed:    Studienarbeiten/S2008_Thorsten_Hake_Christian_Stresing_Testing.pdf -> Studienarbeiten_Bachelorarbeiten/S2008_Thorsten_Hake_Christian_Stresing_Testing.pdf
	renamed:    Studienarbeiten/S2016_Enrico_Schroedter.pdf -> Studienarbeiten_Bachelorarbeiten/S2016_Enrico_Schroedter.pdf
	renamed:    Studienarbeiten/S2016_Florian_Steurer.pdf -> Studienarbeiten_Bachelorarbeiten/S2016_Florian_Steurer.pdf
	renamed:    Studienarbeiten/S2017_Jan-Elric_Neumann.pdf -> Studienarbeiten_Bachelorarbeiten/S2017_Jan-Elric_Neumann.pdf
	renamed:    Studienarbeiten/S2021_Etienne_Zink.pdf -> Studienarbeiten_Bachelorarbeiten/S2021_Etienne_Zink.pdf
	new file:   Studienarbeiten_Bachelorarbeiten/S2022_Daniel_Holle.pdf
2023-01-10 14:29:59 +01:00
2e4cd0384f Merge branch 'bigRefactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into bigRefactoring 2022-12-12 14:10:31 +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
f444003aee Merge branch 'patternMatching' into bigRefactoring 2022-11-28 13:53:39 +01:00
luca9913
df3e2b55f9 Grammatik-Regeln für "instanceof-PatternMatching" eingefügt 2022-11-24 22:33:23 +01:00
luca9913
09ac2fc5cf Neue Grammatik-Regeln und daraus resultierende bugfixes 2022-11-22 21:44:13 +01:00
492 changed files with 29321 additions and 10427 deletions
.gitea/workflows
.gitignoreREADME_aktuelle_Branches
doc
pom.xml
resources

@ -0,0 +1,25 @@
name: Build and Test with Maven
on: [push]
jobs:
Build-and-test-with-Maven:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Install maven
run: |
apt update
apt install -y maven
- name: Install java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
cache: 'maven'
- name: Compile project
run: |
mvn compile
- name: Run tests
run: |
mvn test

2
.gitignore vendored

@ -19,7 +19,9 @@ bin
.DS_Store
.project
.settings/
.vscode/
/target/
settings.json
#
manually/

@ -9,3 +9,6 @@ Stand: 24.5.21
simplifyRes, Basis fuer Plugin, sollte auf Plugin gemerged werden, noch keine Packages, Michael
strucTypesNew, Struturelle Typen, alte Basis, arbeite derzeit niemand
Stand 21.2.23
unif23: Testbranch fuer Tagungseinrecihung Unif23

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

24
doc/pluginBau.md Normal file

@ -0,0 +1,24 @@
## Bau und installation des Eclipse plugins
1. Zunächst muss der JavaTX Compiler gebaut werden. Dafür wird im Rootverzeichnis des JavaTX Compilers
`mvn install` ausgeführt. Falls die Tests nicht laufen kann das mit `-DskipTests` beseitigt werden.
2. Dann muss das Plugin gebaut werden. Dafür muss ebenfalls `mvn install` ausgeführt werden, im Rootverzeichnis des Plugins.
Falls es dabei zu Fehlern mit der Java-Version kommen sollte muss man in ~\.mavenrc oder \~.mavenrc_pre.bat die Zeile
`set JAVA_HOME=<JDK-19-Pfad>` (Windows) oder `JAVA_HOME="<JDK-19-Pfad>"` (Linux) einfügen. Damit sollte maven korrekt konfiguriert sein.
3. Als letzter Schritt muss nun das Plugin in Eclipse geladen werden. Wichtig dabei ist, dass Eclipse selber mit Java 19 startet.
Dafür kann die Datei `eclipse.ini` angepasst werden die im Installationsverzeichnis von Eclipse vorhanden ist. Hier müssen zwei Zeilen
eingetragen werden:
```
-vm
<JDK-19-Pfad>/javaw.exe
```
Ganz am Anfang der Datei
und unter -vmargs die Option `--enable-preview`
4. Das gebaute Plugin befindet sich unter `JavaCompilerPlugin\releng\JavaCompilerPlugin.Update\target`
Um dieses Plugin in Eclipse laden zu können muss den Dialog `Help > Install new Software` öffnen. Oben rechts steht die Option `Add...`
Im sich öffnenden Dialog muss man `Archive` anklicken und dort das Zip Archiv aus dem Oben genannten Pfad einfügen. Nun mit Add den Dialog schließen.
Als letztes muss in der Liste oben der Eintrag `JavaCompilerPlugin.Update` ausgewählt werden. Hier sollte nun unten das Plugin angezeigt werden.
Einfach auswählen und unten Next drücken. Damit sollte der Vorgang abgeschlossen sein.

41
pom.xml

@ -29,20 +29,20 @@ http://maven.apache.org/maven-v4_0_0.xsd">
<version>2.6</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>22.0</version>
<groupId>io.github.classgraph</groupId>
<artifactId>classgraph</artifactId>
<version>4.8.172</version>
</dependency>
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.11</version>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>33.2.0-jre</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.ow2.asm/asm -->
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>7.0</version>
<version>9.5</version>
</dependency>
</dependencies>
@ -51,13 +51,29 @@ http://maven.apache.org/maven-v4_0_0.xsd">
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<version>3.11.0</version>
<configuration>
<compilerArgs>--enable-preview</compilerArgs>
<source>19</source>
<target>19</target>
<source>21</source>
<target>21</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<reportsDirectory>${project.build.directory}/test-reports</reportsDirectory>
<argLine>--enable-preview</argLine>
<trimStackTrace>false</trimStackTrace>
<excludes>
<exclude>**/JavaTXCompilerTest.java</exclude>
<exclude>**/AllgemeinTest.java</exclude>
<exclude>**/syntaxtreegenerator/*.java</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.antlr</groupId>
<artifactId>antlr4-maven-plugin</artifactId>
@ -74,6 +90,7 @@ http://maven.apache.org/maven-v4_0_0.xsd">
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
@ -112,8 +129,6 @@ http://maven.apache.org/maven-v4_0_0.xsd">
</repository>
</repositories>
<properties>
<maven.compiler.source>19</maven.compiler.source>
<maven.compiler.target>19</maven.compiler.target>
<mainClass>de.dhbwstuttgart.core.ConsoleInterface</mainClass>
</properties>
<distributionManagement>
@ -123,4 +138,4 @@ http://maven.apache.org/maven-v4_0_0.xsd">
<url>file:///${project.basedir}/maven-repository/</url>
</repository>
</distributionManagement>
</project>
</project>

@ -0,0 +1,10 @@
public class Bar{
void visit(Object o){
System.out.println("Object");
}
void visit(Bla f){
System.out.println("Foo");
}
}

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

@ -1,13 +0,0 @@
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();
}
}

@ -0,0 +1,22 @@
class Pair<U, T> {
U a;
T b;
Pair(U x, T y) {
a = x; b = y;
}
}
class Complex {
m(b) {
var c = b;
var d = c;
var e;
d = e;
var r1 = e;
var f = e;
var g;
f = g;
var r2 = g;
return new Pair<>(r1, r2);
}
}

@ -1,12 +0,0 @@
import java.util.Vector;
import java.util.List;
import java.lang.Integer;
class FCTest1 extends Vector<Vector<Integer>> {
fc1() {
var y;
var z;
y.add(z);
return y;
}
}

@ -1,11 +0,0 @@
import java.util.Vector;
import java.util.List;
import java.lang.Integer;
class FCTest2 extends Vector<Vector<Integer>> {
fc2(y) {
var z;
y.add(z);
return y;
}
}

@ -1,19 +0,0 @@
import java.util.Vector;
import java.lang.Integer;
class FCTest3 extends Pair<Vector<Integer>, Vector<Integer>> {
fc2(x) {
x.snd().addElement(2);
}
fc2a() {
var y;
y.snd().addElement(2);
return y;
}
}

@ -0,0 +1,6 @@
public class Foo{
public accept(Bar b){
b.visit(this);
}
}

@ -1,10 +0,0 @@
import java.lang.Integer;
import java.util.Vector;
public class GenTest {
main(x) {
var v = new Vector();
return 1 + v.elementAt(0);
}
}

@ -1,9 +0,0 @@
class Generics {
a;
id(b) { return b; }
setA(x) {
a = x;
return a;
}
m(x,y) { x = id(y); }
}

@ -0,0 +1,7 @@
public class InfReturn {
m(a) {
var ret;
a = ret;
return ret;
}
}

@ -0,0 +1,8 @@
public class InfReturnII {
m(a, b) {
var ret;
a = ret;
b = ret;
return ret;
}
}

@ -0,0 +1,7 @@
class InnerInf {
m(a, b) {
var i;
a = i;
b = i;
}
}

@ -0,0 +1,43 @@
/*
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;
}
public U snd () {
return y;
}
}
*/
public class Iteration {
id(x) {
return x;
}
m1(x, y) {
var help;
help = m2(x, y);
var y2 = help.snd();
var x2 = id(x);
return new Pair<>(x2,y2);
}
m2(x,y) {
var help = m1(x, y);
var x2 = help.fst();
var y2 = id(y);
return new Pair<>(x2, y2);
}
}

@ -0,0 +1,46 @@
import java.lang.Boolean;
import java.lang.Object;
class List {
elem;
next;
List() {
super();
}
List(elem, next) {
this.elem = elem;
this.next = next;
}
addElement(newElem) {
return new List(newElem, this);
}
append(l) {
if (next == null) {
return l;
}
else {
return new List(elem, next.append(l));
}
}
/*
addAll(l) {
var nextLoc = next;
while (//nextLoc != null
true) {
nextLoc = nextLoc.next;
}
nextLoc = l;
}
void m() {
List<? extends Object> l; // = new List<Integer>(1, null);
List<? extends Object> l2; // = new List<String>("SSS", null);
l.addAll(l2);
}
*/
}

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

@ -0,0 +1,7 @@
import java.lang.Integer;
import java.lang.Double;
class Overloading {
m(x) { return x + x; }
m(x) { return x || x; }
}

@ -1,9 +0,0 @@
import java.util.Stack;
import java.util.Vector;
class OverloadingMain {
mmMain(x) { var y; return new O1().mm(y); }
}

@ -1,20 +0,0 @@
import java.lang.Integer;
public class Overloading_Generics {
id1 (x) { return x; }
//Integer id (Integer x) { return x; }
}
class Overloading_Generics1 {
main(x) {
var olg = new Overloading_Generics();
return olg.id1(1);
}
}

@ -1,25 +0,0 @@
import java.util.Vector;
import java.util.Stack;
class OverrideMain {
ovrMain(x) {
var overide;
overide.ovr(x);
}
}
/*
[
[(TPH L = java.util.Stack<TPH FTM>), (TPH N = java.lang.String), (TPH M = ? extends Override2), (TPH FTN, TPH FTM), (TPH K = void)],
[(TPH FTO, TPH FTP), (TPH M = ? extends Override2), (TPH N = java.lang.String), (TPH L = java.util.Stack<TPH FTP>), (TPH K = void)],
[(TPH M = ? extends Override2), (TPH N = java.lang.String), (TPH K = void), (TPH FTR, TPH FTQ), (TPH L = java.util.Vector<TPH FTQ>)],
[(TPH FTT, TPH FTS), (TPH M = ? extends Override2), (TPH L = java.util.Vector<TPH FTS>), (TPH K = void), (TPH N = java.lang.String)],
[(TPH L = java.util.Vector<TPH FTV>), (TPH M = ? extends Override2), (TPH N = java.lang.String), (TPH FTU, TPH FTV), (TPH K = void)],
[(TPH FTX, TPH FTW), (TPH M = ? extends Override2), (TPH L = java.util.Vector<TPH FTW>), (TPH K = void), (TPH N = java.lang.String)],
[(TPH M = ? extends Override2), (TPH L = java.util.Stack<TPH FTZ>), (TPH K = void), (TPH FTY, TPH FTZ), (TPH N = java.lang.String)],
[(TPH FUB, TPH FUA), (TPH K = void), (TPH M = ? extends Override2), (TPH N = java.lang.String), (TPH L = java.util.Vector<TPH FUA>)],
[(TPH N = java.lang.String), (TPH L = java.util.Vector<TPH FUC>), (TPH FUD, TPH FUC), (TPH M = ? extends Override2), (TPH K = void)],
[(TPH N = java.lang.String), (TPH FUF, TPH FUE), (TPH M = ? extends Override2), (TPH K = void), (TPH L = java.util.Vector<TPH FUE>)]]
[[(TPH M = ? extends Override2), (TPH MNX, TPH MNY), (TPH N = java.lang.String), (TPH K = void), (TPH L = java.util.Stack<TPH MNY>)], [(TPH L = java.util.Stack<TPH MOC>), (TPH N = java.lang.String), (TPH M = ? extends Override2), (TPH K = void), (TPH MOB, TPH MOC)], [(TPH M = ? extends Override2), (TPH N = java.lang.String), (TPH MNZ, TPH MOA), (TPH L = java.util.Vector<TPH MOA>), (TPH K = void)], [(TPH L = java.util.Vector<TPH MOE>), (TPH K = void), (TPH M = ? extends Override2), (TPH MOD, TPH MOE), (TPH N = java.lang.String)], [(TPH M = ? extends Override2), (TPH K = void), (TPH N = java.lang.String), (TPH MOF, TPH MOG), (TPH L = java.util.Stack<TPH MOG>)], [(TPH L = java.util.Vector<TPH MOI>), (TPH K = void), (TPH MOH, TPH MOI), (TPH M = ? extends Override2), (TPH N = java.lang.String)], [(TPH L = java.util.Vector<TPH MOK>), (TPH MOJ, TPH MOK), (TPH K = void), (TPH M = ? extends Override2), (TPH N = java.lang.String)], [(TPH MOL, TPH MOM), (TPH L = java.util.Stack<TPH MOM>), (TPH M = ? extends Override2), (TPH K = void), (TPH N = java.lang.String)], [(TPH L = java.util.Vector<TPH MOO>), (TPH MON, TPH MOO), (TPH N = java.lang.String), (TPH K = void), (TPH M = ? extends Override2)], [(TPH L = java.util.Stack<TPH MOP>), (TPH N = java.lang.String), (TPH M = ? extends Override2), (TPH MOQ, TPH MOP), (TPH K = void)]]
*/

@ -1,11 +0,0 @@
import java.util.Vector;
import java.util.Stack;
class OverrideMainRet {
ovrMain() {
var overide;
var x;
overide.ovr(x);
return x;
}
}

@ -13,7 +13,7 @@ class Pair<U, T> {
return ret;
}
eq(a, b) {
b = a;
return a == b;

@ -1,18 +0,0 @@
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;
}
public U snd () {
return y;
}
}

@ -1,19 +0,0 @@
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);
}
}

@ -0,0 +1,8 @@
class RecursionCond {
m(a, b, c) {
if (1 == 2) {
b = m(a, b);
c = m(a, b);
} else return a;
}
}

@ -0,0 +1,14 @@
import java.util.stream.Stream;
import java.util.Vector;
import java.lang.Integer;
class StreamTest {
m() {
var vecInt = new Vector<Integer>();
var strInt = vecInt.stream();
var dup = x -> x*2;
strInt.map(dup);
return dup;
}
}

@ -1,4 +1,9 @@
class Test {
a;
Test b;
import java.lang.Boolean;
import java.lang.Integer;
public class Test {
fac = (x) -> {
if (x == 1) { return 1; }
return x * fac.apply(x - 1);
};
}

@ -1,12 +0,0 @@
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);
}
}

@ -0,0 +1,19 @@
class Triple<U, T, S> {
U a;
T b;
S c;
Triple(U x, T y, S z) {
a = x; b = y; c = z;
}
U fst() { return a; }
T snd() { return b; }
S thrd() { return c; }
}
public class TripleTest {
m() {
return new Triple<>(m().thrd(), m().thrd(), m().thrd());
}
}

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

@ -0,0 +1,12 @@
class Twice2 {
id1inst = new Id<>();
id1 = id1inst.id;
id2inst = new Id<>();
id2 = id2inst.id;
twice = id1.apply(id2);
}
class Id<T> {
id = (T x) -> x;
}

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

@ -1,15 +0,0 @@
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;
}
}

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

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

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

@ -1,22 +0,0 @@
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
}
}

@ -2,7 +2,7 @@ import java.lang.Integer;
import java.lang.String;
public class AA {
m(Integer i) { return "AA"; }
public m(Integer i) { return "AA"; }
m2(AA x) { return "AA"; }
public m2(AA x) { return "AA"; }
}

@ -0,0 +1,14 @@
public class Access {
public int fPublic;
int fDefault;
private int fPrivate;
protected int fProtected;
public void mPublic() {}
void mDefault() {}
private void mPrivate() {}
protected void mProtected() {}
}
class AccessDefault {
}

@ -0,0 +1,8 @@
class Base {
public void foo() {}
}
public class Annotation extends Base {
@Override
public void foo() {}
}

@ -1,3 +1,4 @@
import java.lang.Integer;
import AA;
public class BB extends AA { }

@ -3,15 +3,15 @@ import java.lang.Double;
public class BinaryInMeth {
m(a){
public m(a){
return ++a;
}
m2(a,b){
public m2(a,b){
return m(a+b);
}
m3(a) {
public m3(a) {
return m(++a);
}
}

@ -1,7 +1,9 @@
class B { }
class Box_Main extends B {
m(b) {
b.m(new Box_Main());
b.m(new B());
}
}
public class Box<A> {
A a;
public Box() { }
public Box(A a) {
//this.a = a;
}
}

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

@ -0,0 +1,7 @@
public class Bug112 {
public m(x) {
var y;
x = y;
return y;
}
}

@ -0,0 +1,12 @@
import java.lang.Integer;
import java.lang.Boolean;
public class Bug122 {
public void main() {
if (true) {
for (Integer i = 0; i < 10; i++) {
}
}
}
}

@ -0,0 +1,13 @@
import java.lang.Boolean;
import java.lang.Integer;
public class Bug123 {
public Boolean works(){
if(true) return true;
else return false;
}
public void fails(){
Boolean a = true;
if(true) a = false;
}
}

@ -0,0 +1,16 @@
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.LinkedList;
import java.util.ArrayList;
public class Bug125 {
static ArrayList<String> works = new ArrayList<>();
static List<String> fails = new ArrayList<>();
public void main() {
works.toString();
fails.toString();
}
}

@ -0,0 +1,15 @@
import java.util.Optional;
import java.lang.Integer;
public class StaticClass {
public static StaticClass barbar() {
return new StaticClass();
}
}
public class Bug285 {
public void foo() {
Optional<Integer> opt = Optional.empty();
StaticClass b = StaticClass.barbar();
}
}

@ -0,0 +1,7 @@
import Bug290B;
public class Bug290A {
public void m() {
new Bug290B();
}
}

@ -0,0 +1,11 @@
import java.lang.String;
import java.lang.Integer;
public class Bug290B {
String name;
public Bug290B() {
Integer i = 0;
name = i.toString() + "$$";
}
}

@ -0,0 +1,13 @@
import java.lang.Integer;
import java.lang.Float;
public class Bug293 {
bar(a) {
return 2 * a;
}
}
interface IFoo {
void ga();
}

@ -0,0 +1,18 @@
import java.lang.Integer;
public class Bug295 {
public Integer a;
public Integer b;
public Integer c;
public Bug295(a, b, c) {
this(a);
this.b = b;
this.c = c;
}
public Bug295(a) {
this.a = a;
}
}

@ -0,0 +1,11 @@
import java.lang.Integer;
public class Bug296 {
public static m1() {
return m2();
}
static m2() {
return 10;
}
}

@ -0,0 +1,11 @@
import java.lang.Integer;
public class Bug297 {
public static operation(func, a, b) {
return func.apply(a, b);
}
public exec() {
return Foo.operation((x, y) -> x + y, 10, 10);
}
}

@ -0,0 +1,17 @@
import java.util.List;
import java.util.ArrayList;
import java.lang.Integer;
import java.lang.System;
import java.lang.Boolean;
import java.io.PrintStream;
import java.util.stream.Stream;
import java.util.function.Function;
public class Bug298 {
public void m() {
List<Integer> list = new ArrayList<>();
list.stream().map(x -> 2 * x);
Function<Integer, Boolean> filter = x -> true;
}
}

@ -0,0 +1,17 @@
import java.lang.String;
class Base {
toString() {
return "Base";
}
}
public class Bug300 extends Base {
public m() {
return super.toString();
}
toString() {
return "Derived";
}
}

@ -0,0 +1,4 @@
import java.util.HashSet;
public class Bug301<A> extends HashSet<A> {
}

@ -0,0 +1,11 @@
import java.util.ArrayList;
import java.util.List;
import java.lang.Integer;
public class Bug302 {
public Bug302(List<Integer> a){}
public static m() {
new Bug302(new ArrayList<Integer>());
}
}

@ -0,0 +1,13 @@
import java.lang.Integer;
import java.util.List;
class Base {
m(List<Integer> a) {}
}
public class Bug306 extends Base {
@Override
m(List<Integer> b) {
b.add(1);
}
}

@ -0,0 +1,46 @@
public class Bug307 {
public void main() {
IVisitor v = new Visitor();
Impl2 f = new Impl2();
Impl1 g = new Impl1();
f.accept(v);
g.accept(v);
}
}
interface IVisitor {
void visit(Impl1 f);
void visit(Impl2 fb);
}
interface IAcceptor {
void accept(IVisitor v);
}
class Visitor implements IVisitor {
@Override
public void visit(Impl1 f) {
}
@Override
public void visit(Impl2 fb) {
}
}
class Impl1 implements IAcceptor {
@Override
public void accept(IVisitor v) {
v.visit(this);
}
}
class Impl2 implements IAcceptor {
@Override
public void accept(IVisitor v) {
v.visit(this);
}
}

@ -0,0 +1,16 @@
import java.util.List;
import java.util.ArrayList;
import java.lang.Integer;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.Optional;
public class Bug309 {
public main() {
List<Integer> list = new ArrayList<>(List.of(1,2,3,4,5,6,7,8,9));
var res = list.stream().filter(x -> x == 5).map(x -> x * 2).findFirst();
return res;
}
}

@ -0,0 +1,9 @@
import java.lang.Integer;
import java.lang.String;
public class Bug310 {
Integer i = 3;
public toString() {
return i.toString();
}
}

@ -0,0 +1,10 @@
import java.lang.String;
public class Bug311 {
Bug311A i = new Bug311A();
public toString() {
return i.toString();
}
}
class Bug311A {}

@ -0,0 +1,8 @@
public class Bug312 {
Bug312A i = new Bug312A();
public main() {
if (i == null) {}
}
}
class Bug312A {}

@ -0,0 +1,13 @@
import java.lang.Integer;
import java.util.List;
import java.util.ArrayList;
import java.util.stream.Stream;
import java.util.function.Predicate;
import java.util.function.Function;
import java.util.stream.Collectors;
public class Bug314 {
public List<Integer> convert(List<Integer> in) {
return in.stream().filter(x -> x > 5).collect(Collectors.toList());
}
}

@ -0,0 +1,13 @@
import java.lang.Integer;
import java.util.function.Function;
import java.util.List;
import java.util.ArrayList;
import java.util.stream.Stream;
public class Bug325 {
public main() {
List<Integer> list = new ArrayList<>(List.of(1,2,3,4,5));
var func = x -> x*2;
return list.stream().map(func).toList();
}
}

@ -0,0 +1,8 @@
import java.lang.Integer;
public class Bug326 {
public Bug326() {
var func = x -> y -> x * y;
return func.apply(3).apply(4);
}
}

@ -0,0 +1,8 @@
import java.lang.Integer;
import Bug328B;
public class Bug328 extends Bug328B {
public Bug328() {
super(1);
}
}

Binary file not shown.

@ -0,0 +1,3 @@
public class Bug328B {
public Bug328B(int a) {}
}

@ -0,0 +1,15 @@
import java.lang.Object;
interface Visitor {
public void visit(Object obj);
public void visit(ClassA a);
}
class ClassA {
void accept(Visitor v) {
v.visit(this);
}
}
public class Bug332 {
}

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