Compare commits

...

371 Commits

Author SHA1 Message Date
9801f8a5ae Merge branch 'targetBytecode' of ssh://gitea.hb.dhbw-stuttgart.de:2221/JavaTX/JavaCompilerCore into targetBytecode
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 5m39s
2024-08-07 13:34:03 +02:00
f0b9bea23e Fix #343 (le null check) 2024-08-07 13:33:40 +02:00
ce4347dd96 Fix Y Test #341
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 5m20s
2024-08-06 12:42:09 +02:00
7785c2d0aa Fix equals method of ClassOrInterface
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 6m48s
2024-08-05 11:54:13 +02:00
a654f55deb Fix yTest
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 4m45s
2024-07-25 17:05:27 +02:00
pl@gohorb.ba-horb.de
7037bdf9ef modified: src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/FCGenerator.java
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 5m16s
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
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 5m38s
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
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 5m25s
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 #340
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 44s
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
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 1m0s
2024-07-19 18:04:33 +02:00
63493ed0f7 Make lambdas castable
Some checks are pending
Build and Test with Maven / Build-and-test-with-Maven (push) Waiting to run
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 #332
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 46s
2024-06-13 17:23:19 +02:00
091a6b8f1f Fix merge conflict
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 43s
2024-06-07 12:16:03 +02:00
60a1f3b220 Merge branch 'targetBytecode' of https://gitea.hb.dhbw-stuttgart.de/JavaTX/JavaCompilerCore into targetBytecode
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 47s
2024-06-07 12:04:01 +02:00
7e6aeaf728 Make Function Types implement others to allow Subtyping, fixes #337 2024-06-07 12:03:16 +02:00
Ruben
ea217d16d5 Revert "feat: changes in Grammar and Parser so typeless Recs get recognised"
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 6m35s
This reverts commit 7650813bb7.
2024-06-06 12:07:32 +02:00
Ruben
7650813bb7 feat: changes in Grammar and Parser so typeless Recs get recognised
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Has been cancelled
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
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 9m6s
2024-05-27 15:51:48 +02:00
50f2a29e1e Merge branch 'targetBytecode' of https://gitea.hb.dhbw-stuttgart.de/JavaTX/JavaCompilerCore into targetBytecode
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 8m1s
2024-05-27 12:17:24 +02:00
99f219de3b Work on #338, partially fixed 2024-05-27 12:14:00 +02:00
12bb613eb0 Fix test cases
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 7m42s
2024-05-24 12:46:26 +02:00
141e1cbc94 Make wildcard imports work again #330
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 7m6s
2024-05-23 11:39:56 +02:00
julian
5b4ea5a0c5 fix #327 and add support for glob syntax in classpath input
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 5m37s
2024-05-22 23:47:50 +02:00
b824680508 Fix #335
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 6m34s
2024-05-22 12:55:47 +02:00
295bf079b9 Add continue and do-while, close #331
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 6m15s
2024-05-21 12:14:12 +02:00
974582f7e5 Fix #333
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 5m57s
2024-05-17 10:49:45 +02:00
2ded0c9044 Add public
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 6m27s
2024-05-15 16:46:15 +02:00
pl@gohorb.ba-horb.de
c3343959c5 modified: ../resources/AllgemeinTest/Box.jav
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 6m43s
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
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 5m26s
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
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 6m2s
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 #328
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 11m55s
#328
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
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 12m21s
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 #326, convert captures to correct types
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 3m9s
2024-04-30 16:55:40 +02:00
2c66a1d6e6 add class file
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 3m58s
2024-04-29 10:27:23 +02:00
c76ee355d8 Add bug for #328
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Has been cancelled
2024-04-29 10:25:01 +02:00
a5c314c5c5 Fix #328
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m50s
2024-04-28 19:25:20 +02:00
cba35a4bec Don't load source files twice
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m51s
2024-04-27 23:08:15 +02:00
b774281cbb Add Ternary, fix #324
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m48s
2024-04-22 12:17:53 +02:00
9358130468 Fix package weirdness? See #322
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 3m3s
2024-04-18 11:51:08 +02:00
708aa64283 Fix current directory not being added to path
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m50s
2024-04-18 10:31:12 +02:00
c21e5202d6 Fix #323
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 3m14s
2024-04-18 10:20:35 +02:00
b3bd5cde10 Fix tests
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 3m58s
2024-04-15 16:44:34 +02:00
df78937ef3 Fix test case a bit
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 3m35s
2024-04-15 16:18:25 +02:00
7fb4824f8d Add modulo, fix #319
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m53s
2024-04-12 15:40:22 +02:00
e0d71a6003 fix console
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m37s
2024-04-12 14:17:15 +02:00
49803385cf Fix optional parameters
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m44s
2024-04-12 13:58:11 +02:00
39d02f792c Deal with multiple source files properly, don't throw all the constraints together
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m21s
2024-04-12 10:48:13 +02:00
4fc78f494c More poking around
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 3m1s
2024-04-10 10:22:34 +02:00
b752219d8c Throw exception if class doesn't exist
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 3m11s
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
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m59s
2024-04-10 09:58:01 +02:00
d405b0c3a2 Merge branch 'targetBytecode' of ssh://gitea.hb.dhbw-stuttgart.de:2222/JavaTX/JavaCompilerCore into targetBytecode
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m51s
2024-04-10 09:42:47 +02:00
6c8657b7a8 Work on #308 2024-04-10 09:42:31 +02:00
pl@gohorb.ba-horb.de
bcce4cee19 modified: src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntacticSugar.java
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m21s
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
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m48s
2024-04-09 15:52:44 +02:00
e50f941b79 Merge branch 'targetBytecode' of ssh://gitea.hb.dhbw-stuttgart.de:2222/JavaTX/JavaCompilerCore into targetBytecode
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m33s
2024-04-09 14:59:16 +02:00
cb7d0e22cc Fix #314 2024-04-09 14:58:43 +02:00
pl@gohorb.ba-horb.de
0d5be89310 modified: ../src/main/java/de/dhbwstuttgart/typeinference/unify/Match.java
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m50s
modified:   ../src/test/java/TestComplete.java
2024-04-09 01:50:42 +02:00
0b7f07108f Fix #313
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m43s
2024-04-08 14:25:41 +02:00
6b0816c1c4 Add test for #309
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m47s
2024-04-08 14:02:57 +02:00
f66b9099f3 Fix #311
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m55s
2024-04-08 13:51:49 +02:00
da74898f9d Fix #312
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m45s
2024-04-08 13:18:27 +02:00
46a7f61234 Fix #310
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m49s
2024-04-08 11:52:52 +02:00
e59accf7ee Fix #308
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Has been cancelled
2024-04-08 11:40:46 +02:00
pl@gohorb.ba-horb.de
4b110244f2 new file: ../../AllgemeinTest/List.jav
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m46s
2024-04-07 17:31:05 +02:00
pl@gohorb.ba-horb.de
e37040f367 Bug 307 gefixt
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m51s
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
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 3m22s
2024-03-28 10:35:34 +01:00
877e5ed38a Reversing alone would disturb the parameters (#298)
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 1m2s
2024-03-27 14:52:15 +01:00
82b4450857 Fix 298 for real this time?
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 1m3s
2024-03-27 14:39:43 +01:00
b70e435120 Work on issue
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 59s
2024-03-27 12:21:57 +01:00
3b14cd609f Revert "Get rid of mutable state, hopefully fix #307"
This reverts commit bc61fc2e1d.
2024-03-27 09:57:21 +01:00
8fdfbf875b Fix #298 maybe?
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m42s
2024-03-26 17:31:48 +01:00
bc61fc2e1d Get rid of mutable state, hopefully fix #307
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m57s
2024-03-26 16:54:24 +01:00
62f2e05f35 Add test case for #307
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m37s
2024-03-26 11:04:03 +01:00
606ce8b82d Implement AND/OR/XOR, fix #305
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m26s
2024-03-26 10:54:32 +01:00
c84befae51 Add Negation operator (fixes #304)
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m41s
2024-03-25 17:05:20 +01:00
7f3c1686ec Fix #303
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m37s
2024-03-25 15:10:47 +01:00
43da2ffbdc Fix #302
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m47s
2024-03-25 14:49:18 +01:00
9472b5c86f Types are weird in this one
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m23s
2024-03-25 13:51:56 +01:00
7cb0e9dbb7 Taking the super methods parameters should only happen for the types, fix #306
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m23s
2024-03-25 13:43:30 +01:00
e07521d9b6 Fix #298
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m33s
2024-03-25 12:14:03 +01:00
c2ee12397f Work on issue
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m53s
2024-03-22 14:54:23 +01:00
e6321ff8bc Fix gtvs being strange, #301 2024-03-21 17:40:42 +01:00
786e0a7a23 Fix #300 and also call private methods correctly
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m35s
2024-03-21 11:49:16 +01:00
1c63321b30 Fix #294
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m35s
2024-03-20 14:37:15 +01:00
1f74345324 Upload test for #298
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 3m16s
2024-03-19 15:19:57 +01:00
518f58e08f Maybe null here was in fact right?
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m43s
2024-03-18 13:40:37 +01:00
0acfe6c0d4 Implement ThisCall (fix #295)
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Has been cancelled
2024-03-18 13:29:53 +01:00
c07d4d36e9 Fix wrong type conversion, see #297
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m51s
2024-03-18 12:14:03 +01:00
01e374eadd Fix #296
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 3m29s
2024-03-18 10:14:40 +01:00
a1b5c0541b Fix NPE in generics, probably because interface method don't have code
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m55s
2024-03-15 17:14:27 +01:00
66c8c307b0 Fix recursive packages
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m25s
2024-03-14 15:23:31 +01:00
ebd6a00a39 Fix the rest of the test cases
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 2m50s
2024-03-14 14:38:02 +01:00
f57d89c966 Manage imports per source file instead of globally, should fix #290 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 #291 and hopefully doesn't break anything
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m45s
2024-03-14 10:23:19 +01:00
e17f08263e Fix <?> Wildcard not working in STG, fixes #287
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m23s
2024-03-13 11:42:32 +01:00
2cb84f9e2b Ignore annotations in STG, fix #288
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m33s
2024-03-13 11:29:17 +01:00
83ae05ea4a Fix #289
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 3m13s
2024-03-13 11:21:00 +01:00
26452eb5de Fix #286
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 3m19s
2024-03-11 16:16:10 +01:00
38827544c9 Split up test and compile to improve readability
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m21s
2024-03-08 17:33:49 +01:00
ff905390e8 Limit stack traces
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m47s
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
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m28s
2024-03-08 17:20:54 +01:00
e27eb3a3fe Fix #285
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m37s
2024-03-08 16:58:00 +01:00
73ca790711 Create folder
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m36s
2024-03-08 15:26:40 +01:00
452064398a Update actions
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 58s
2024-03-08 15:08:45 +01:00
20d6cb8eb9 Remove sudo?
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 1m3s
2024-03-08 15:05:02 +01:00
b7f1db5d80 Update workflow
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 7s
2024-03-08 15:00:17 +01:00
b327518921 Update workflow
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 52s
2024-03-08 14:54:58 +01:00
945b47c762 Fix #284
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 8s
2024-03-08 14:42:49 +01:00
65a71ebe0c Add test for #285 and partially fix it
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 7s
2024-03-08 14:00:52 +01:00
deeb67c4f7 Add test workflow
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 1m0s
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 #125 2024-03-06 14:10:57 +01:00
a90e9df1e8 Fix regression #283 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 #112 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 #125 2024-03-04 11:51:28 +01:00
59585296b0 Fix single expressions not converting to blocks. Fixes #123 2024-03-04 11:30:36 +01:00
f11d4b0716 Fix for loop overflowing the stack. Fixes #122 2024-03-04 10:58:26 +01:00
584690596e Add filename to debug output, closes #126 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 dfd91b5f8b 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
Andreas Stadelmeier
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
Andreas Stadelmeier
856d343ed3 Consider public and standard constructors ones 2023-03-20 19:09:47 +01:00
Andreas Stadelmeier
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
Andreas Stadelmeier
aeb4b18069 delete old parser files 2023-03-15 19:26:23 +01:00
Andreas Stadelmeier
79c82c122a fix for new-Statement generation. Change FieldInitialization Test 2023-03-15 19:25:35 +01:00
Andreas Stadelmeier
27ee00b069 Changed Parser Test 2023-03-15 19:07:41 +01:00
Andreas Stadelmeier
af28e033a2 Merge branch 'patternMatching' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into patternMatching 2023-03-15 18:49:34 +01:00
Andreas Stadelmeier
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
Andreas Stadelmeier
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
Andreas Stadelmeier
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
Andreas Stadelmeier
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

View File

@ -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
View File

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

View File

@ -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.

File diff suppressed because it is too large Load Diff

24
doc/pluginBau.md Normal file
View 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
View File

@ -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>

View File

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

View File

@ -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;
}
}

View File

@ -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();
}
}

View File

@ -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);
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

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

View File

@ -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);
}
}

View File

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

View File

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

View File

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

View File

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

View File

@ -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);
}
}

View File

@ -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);
}
*/
}

View File

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

View File

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

View File

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

View File

@ -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);
}
}

View File

@ -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)]]
*/

View File

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

View File

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

View File

@ -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;
}
}

View File

@ -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);
}
}

View File

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

View File

@ -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;
}
}

View File

@ -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);
};
}

View File

@ -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);
}
}

View File

@ -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());
}
}

View File

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

View File

@ -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;
}

View File

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

View File

@ -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;
}
}

View File

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

View File

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

View File

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

View File

@ -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
}
}

View File

@ -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"; }
}

View File

@ -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 {
}

View File

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

View File

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

View File

@ -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);
}
}

View File

@ -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;
}
}

View File

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

View File

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

View File

@ -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++) {
}
}
}
}

View File

@ -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;
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

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

View File

@ -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() + "$$";
}
}

View File

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

View File

@ -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;
}
}

View File

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

View File

@ -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);
}
}

View File

@ -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;
}
}

View File

@ -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";
}
}

View File

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

View File

@ -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>());
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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;
}
}

View File

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

View File

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

View File

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

View File

@ -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());
}
}

View File

@ -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();
}
}

View File

@ -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);
}
}

View File

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

Binary file not shown.

View File

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

View File

@ -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