Compare commits
202 Commits
22d1be5ea4
...
0d572ed9b6
Author | SHA1 | Date | |
---|---|---|---|
|
0d572ed9b6 | ||
|
ea217d16d5 | ||
|
7650813bb7 | ||
4880527d4d | |||
50f2a29e1e | |||
99f219de3b | |||
12bb613eb0 | |||
141e1cbc94 | |||
|
5b4ea5a0c5 | ||
b824680508 | |||
295bf079b9 | |||
974582f7e5 | |||
2ded0c9044 | |||
|
c3343959c5 | ||
|
39f04b1a1b | ||
|
db01b0c8dd | ||
662756ac18 | |||
b0bf41968e | |||
|
2221b559ca | ||
|
021b7ec9fe | ||
|
154d4823e4 | ||
|
71dfe5d9e1 | ||
|
58110c474a | ||
df2ec4b1ba | |||
2c66a1d6e6 | |||
c76ee355d8 | |||
a5c314c5c5 | |||
cba35a4bec | |||
b774281cbb | |||
9358130468 | |||
708aa64283 | |||
c21e5202d6 | |||
b3bd5cde10 | |||
df78937ef3 | |||
7fb4824f8d | |||
e0d71a6003 | |||
49803385cf | |||
39d02f792c | |||
4fc78f494c | |||
b752219d8c | |||
ec890356e4 | |||
d405b0c3a2 | |||
6c8657b7a8 | |||
|
bcce4cee19 | ||
e6cd4038e2 | |||
e50f941b79 | |||
cb7d0e22cc | |||
|
0d5be89310 | ||
0b7f07108f | |||
6b0816c1c4 | |||
f66b9099f3 | |||
da74898f9d | |||
46a7f61234 | |||
e59accf7ee | |||
|
4b110244f2 | ||
|
e37040f367 | ||
6850a8fa21 | |||
877e5ed38a | |||
82b4450857 | |||
b70e435120 | |||
3b14cd609f | |||
8fdfbf875b | |||
bc61fc2e1d | |||
62f2e05f35 | |||
606ce8b82d | |||
c84befae51 | |||
7f3c1686ec | |||
43da2ffbdc | |||
9472b5c86f | |||
7cb0e9dbb7 | |||
e07521d9b6 | |||
c2ee12397f | |||
e6321ff8bc | |||
786e0a7a23 | |||
1c63321b30 | |||
1f74345324 | |||
518f58e08f | |||
0acfe6c0d4 | |||
c07d4d36e9 | |||
01e374eadd | |||
a1b5c0541b | |||
66c8c307b0 | |||
ebd6a00a39 | |||
f57d89c966 | |||
f9188e65ca | |||
e354838491 | |||
e17f08263e | |||
2cb84f9e2b | |||
83ae05ea4a | |||
26452eb5de | |||
38827544c9 | |||
ff905390e8 | |||
2d9094ec4e | |||
e27eb3a3fe | |||
73ca790711 | |||
452064398a | |||
20d6cb8eb9 | |||
b7f1db5d80 | |||
b327518921 | |||
945b47c762 | |||
65a71ebe0c | |||
deeb67c4f7 | |||
c92edeaf2a | |||
01e3d31f1a | |||
a90e9df1e8 | |||
|
1c1f5ae29f | ||
|
8ab5bbd831 | ||
1877d7f170 | |||
388614b220 | |||
f2e43f180c | |||
59585296b0 | |||
f11d4b0716 | |||
584690596e | |||
9c6372c3ba | |||
688358aa33 | |||
a60282414c | |||
75b9020cf9 | |||
e88d4428c5 | |||
dcfafe5995 | |||
a035589647 | |||
9da763b361 | |||
700ea125fc | |||
f18903834e | |||
b80cc726c8 | |||
|
6cc40162da | ||
|
71899ac673 | ||
|
a84d1ffdd7 | ||
|
a3d63a0266 | ||
|
dcc2da85c5 | ||
|
6f193b19ab | ||
1c55954e5c | |||
ec04f01a10 | |||
|
78a2fddc21 | ||
|
44f8899157 | ||
|
d1a6dcbbac | ||
|
15150fca9e | ||
|
fba7f0ee81 | ||
|
e0da2a4c46 | ||
f588ece7c3 | |||
9ad5b76542 | |||
3d2c699964 | |||
f95c3c5fcf | |||
4654ecacaf | |||
1be27746e3 | |||
|
c51190feef | ||
|
c4ce97f20c | ||
837317c84c | |||
|
df852ef36e | ||
|
c00722823a | ||
e31f1c59e1 | |||
5d0d7a6d94 | |||
b372c6ac1c | |||
124dea2e58 | |||
eaef00ff54 | |||
892ba5fff0 | |||
628f1631e8 | |||
0b815950e1 | |||
f10e7e6d72 | |||
700ecf3e5d | |||
|
f7c53fc6c3 | ||
|
9764ec6db1 | ||
|
b21faa30fc | ||
|
87f8b8799e | ||
|
769f1bb677 | ||
|
5623fdc020 | ||
|
dfd91b5f8b | ||
|
3c43978c55 | ||
|
fb7b51a971 | ||
56c360104b | |||
e414da3369 | |||
5f1f698530 | |||
729e88bc6d | |||
bffc7f9f1c | |||
011b272af6 | |||
ee359da751 | |||
6025e17186 | |||
93d7aca9e6 | |||
677c784b6d | |||
e69a367c33 | |||
14d0475d59 | |||
762d344e42 | |||
be5591f7dc | |||
7193f5a646 | |||
f46c2ad0f7 | |||
b0f7a264c2 | |||
4f3164a48a | |||
be55d661cb | |||
3de9fde672 | |||
a0582e918b | |||
|
18429d9cf9 | ||
|
b65df7c390 | ||
|
a0e6df7cfd | ||
a17e1f473a | |||
5c62191f3b | |||
b04201de42 | |||
|
a15cbcba7b | ||
|
9019d90b1e | ||
d07b2bdf0a | |||
d05054755c | |||
d55b402269 | |||
bdaf578f86 | |||
6079e96efa |
25
.gitea/workflows/build_and_test.yml
Normal file
25
.gitea/workflows/build_and_test.yml
Normal 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
|
14165
doc/Studienarbeiten_Bachelorarbeiten/S2023_Luca_Trumpfheller.pdf
Normal file
14165
doc/Studienarbeiten_Bachelorarbeiten/S2023_Luca_Trumpfheller.pdf
Normal file
File diff suppressed because it is too large
Load Diff
21
pom.xml
21
pom.xml
@ -29,14 +29,14 @@ 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>
|
||||
@ -54,8 +54,8 @@ http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<version>3.11.0</version>
|
||||
<configuration>
|
||||
<compilerArgs>--enable-preview</compilerArgs>
|
||||
<source>20</source>
|
||||
<target>20</target>
|
||||
<source>21</source>
|
||||
<target>21</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
@ -63,9 +63,14 @@ http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<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>
|
||||
|
8
resources/AllgemeinTest/Box.jav
Normal file
8
resources/AllgemeinTest/Box.jav
Normal file
@ -0,0 +1,8 @@
|
||||
class Box<A> {
|
||||
|
||||
A a;
|
||||
|
||||
public Box(A a) {
|
||||
this.a = a;
|
||||
}
|
||||
}
|
22
resources/AllgemeinTest/Complex.jav
Normal file
22
resources/AllgemeinTest/Complex.jav
Normal 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);
|
||||
}
|
||||
}
|
7
resources/AllgemeinTest/InfReturn.jav
Normal file
7
resources/AllgemeinTest/InfReturn.jav
Normal file
@ -0,0 +1,7 @@
|
||||
public class InfReturn {
|
||||
m(a) {
|
||||
var ret;
|
||||
a = ret;
|
||||
return ret;
|
||||
}
|
||||
}
|
8
resources/AllgemeinTest/InfReturnII.jav
Normal file
8
resources/AllgemeinTest/InfReturnII.jav
Normal file
@ -0,0 +1,8 @@
|
||||
public class InfReturnII {
|
||||
m(a, b) {
|
||||
var ret;
|
||||
a = ret;
|
||||
b = ret;
|
||||
return ret;
|
||||
}
|
||||
}
|
7
resources/AllgemeinTest/InnerInf.jav
Normal file
7
resources/AllgemeinTest/InnerInf.jav
Normal file
@ -0,0 +1,7 @@
|
||||
class InnerInf {
|
||||
m(a, b) {
|
||||
var i;
|
||||
a = i;
|
||||
b = i;
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
|
||||
/*
|
||||
class Pair<T, U> {
|
||||
T x;
|
||||
U y;
|
||||
@ -17,7 +17,7 @@ class Pair<T, U> {
|
||||
return y;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
public class Iteration {
|
||||
id(x) {
|
||||
|
46
resources/AllgemeinTest/List.jav
Normal file
46
resources/AllgemeinTest/List.jav
Normal 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);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
7
resources/AllgemeinTest/Overloading.jav
Normal file
7
resources/AllgemeinTest/Overloading.jav
Normal 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; }
|
||||
}
|
8
resources/AllgemeinTest/RecursionCond.jav
Normal file
8
resources/AllgemeinTest/RecursionCond.jav
Normal 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;
|
||||
}
|
||||
}
|
9
resources/AllgemeinTest/Test.jav
Normal file
9
resources/AllgemeinTest/Test.jav
Normal file
@ -0,0 +1,9 @@
|
||||
import java.lang.Boolean;
|
||||
import java.lang.Integer;
|
||||
|
||||
public class Test {
|
||||
fac = (x) -> {
|
||||
if (x == 1) { return 1; }
|
||||
return x * fac.apply(x - 1);
|
||||
};
|
||||
}
|
19
resources/AllgemeinTest/TripleTest.jav
Normal file
19
resources/AllgemeinTest/TripleTest.jav
Normal 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());
|
||||
}
|
||||
}
|
12
resources/AllgemeinTest/Twice2.jav
Normal file
12
resources/AllgemeinTest/Twice2.jav
Normal 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;
|
||||
}
|
@ -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"; }
|
||||
}
|
14
resources/bytecode/javFiles/Access.jav
Normal file
14
resources/bytecode/javFiles/Access.jav
Normal 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 {
|
||||
}
|
8
resources/bytecode/javFiles/Annotation.jav
Normal file
8
resources/bytecode/javFiles/Annotation.jav
Normal file
@ -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;
|
||||
}
|
||||
}
|
7
resources/bytecode/javFiles/Bug112.jav
Normal file
7
resources/bytecode/javFiles/Bug112.jav
Normal file
@ -0,0 +1,7 @@
|
||||
public class Bug112 {
|
||||
public m(x) {
|
||||
var y;
|
||||
x = y;
|
||||
return y;
|
||||
}
|
||||
}
|
12
resources/bytecode/javFiles/Bug122.jav
Normal file
12
resources/bytecode/javFiles/Bug122.jav
Normal 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++) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
13
resources/bytecode/javFiles/Bug123.jav
Normal file
13
resources/bytecode/javFiles/Bug123.jav
Normal 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;
|
||||
}
|
||||
}
|
16
resources/bytecode/javFiles/Bug125.jav
Normal file
16
resources/bytecode/javFiles/Bug125.jav
Normal 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();
|
||||
}
|
||||
}
|
15
resources/bytecode/javFiles/Bug285.jav
Normal file
15
resources/bytecode/javFiles/Bug285.jav
Normal 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();
|
||||
}
|
||||
}
|
7
resources/bytecode/javFiles/Bug290A.jav
Normal file
7
resources/bytecode/javFiles/Bug290A.jav
Normal file
@ -0,0 +1,7 @@
|
||||
import Bug290B;
|
||||
|
||||
public class Bug290A {
|
||||
public void m() {
|
||||
new Bug290B();
|
||||
}
|
||||
}
|
11
resources/bytecode/javFiles/Bug290B.jav
Normal file
11
resources/bytecode/javFiles/Bug290B.jav
Normal 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() + "$$";
|
||||
}
|
||||
}
|
13
resources/bytecode/javFiles/Bug293.jav
Normal file
13
resources/bytecode/javFiles/Bug293.jav
Normal 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();
|
||||
}
|
||||
|
18
resources/bytecode/javFiles/Bug295.jav
Normal file
18
resources/bytecode/javFiles/Bug295.jav
Normal 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;
|
||||
}
|
||||
}
|
||||
|
11
resources/bytecode/javFiles/Bug296.jav
Normal file
11
resources/bytecode/javFiles/Bug296.jav
Normal file
@ -0,0 +1,11 @@
|
||||
import java.lang.Integer;
|
||||
|
||||
public class Bug296 {
|
||||
public static m1() {
|
||||
return m2();
|
||||
}
|
||||
|
||||
static m2() {
|
||||
return 10;
|
||||
}
|
||||
}
|
11
resources/bytecode/javFiles/Bug297.jav
Normal file
11
resources/bytecode/javFiles/Bug297.jav
Normal 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);
|
||||
}
|
||||
}
|
17
resources/bytecode/javFiles/Bug298.jav
Normal file
17
resources/bytecode/javFiles/Bug298.jav
Normal 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;
|
||||
}
|
||||
}
|
17
resources/bytecode/javFiles/Bug300.jav
Normal file
17
resources/bytecode/javFiles/Bug300.jav
Normal 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";
|
||||
}
|
||||
}
|
4
resources/bytecode/javFiles/Bug301.jav
Normal file
4
resources/bytecode/javFiles/Bug301.jav
Normal file
@ -0,0 +1,4 @@
|
||||
import java.util.HashSet;
|
||||
|
||||
public class Bug301<A> extends HashSet<A> {
|
||||
}
|
11
resources/bytecode/javFiles/Bug302.jav
Normal file
11
resources/bytecode/javFiles/Bug302.jav
Normal 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>());
|
||||
}
|
||||
}
|
13
resources/bytecode/javFiles/Bug306.jav
Normal file
13
resources/bytecode/javFiles/Bug306.jav
Normal 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);
|
||||
}
|
||||
}
|
46
resources/bytecode/javFiles/Bug307.jav
Normal file
46
resources/bytecode/javFiles/Bug307.jav
Normal 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);
|
||||
}
|
||||
}
|
16
resources/bytecode/javFiles/Bug309.jav
Normal file
16
resources/bytecode/javFiles/Bug309.jav
Normal 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;
|
||||
}
|
||||
}
|
9
resources/bytecode/javFiles/Bug310.jav
Normal file
9
resources/bytecode/javFiles/Bug310.jav
Normal file
@ -0,0 +1,9 @@
|
||||
import java.lang.Integer;
|
||||
import java.lang.String;
|
||||
|
||||
public class Bug310 {
|
||||
Integer i = 3;
|
||||
public toString() {
|
||||
return i.toString();
|
||||
}
|
||||
}
|
10
resources/bytecode/javFiles/Bug311.jav
Normal file
10
resources/bytecode/javFiles/Bug311.jav
Normal file
@ -0,0 +1,10 @@
|
||||
import java.lang.String;
|
||||
|
||||
public class Bug311 {
|
||||
Bug311A i = new Bug311A();
|
||||
public toString() {
|
||||
return i.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class Bug311A {}
|
8
resources/bytecode/javFiles/Bug312.jav
Normal file
8
resources/bytecode/javFiles/Bug312.jav
Normal file
@ -0,0 +1,8 @@
|
||||
public class Bug312 {
|
||||
Bug312A i = new Bug312A();
|
||||
public main() {
|
||||
if (i == null) {}
|
||||
}
|
||||
}
|
||||
|
||||
class Bug312A {}
|
13
resources/bytecode/javFiles/Bug314.jav
Normal file
13
resources/bytecode/javFiles/Bug314.jav
Normal 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());
|
||||
}
|
||||
}
|
13
resources/bytecode/javFiles/Bug325.jav
Normal file
13
resources/bytecode/javFiles/Bug325.jav
Normal 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();
|
||||
}
|
||||
}
|
8
resources/bytecode/javFiles/Bug326.jav
Normal file
8
resources/bytecode/javFiles/Bug326.jav
Normal 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);
|
||||
}
|
||||
}
|
8
resources/bytecode/javFiles/Bug328.jav
Normal file
8
resources/bytecode/javFiles/Bug328.jav
Normal file
@ -0,0 +1,8 @@
|
||||
import java.lang.Integer;
|
||||
import Bug328B;
|
||||
|
||||
public class Bug328 extends Bug328B {
|
||||
public Bug328() {
|
||||
super(1);
|
||||
}
|
||||
}
|
BIN
resources/bytecode/javFiles/Bug328B.class
Normal file
BIN
resources/bytecode/javFiles/Bug328B.class
Normal file
Binary file not shown.
3
resources/bytecode/javFiles/Bug328B.java
Normal file
3
resources/bytecode/javFiles/Bug328B.java
Normal file
@ -0,0 +1,3 @@
|
||||
public class Bug328B {
|
||||
public Bug328B(int a) {}
|
||||
}
|
11
resources/bytecode/javFiles/Bug333.jav
Normal file
11
resources/bytecode/javFiles/Bug333.jav
Normal file
@ -0,0 +1,11 @@
|
||||
import java.lang.String;
|
||||
|
||||
public class Bug333 {
|
||||
public static String Bar = "Bar";
|
||||
}
|
||||
|
||||
class Bar {
|
||||
public bar() {
|
||||
String s = Bug333.Bar;
|
||||
}
|
||||
}
|
11
resources/bytecode/javFiles/Bug338.jav
Normal file
11
resources/bytecode/javFiles/Bug338.jav
Normal file
@ -0,0 +1,11 @@
|
||||
import java.util.List;
|
||||
import java.lang.Integer;
|
||||
import java.lang.String;
|
||||
import java.lang.Object;
|
||||
import java.util.List;
|
||||
|
||||
public class Bug338 {
|
||||
public hashCode() {
|
||||
return List.of(42);
|
||||
}
|
||||
}
|
16
resources/bytecode/javFiles/Bug98.jav
Normal file
16
resources/bytecode/javFiles/Bug98.jav
Normal file
@ -0,0 +1,16 @@
|
||||
import java.util.Vector;
|
||||
import java.lang.Integer;
|
||||
import java.lang.String;
|
||||
|
||||
public class Bug98 {
|
||||
|
||||
public m(x, y ,z) {
|
||||
x = new Vector<Integer>();
|
||||
y = new Vector<String>();
|
||||
x.add(1);
|
||||
y.add("2");
|
||||
//Integer i = x.elementAt(0);
|
||||
//String s = y.elementAt(0);
|
||||
return z.vectorAddAll(x, y);
|
||||
}
|
||||
}
|
16
resources/bytecode/javFiles/BugXXX.jav
Normal file
16
resources/bytecode/javFiles/BugXXX.jav
Normal file
@ -0,0 +1,16 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.lang.String;
|
||||
import java.util.stream.Stream;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Predicate;
|
||||
import java.lang.Integer;
|
||||
|
||||
class BugXXX {
|
||||
public main() {
|
||||
List<Integer> i = new ArrayList<>(List.of(1,2,3,4,5,6,7,8,9,10));
|
||||
Optional<Integer> tmp = i.stream().filter(x -> x == 5).map(x -> x*2).findFirst();
|
||||
return tmp;
|
||||
}
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
import java.lang.Integer;
|
||||
import java.lang.String;
|
||||
|
||||
import BB;
|
||||
|
||||
public class CC extends BB {
|
||||
m(Integer i) {
|
||||
public m(Integer i) {
|
||||
return "CC";
|
||||
}
|
||||
|
||||
m2(CC x) { return "CC"; }
|
||||
public m2(CC x) { return "CC"; }
|
||||
}
|
||||
|
13
resources/bytecode/javFiles/Chain.jav
Normal file
13
resources/bytecode/javFiles/Chain.jav
Normal file
@ -0,0 +1,13 @@
|
||||
import java.lang.Integer;
|
||||
|
||||
public class Chain {
|
||||
x = 5;
|
||||
|
||||
chain() {
|
||||
return this;
|
||||
}
|
||||
|
||||
public m() {
|
||||
return this.chain().chain().chain().x;
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
class Cycle {
|
||||
m(x, y) {
|
||||
public class Cycle {
|
||||
public m(x, y) {
|
||||
y = x;
|
||||
x = y;
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
import java.lang.Integer;
|
||||
import CC;
|
||||
|
||||
public class DD extends CC { }
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
import java.lang.String;
|
||||
import java.lang.RuntimeException;
|
||||
|
||||
public class Exceptions {
|
||||
// m(Integer i) throws
|
||||
public m() {
|
||||
throw new RuntimeException("Some Exception");
|
||||
}
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
import java.lang.Integer;
|
||||
import java.lang.Double;
|
||||
import java.lang.String;
|
||||
|
||||
public class Fac {
|
||||
|
||||
getFac(n){
|
||||
public class Fac {
|
||||
getFac(n) {
|
||||
var res = 1;
|
||||
var i = 1;
|
||||
while(i<=n) {
|
||||
while (i <= n) {
|
||||
res = res * i;
|
||||
i++;
|
||||
}
|
||||
|
@ -1,12 +1,14 @@
|
||||
import java.lang.String;
|
||||
|
||||
public class FieldTph2 {
|
||||
a;
|
||||
public a;
|
||||
|
||||
m(b){
|
||||
public m(b){
|
||||
b = a;
|
||||
return b;
|
||||
}
|
||||
|
||||
m2(c){
|
||||
public m2(c){
|
||||
a = c;
|
||||
}
|
||||
}
|
@ -1,20 +1,20 @@
|
||||
public class FieldTphConsMeth {
|
||||
|
||||
a;
|
||||
public a;
|
||||
public FieldTphConsMeth(c) {
|
||||
a = id(c);
|
||||
}
|
||||
|
||||
id(b) {
|
||||
public id(b) {
|
||||
return b;
|
||||
}
|
||||
|
||||
setA(x) {
|
||||
public setA(x) {
|
||||
a = x;
|
||||
return a;
|
||||
}
|
||||
|
||||
m(x,y) {
|
||||
public m(x,y) {
|
||||
x = id(y);
|
||||
}
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
import java.lang.Boolean;
|
||||
|
||||
public class FieldTphMMeth {
|
||||
a;
|
||||
public a;
|
||||
|
||||
public FieldTphMMeth(c,d,e) {
|
||||
a = m(c,d,e);
|
||||
}
|
||||
|
||||
m(b,d,e) {
|
||||
public m(b,d,e) {
|
||||
if(e) {
|
||||
return m3(b);
|
||||
} else{
|
||||
@ -16,11 +16,11 @@ public class FieldTphMMeth {
|
||||
|
||||
}
|
||||
|
||||
m2(b) {
|
||||
public m2(b) {
|
||||
a = m3(b);
|
||||
}
|
||||
|
||||
m3(b){
|
||||
public m3(b){
|
||||
return b;
|
||||
}
|
||||
|
||||
|
@ -1,23 +1,23 @@
|
||||
import java.lang.Integer;
|
||||
import java.lang.Boolean;
|
||||
|
||||
class For{
|
||||
Integer m(Integer x){
|
||||
public class For{
|
||||
public Integer m(Integer x){
|
||||
var c = x + 2;
|
||||
// Boolean b = true;
|
||||
// c = 5;
|
||||
// c++;
|
||||
// ++c;
|
||||
// c--;
|
||||
// --c;
|
||||
// while(x<2){
|
||||
// x = x +1;
|
||||
// b = false;
|
||||
// }
|
||||
return c;
|
||||
// for(int i = 0;i<10;i++) {
|
||||
// x = x + 5;
|
||||
// }
|
||||
Boolean b = true;
|
||||
c = 5;
|
||||
c++;
|
||||
++c;
|
||||
c--;
|
||||
--c;
|
||||
while(x<2){
|
||||
x = x +1;
|
||||
b = false;
|
||||
}
|
||||
for(int i = 0; i<10; i++) {
|
||||
x = x + 5;
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
||||
// m2(Integer x){
|
||||
|
23
resources/bytecode/javFiles/ForEach.jav
Normal file
23
resources/bytecode/javFiles/ForEach.jav
Normal file
@ -0,0 +1,23 @@
|
||||
import java.util.ArrayList;
|
||||
import java.lang.Integer;
|
||||
import java.lang.Number;
|
||||
|
||||
public class ForEach {
|
||||
public m() {
|
||||
var list = new ArrayList<>();
|
||||
list.add(1); list.add(2); list.add(3);
|
||||
|
||||
var sum = 0;
|
||||
for (var i : list) {
|
||||
sum = sum + i;
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
public m2() {
|
||||
var list = new ArrayList<? extends Number>();
|
||||
|
||||
for (Number n : list) {
|
||||
}
|
||||
}
|
||||
}
|
15
resources/bytecode/javFiles/FunctionalInterface.jav
Normal file
15
resources/bytecode/javFiles/FunctionalInterface.jav
Normal file
@ -0,0 +1,15 @@
|
||||
import java.lang.Integer;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class FunctionalInterface {
|
||||
Integer accept(Function<Integer, Integer> f) {
|
||||
return f.apply(20);
|
||||
}
|
||||
|
||||
public Integer m() {
|
||||
var v = accept(i -> {
|
||||
return i * 10;
|
||||
});
|
||||
return v;
|
||||
}
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
import java.lang.String;
|
||||
import java.lang.Integer;
|
||||
|
||||
class Generics2<B extends String>{
|
||||
<B extends Integer> B m1(B b){
|
||||
public class Generics2<B extends String>{
|
||||
public <X extends Integer> X m1(X b){
|
||||
return b;
|
||||
}
|
||||
|
||||
|
9
resources/bytecode/javFiles/HelloWorld.jav
Normal file
9
resources/bytecode/javFiles/HelloWorld.jav
Normal file
@ -0,0 +1,9 @@
|
||||
import java.lang.System;
|
||||
import java.lang.String;
|
||||
import java.io.PrintStream;
|
||||
|
||||
public class HelloWorld {
|
||||
public static hello() {
|
||||
System.out.println("Hello World!");
|
||||
}
|
||||
}
|
5
resources/bytecode/javFiles/ImportWildcard.jav
Normal file
5
resources/bytecode/javFiles/ImportWildcard.jav
Normal file
@ -0,0 +1,5 @@
|
||||
import java.lang.*;
|
||||
|
||||
public class ImportWildcard {
|
||||
m(a, b) { return a * b; }
|
||||
}
|
@ -2,15 +2,18 @@ import java.util.Vector;
|
||||
|
||||
import java.lang.Integer;
|
||||
import java.lang.String;
|
||||
|
||||
import AA;
|
||||
import BB;
|
||||
import CC;
|
||||
import DD;
|
||||
|
||||
public class Inherit {
|
||||
|
||||
main(d, i) {
|
||||
public main(d, i) {
|
||||
return d.m(i);
|
||||
}
|
||||
|
||||
main(v, i) {
|
||||
public main(v, i) {
|
||||
var aa = v.elementAt(0);
|
||||
return aa.m(i);
|
||||
}
|
||||
|
@ -2,15 +2,18 @@ import java.util.Vector;
|
||||
|
||||
import java.lang.Integer;
|
||||
import java.lang.String;
|
||||
|
||||
import AA;
|
||||
import BB;
|
||||
import CC;
|
||||
import DD;
|
||||
|
||||
public class Inherit2 {
|
||||
|
||||
main(d) {
|
||||
public main(d) {
|
||||
return d.m2(d);
|
||||
}
|
||||
|
||||
main(v) {
|
||||
public main(v) {
|
||||
var aa = v.elementAt(0);
|
||||
return aa.m2(aa);
|
||||
}
|
||||
|
18
resources/bytecode/javFiles/InstanceOf.jav
Normal file
18
resources/bytecode/javFiles/InstanceOf.jav
Normal file
@ -0,0 +1,18 @@
|
||||
import java.lang.Object;
|
||||
import java.lang.Integer;
|
||||
import java.lang.Boolean;
|
||||
|
||||
interface Interface {}
|
||||
|
||||
class Test implements Interface {
|
||||
}
|
||||
class Test2 {
|
||||
}
|
||||
|
||||
public class InstanceOf {
|
||||
a = new Test();
|
||||
|
||||
public test1() { return this.a instanceof Test; }
|
||||
public test2() { return this.a instanceof Interface; }
|
||||
public test3() { return this.a instanceof Integer; }
|
||||
}
|
33
resources/bytecode/javFiles/Interfaces.jav
Normal file
33
resources/bytecode/javFiles/Interfaces.jav
Normal file
@ -0,0 +1,33 @@
|
||||
import java.lang.Integer;
|
||||
|
||||
interface A {
|
||||
void method1();
|
||||
default method2() {
|
||||
}
|
||||
}
|
||||
|
||||
interface B {
|
||||
void method3();
|
||||
}
|
||||
|
||||
interface C {
|
||||
Integer myInt();
|
||||
}
|
||||
|
||||
class ClassX implements A {
|
||||
}
|
||||
|
||||
record ClassY(Integer myInt) implements C {}
|
||||
|
||||
public class Interfaces implements A, B {
|
||||
public void method1() {
|
||||
}
|
||||
public void method3() {
|
||||
var intf = new Interfaces();
|
||||
intf = new ClassX();
|
||||
intf.method1();
|
||||
|
||||
C c = new ClassY(10);
|
||||
c.myInt();
|
||||
}
|
||||
}
|
@ -1,8 +1,15 @@
|
||||
public class LamRunnable{
|
||||
import java.lang.Runnable;
|
||||
import java.lang.System;
|
||||
import java.lang.String;
|
||||
import java.io.PrintStream;
|
||||
|
||||
public class LamRunnable {
|
||||
|
||||
public LamRunnable() {
|
||||
Runnable lam = () -> {
|
||||
System.out.println("lambda");
|
||||
};
|
||||
|
||||
public LamRunnable(){
|
||||
|
||||
Runnable lam = () -> {System.out.println("lambda");};
|
||||
lam.run();
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import java.lang.Integer;
|
||||
|
||||
public class Lambda {
|
||||
|
||||
m () {
|
||||
public m() {
|
||||
var lam1 = (x) -> {
|
||||
return x;
|
||||
};
|
||||
|
@ -1,13 +1,16 @@
|
||||
import java.lang.Runnable;
|
||||
import java.lang.String;
|
||||
import java.lang.System;
|
||||
import java.io.PrintStream;
|
||||
|
||||
public class LamRunnable{
|
||||
public class LambdaRunnable {
|
||||
|
||||
public LamRunnable(){
|
||||
public LambdaRunnable(){
|
||||
|
||||
|
||||
Runnable lam = () -> {System.out.println("lambda");};
|
||||
|
||||
Runnable lam = () -> {
|
||||
System.out.println("Runnable is running");
|
||||
};
|
||||
lam.run();
|
||||
}
|
||||
}
|
||||
|
@ -4,52 +4,52 @@ import java.lang.Float;
|
||||
import java.lang.Double;
|
||||
|
||||
public class LessEqual {
|
||||
lessEqual(Integer a, Integer b){
|
||||
public lessEqual(Integer a, Integer b){
|
||||
var c = a<=b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessEqual(Long a, Long b){
|
||||
public lessEqual(Long a, Long b){
|
||||
var c = a<=b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessEqual(Float a, Float b){
|
||||
public lessEqual(Float a, Float b){
|
||||
var c = a<=b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessEqual(Double a, Double b){
|
||||
public lessEqual(Double a, Double b){
|
||||
var c = a<=b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessEqual(Long a, Integer b){
|
||||
public lessEqual(Long a, Integer b){
|
||||
var c = a<=b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessEqual(Float a, Integer b){
|
||||
public lessEqual(Float a, Integer b){
|
||||
var c = a<=b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessEqual(Double a, Integer b){
|
||||
public lessEqual(Double a, Integer b){
|
||||
var c = a<=b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessEqual(Float a, Long b){
|
||||
public lessEqual(Float a, Long b){
|
||||
var c = a<=b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessEqual(Double a, Long b){
|
||||
public lessEqual(Double a, Long b){
|
||||
var c = a<=b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessEqual(Double a, Float b){
|
||||
public lessEqual(Double a, Float b){
|
||||
var c = a<=b;
|
||||
return c;
|
||||
}
|
||||
|
@ -5,52 +5,52 @@ import java.lang.Double;
|
||||
|
||||
public class LessThan {
|
||||
|
||||
lessThan(Integer a, Integer b){
|
||||
public lessThan(Integer a, Integer b){
|
||||
var c = a<b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessThan(Long a, Long b){
|
||||
public lessThan(Long a, Long b){
|
||||
var c = a<b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessThan(Float a, Float b){
|
||||
public lessThan(Float a, Float b){
|
||||
var c = a<b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessThan(Double a, Double b){
|
||||
public lessThan(Double a, Double b){
|
||||
var c = a<b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessThan(Long a, Integer b){
|
||||
public lessThan(Long a, Integer b){
|
||||
var c = a<b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessThan(Float a, Integer b){
|
||||
public lessThan(Float a, Integer b){
|
||||
var c = a<b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessThan(Double a, Integer b){
|
||||
public lessThan(Double a, Integer b){
|
||||
var c = a<b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessThan(Float a, Long b){
|
||||
public lessThan(Float a, Long b){
|
||||
var c = a<b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessThan(Double a, Long b){
|
||||
public lessThan(Double a, Long b){
|
||||
var c = a<b;
|
||||
return c;
|
||||
}
|
||||
|
||||
lessThan(Double a, Float b){
|
||||
public lessThan(Double a, Float b){
|
||||
var c = a<b;
|
||||
return c;
|
||||
}
|
||||
|
8
resources/bytecode/javFiles/Literal.jav
Normal file
8
resources/bytecode/javFiles/Literal.jav
Normal file
@ -0,0 +1,8 @@
|
||||
import java.lang.Character;
|
||||
|
||||
public class Literal {
|
||||
public m() { return null; }
|
||||
public m2() { return 'C'; }
|
||||
public m3() { return 10L; }
|
||||
public m4() { return 10.5F; }
|
||||
}
|
@ -1,3 +1,5 @@
|
||||
import java.util.List;
|
||||
import java.util.AbstractList;
|
||||
import java.util.Vector;
|
||||
import java.lang.Integer;
|
||||
//import java.lang.Float;
|
||||
@ -9,7 +11,7 @@ public class Matrix extends Vector<Vector<Integer>> {
|
||||
Matrix () {
|
||||
}
|
||||
|
||||
Matrix(vv) {
|
||||
public Matrix(vv) {
|
||||
Integer i;
|
||||
i = 0;
|
||||
while(i < vv.size()) {
|
||||
@ -19,7 +21,7 @@ public class Matrix extends Vector<Vector<Integer>> {
|
||||
}
|
||||
}
|
||||
|
||||
mul(m) {
|
||||
public mul(m) {
|
||||
var ret = new Matrix();
|
||||
var i = 0;
|
||||
while(i < size()) {
|
||||
@ -30,8 +32,8 @@ public class Matrix extends Vector<Vector<Integer>> {
|
||||
var erg = 0;
|
||||
var k = 0;
|
||||
while(k < v1.size()) {
|
||||
erg = erg + v1.elementAt(k)
|
||||
* m.elementAt(k).elementAt(j);
|
||||
erg = erg + v1.get(k)
|
||||
* m.get(k).get(j);
|
||||
k++; }
|
||||
// v2.addElement(new Integer(erg));
|
||||
v2.addElement(erg);
|
||||
|
@ -8,7 +8,7 @@ public class MatrixOP extends Vector<Vector<Integer>> {
|
||||
MatrixOP () {
|
||||
}
|
||||
|
||||
MatrixOP(vv) {
|
||||
public MatrixOP(vv) {
|
||||
Integer i;
|
||||
i = 0;
|
||||
while(i < vv.size()) {
|
||||
|
@ -2,16 +2,16 @@ import java.util.List;
|
||||
import java.lang.Integer;
|
||||
//import java.util.Collection;
|
||||
|
||||
class Merge {
|
||||
public class Merge {
|
||||
|
||||
merge(a, b) {
|
||||
public merge(a, b) {
|
||||
a.addAll(b);
|
||||
return a;
|
||||
}
|
||||
|
||||
|
||||
|
||||
sort(in){
|
||||
public sort(in){
|
||||
var firstHalf = in.subList(1,2);
|
||||
var secondHalf = in.subList(1,2);
|
||||
return merge(sort(firstHalf), sort(secondHalf));
|
||||
|
@ -1,13 +1,14 @@
|
||||
import java.lang.Double;
|
||||
import java.lang.String;
|
||||
import java.lang.Long;
|
||||
import java.lang.Integer;
|
||||
|
||||
class OL {
|
||||
m (x) { return x + x; }
|
||||
public class OL {
|
||||
public m (x) { return x + x; }
|
||||
}
|
||||
|
||||
class OLMain {
|
||||
main(x) {
|
||||
public class OLMain {
|
||||
public main(x) {
|
||||
var ol;
|
||||
ol = new OL();
|
||||
return ol.m(x);
|
||||
|
17
resources/bytecode/javFiles/OLConstructor.jav
Normal file
17
resources/bytecode/javFiles/OLConstructor.jav
Normal file
@ -0,0 +1,17 @@
|
||||
import java.lang.Integer;
|
||||
|
||||
public class Parent {
|
||||
public Integer x;
|
||||
|
||||
public Parent(Integer a) {
|
||||
this.x = a;
|
||||
}
|
||||
|
||||
public Parent() {}
|
||||
}
|
||||
|
||||
public class Child extends Parent {
|
||||
public Child() {
|
||||
super(3);
|
||||
}
|
||||
}
|
@ -1,11 +1,34 @@
|
||||
public class Op1{
|
||||
public Op1() {
|
||||
|
||||
Runnable lam = () -> {
|
||||
String test = "";
|
||||
String b = "b";
|
||||
test = b;
|
||||
System.out.println(test);};
|
||||
//lam.run();
|
||||
import java.lang.Boolean;
|
||||
import java.lang.Integer;
|
||||
|
||||
public class Op1 {
|
||||
public not() {
|
||||
var b = false;
|
||||
var c = !b;
|
||||
return c;
|
||||
}
|
||||
|
||||
public or() {
|
||||
var a = 10;
|
||||
var b = 20;
|
||||
return a | b;
|
||||
}
|
||||
|
||||
public and() {
|
||||
var a = 10;
|
||||
var b = 20;
|
||||
return a & b;
|
||||
}
|
||||
|
||||
public xor() {
|
||||
var a = 10;
|
||||
var b = 20;
|
||||
return a ^ b;
|
||||
}
|
||||
|
||||
public mod() {
|
||||
var a = 10;
|
||||
var b = 2;
|
||||
return a % b;
|
||||
}
|
||||
}
|
@ -1,11 +1,17 @@
|
||||
import java.lang.Integer;
|
||||
import java.lang.Double;
|
||||
import java.lang.String;
|
||||
|
||||
public class Op2 {
|
||||
m(){
|
||||
public m(){
|
||||
var x = "";
|
||||
var a = 5+x;
|
||||
|
||||
|
||||
Integer x = 10;
|
||||
Double y = 10.5;
|
||||
|
||||
var a = x - y;
|
||||
|
||||
return a;
|
||||
}
|
||||
}
|
50
resources/bytecode/javFiles/OverloadPattern.jav
Normal file
50
resources/bytecode/javFiles/OverloadPattern.jav
Normal file
@ -0,0 +1,50 @@
|
||||
import java.lang.Integer;
|
||||
import java.lang.Number;
|
||||
import java.lang.Float;
|
||||
|
||||
record Point(Number x, Number y) {}
|
||||
|
||||
public class OverloadPattern {
|
||||
public m(Point(Integer x, Integer y)) {
|
||||
return x + y;
|
||||
}
|
||||
|
||||
public m(Point(Float x, Float y)) {
|
||||
return x * y;
|
||||
}
|
||||
|
||||
public m(Integer x) {
|
||||
return x;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
public class OverloadPattern {
|
||||
Integer m$Point$_$java$lang$Integer$_$java$lang$Integer$_$(Point point) {
|
||||
var x = point.x();
|
||||
var y = point.y();
|
||||
return x + y;
|
||||
}
|
||||
|
||||
Float m$Point$_$java$lang$Float$_$java$lang$Float$_$(Point point) {
|
||||
var x = point.x();
|
||||
var y = point.y();
|
||||
return x * y;
|
||||
}
|
||||
|
||||
Number m(Point point) {
|
||||
return switch(point) {
|
||||
case Point(Integer x, Integer y) ->
|
||||
m$Point$_$java$lang$Integer$_$java$lang$Integer$_$(point);
|
||||
case Point(Float x, Float y) ->
|
||||
m$Point$_$java$lang$Float$_$java$lang$Float$_$(point);
|
||||
default -> throw new IllegalArgumentException();
|
||||
}
|
||||
}
|
||||
|
||||
Integer m(Integer x) {
|
||||
return x;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
@ -2,17 +2,17 @@ import java.lang.String;
|
||||
|
||||
public class Overloading{
|
||||
|
||||
test(x){
|
||||
public test(x){
|
||||
return x.methode();
|
||||
}
|
||||
|
||||
methode(){
|
||||
public methode(){
|
||||
return "Overloading";
|
||||
}
|
||||
}
|
||||
|
||||
public class Overloading2{
|
||||
methode(){
|
||||
public methode(){
|
||||
return "Overloading2";
|
||||
}
|
||||
}
|
12
resources/bytecode/javFiles/OverrideEquals.jav
Normal file
12
resources/bytecode/javFiles/OverrideEquals.jav
Normal file
@ -0,0 +1,12 @@
|
||||
import java.lang.Object;
|
||||
import java.lang.Boolean;
|
||||
|
||||
public class OverrideEquals extends OverrideRoot {
|
||||
public boolean equals(Object o) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public int method(int var1, float var2) {
|
||||
return 0;
|
||||
}
|
||||
}
|
BIN
resources/bytecode/javFiles/OverrideRoot.class
Normal file
BIN
resources/bytecode/javFiles/OverrideRoot.class
Normal file
Binary file not shown.
3
resources/bytecode/javFiles/OverrideRoot.java
Normal file
3
resources/bytecode/javFiles/OverrideRoot.java
Normal file
@ -0,0 +1,3 @@
|
||||
public abstract class OverrideRoot {
|
||||
public abstract int method(int a, float b);
|
||||
}
|
@ -2,31 +2,16 @@ import java.util.Vector;
|
||||
import java.lang.Boolean;
|
||||
import java.lang.Object;
|
||||
|
||||
class Pair<U, T> {
|
||||
U a;
|
||||
T b;
|
||||
|
||||
make(x) {
|
||||
var ret = new Pair<>();
|
||||
ret.a = x.elementAt(0);
|
||||
ret.b = x.elementAt(1);
|
||||
return ret;
|
||||
}
|
||||
/*
|
||||
eq(a, b) {
|
||||
b = a;
|
||||
return a == b;
|
||||
}
|
||||
public class Pair<T, U> {
|
||||
T x;
|
||||
U y;
|
||||
|
||||
compare( p) {
|
||||
return eq(p.a, p.b);
|
||||
//return p.a == p.b;
|
||||
}
|
||||
public fst() {
|
||||
return x;
|
||||
}
|
||||
|
||||
void m(Pair<?, ?> p, List<? extends Eq> b)
|
||||
{
|
||||
//this.compare(p); //1, type incorrect
|
||||
this.compare(this.make(b)); //2, OK
|
||||
public snd() {
|
||||
return y;
|
||||
}
|
||||
*/
|
||||
}
|
@ -3,7 +3,7 @@ import java.lang.String;
|
||||
|
||||
public class Plus {
|
||||
|
||||
m(a,b) {
|
||||
public m(a,b) {
|
||||
return a+b;
|
||||
}
|
||||
}
|
@ -1,25 +1,25 @@
|
||||
import java.lang.Integer;
|
||||
|
||||
public class PostIncDec {
|
||||
m() {
|
||||
public m() {
|
||||
var i = 0;
|
||||
i++;
|
||||
return i;
|
||||
}
|
||||
|
||||
m2() {
|
||||
public m2() {
|
||||
var i = 0;
|
||||
var j = i++;
|
||||
return j;
|
||||
}
|
||||
|
||||
d() {
|
||||
public d() {
|
||||
var i = 0;
|
||||
i--;
|
||||
return i;
|
||||
}
|
||||
|
||||
d2() {
|
||||
public d2() {
|
||||
var i = 0;
|
||||
var j = i--;
|
||||
return j;
|
||||
|
@ -1,25 +1,25 @@
|
||||
import java.lang.Integer;
|
||||
|
||||
public class PreInc {
|
||||
m() {
|
||||
public m() {
|
||||
var i = 0;
|
||||
++i;
|
||||
return i;
|
||||
}
|
||||
|
||||
m2() {
|
||||
public m2() {
|
||||
var i = 0;
|
||||
var j = ++i;
|
||||
return j;
|
||||
}
|
||||
|
||||
d() {
|
||||
public d() {
|
||||
var i = 0;
|
||||
--i;
|
||||
return i;
|
||||
}
|
||||
|
||||
d2() {
|
||||
public d2() {
|
||||
var i = 0;
|
||||
var j = --i;
|
||||
return j;
|
||||
|
@ -3,16 +3,16 @@ import java.util.Stack;
|
||||
|
||||
public class Put {
|
||||
|
||||
putElement(ele, v) {
|
||||
public putElement(ele, v) {
|
||||
v.addElement(ele);
|
||||
}
|
||||
|
||||
putElement(ele, s) {
|
||||
public putElement(ele, s) {
|
||||
s.push(ele);
|
||||
}
|
||||
|
||||
|
||||
main(ele, x) {
|
||||
public main(ele, x) {
|
||||
putElement(ele, x);
|
||||
}
|
||||
|
||||
|
22
resources/bytecode/javFiles/RecordTest.jav
Normal file
22
resources/bytecode/javFiles/RecordTest.jav
Normal file
@ -0,0 +1,22 @@
|
||||
import java.lang.Integer;
|
||||
|
||||
record Rec(Integer a, Integer b) {}
|
||||
|
||||
/*public class Rec {
|
||||
x; y;
|
||||
Rec(Integer a, Integer b) {
|
||||
x = a;
|
||||
y = b;
|
||||
}
|
||||
}*/
|
||||
|
||||
public class RecordTest {
|
||||
Rec a = new Rec(10, 20);
|
||||
Rec b = new Rec(10, 20);
|
||||
Rec c = new Rec(20, 40);
|
||||
|
||||
public doesEqual() { return a.equals(b); }
|
||||
public doesNotEqual() { return b.equals(c); }
|
||||
public hashCode() { return a.hashCode(); }
|
||||
public toString() { return a.toString(); }
|
||||
}
|
@ -2,7 +2,7 @@ import java.lang.Integer;
|
||||
import java.lang.Boolean;
|
||||
|
||||
public class RelOps {
|
||||
m(a,b){
|
||||
public m(a,b){
|
||||
return a<b;
|
||||
}
|
||||
}
|
@ -6,7 +6,7 @@ import java.lang.Float;
|
||||
|
||||
public class Scalar extends Vector<Integer> {
|
||||
|
||||
Scalar(v) {
|
||||
public Scalar(v) {
|
||||
Integer i;
|
||||
i = 0;
|
||||
while(i < v.size()) {
|
||||
@ -15,7 +15,7 @@ public class Scalar extends Vector<Integer> {
|
||||
}
|
||||
}
|
||||
|
||||
mul(v) {
|
||||
public mul(v) {
|
||||
var ret = 0;
|
||||
var i = 0;
|
||||
while(i < size()) {
|
||||
|
18
resources/bytecode/javFiles/Static.jav
Normal file
18
resources/bytecode/javFiles/Static.jav
Normal file
@ -0,0 +1,18 @@
|
||||
import java.lang.Integer;
|
||||
|
||||
class Other {
|
||||
static field = 20;
|
||||
}
|
||||
|
||||
public class Static {
|
||||
static i = 20;
|
||||
|
||||
static {
|
||||
var x = 30;
|
||||
i = x;
|
||||
}
|
||||
|
||||
public static m() {
|
||||
return i + Other.field;
|
||||
}
|
||||
}
|
11
resources/bytecode/javFiles/SuperCall.jav
Normal file
11
resources/bytecode/javFiles/SuperCall.jav
Normal file
@ -0,0 +1,11 @@
|
||||
import java.lang.Integer;
|
||||
|
||||
class Parent {
|
||||
public Parent(Integer x) {}
|
||||
}
|
||||
|
||||
public class SuperCall extends Parent {
|
||||
public SuperCall() {
|
||||
super(20);
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user