mirror of
https://github.com/JonathanFleischmann/CompilerULTIMATE.git
synced 2024-12-28 16:48:03 +00:00
Merge branch 'main' of https://github.com/JonathanFleischmann/CompilerULTIMATE
This commit is contained in:
commit
a2fc1686b1
@ -13,9 +13,12 @@ import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class TypedClass implements Node {
|
||||
private Boolean isPublic;
|
||||
private TypedId typedId;
|
||||
private List<TypedField> typedFields;
|
||||
private List<TypedMethod> typedMethods;
|
||||
private TypedMainMethod typedMainMethod;
|
||||
private List<TypedConstructor> typedConstructors;
|
||||
|
||||
@Override
|
||||
public Type typeCheck(Map<String, Type> localVar, Map<String, TypedClass> classes) {
|
||||
|
@ -12,6 +12,7 @@ import java.util.Map;
|
||||
@Data
|
||||
public class TypedConstructor implements Node {
|
||||
|
||||
private Boolean isPublic;
|
||||
private TypedId typedId;
|
||||
private List<TypedParameter> typedParameters;
|
||||
private TypedBlock typedBlock;
|
||||
|
@ -8,7 +8,7 @@ import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
@Data
|
||||
public class TypedFieldId implements Node {
|
||||
public class TypedFieldId implements Expression {
|
||||
private Boolean field;
|
||||
private Expression recipient;
|
||||
private TypedId typedId;
|
||||
|
@ -13,6 +13,7 @@ import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class TypedMethod implements Node {
|
||||
private Boolean isPublic;
|
||||
private TypedId typedId;
|
||||
private Type returnType;
|
||||
private List<TypedParameter> typedParameters;
|
||||
|
@ -0,0 +1,135 @@
|
||||
//public class ClassWithConstructor {
|
||||
// int x;
|
||||
// public classWithConstructor() {
|
||||
// this.x = 10;
|
||||
// int i;
|
||||
// for (i = 0; i < 6; i = i + 1) {
|
||||
// int j;
|
||||
// for (j = 0; j < this.x; j += 1) {
|
||||
// this.x = this.x * this.x;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
import de.maishai.ast.*;
|
||||
import de.maishai.ast.records.*;
|
||||
import de.maishai.ast.records.Class;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class AbstractSyntax_ClassWithConstructor {
|
||||
public static Class get() {
|
||||
List<Field> fields = List.of(
|
||||
new Field(
|
||||
new Id("x"),
|
||||
Type.INT
|
||||
)
|
||||
);
|
||||
List<Method> methods = List.of();
|
||||
List<Constructor> constructors = getConstructors();
|
||||
return new Class(
|
||||
true,
|
||||
new Id("ClassWithConstructor"),
|
||||
fields,
|
||||
methods,
|
||||
null,
|
||||
constructors
|
||||
);
|
||||
}
|
||||
|
||||
private static List<Constructor> getConstructors() {
|
||||
return List.of(getConstructor1());
|
||||
}
|
||||
|
||||
private static Constructor getConstructor1() {
|
||||
List<Parameter> parameters = List.of();
|
||||
|
||||
List<LocalVariable> localVariables = List.of(
|
||||
new LocalVariable(
|
||||
new Id("i"),
|
||||
Type.INT
|
||||
)
|
||||
);
|
||||
List<Statement> statementList = List.of(
|
||||
new Assignment(
|
||||
new Id("x"),
|
||||
AssignSign.ASSIGN,
|
||||
new IntLiteral(10)
|
||||
),
|
||||
new For(
|
||||
new Assignment(
|
||||
new Id("i"),
|
||||
AssignSign.ASSIGN,
|
||||
new IntLiteral(0)
|
||||
),
|
||||
new Binary(
|
||||
new Id("i"),
|
||||
Operator.LT,
|
||||
new IntLiteral(6)
|
||||
),
|
||||
new Assignment(
|
||||
new Id("i"),
|
||||
AssignSign.ASSIGN,
|
||||
new Binary(
|
||||
new Id("i"),
|
||||
Operator.ADD,
|
||||
new IntLiteral(1)
|
||||
)
|
||||
),
|
||||
new Block(
|
||||
List.of(
|
||||
new LocalVariable(
|
||||
new Id("j"),
|
||||
Type.INT
|
||||
)
|
||||
),
|
||||
List.of(
|
||||
new For(
|
||||
new Assignment(
|
||||
new Id("j"),
|
||||
AssignSign.ASSIGN,
|
||||
new IntLiteral(0)
|
||||
),
|
||||
new Binary(
|
||||
new Id("j"),
|
||||
Operator.LT,
|
||||
new Id("x")
|
||||
),
|
||||
new Assignment(
|
||||
new Id("j"),
|
||||
AssignSign.ADD_ASSIGN,
|
||||
new IntLiteral(1)
|
||||
),
|
||||
new Block(
|
||||
List.of(),
|
||||
List.of(
|
||||
new Assignment(
|
||||
new Id("x"),
|
||||
AssignSign.ASSIGN,
|
||||
new Binary(
|
||||
new Id("x"),
|
||||
Operator.MUL,
|
||||
new Id("x")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
Block block = new Block(
|
||||
localVariables,
|
||||
statementList
|
||||
);
|
||||
|
||||
return new Constructor(
|
||||
true,
|
||||
new Id("ClassWithConstructor"),
|
||||
parameters,
|
||||
block
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,135 @@
|
||||
//public class ClassWithConstructorAndMethodCall {
|
||||
// int x;
|
||||
//
|
||||
// public ClassWithConstructorAndMethodCall() {
|
||||
// this.x = 10;
|
||||
// while (methodCall()) {
|
||||
// this.x = this.x * this.x;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public boolean methodCall() {
|
||||
// if (this.x > 100) {
|
||||
// return false;
|
||||
// } else {
|
||||
// return true;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
import de.maishai.ast.AssignSign;
|
||||
import de.maishai.ast.Operator;
|
||||
import de.maishai.ast.ReturnType;
|
||||
import de.maishai.ast.Type;
|
||||
import de.maishai.ast.records.*;
|
||||
import de.maishai.ast.records.Class;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class AbstractSyntax_ClassWithConstructorAndMethodCall {
|
||||
public static Class get() {
|
||||
List<Field> fieldList = List.of(
|
||||
new Field(
|
||||
new Id("x"),
|
||||
Type.INT
|
||||
)
|
||||
);
|
||||
List<Method> methodList = getMethods();
|
||||
List<Constructor> constructorList = getConstructors();
|
||||
return new Class(
|
||||
true,
|
||||
new Id("ClassWithConstructorAndMethodCall"),
|
||||
fieldList,
|
||||
methodList,
|
||||
null,
|
||||
constructorList
|
||||
);
|
||||
}
|
||||
|
||||
private static List<Constructor> getConstructors() {
|
||||
return List.of(getConstructor1());
|
||||
}
|
||||
|
||||
private static Constructor getConstructor1() {
|
||||
Block block = new Block(
|
||||
List.of(),
|
||||
List.of(
|
||||
new Assignment(
|
||||
new Id("x"),
|
||||
AssignSign.ASSIGN,
|
||||
new IntLiteral(10)
|
||||
),
|
||||
new While(
|
||||
new MethodCall(
|
||||
false,
|
||||
null,
|
||||
new Id("methodCall"),
|
||||
List.of()
|
||||
),
|
||||
new Block(
|
||||
List.of(),
|
||||
List.of(
|
||||
new Assignment(
|
||||
new Id("x"),
|
||||
AssignSign.ASSIGN,
|
||||
new Binary(
|
||||
new Id("x"),
|
||||
Operator.MUL,
|
||||
new Id("x")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
return new Constructor(
|
||||
true,
|
||||
new Id("ClassWithConstructorAndMethodCall"),
|
||||
List.of(),
|
||||
block
|
||||
);
|
||||
}
|
||||
|
||||
private static List<Method> getMethods() {
|
||||
return List.of(getMethod1());
|
||||
}
|
||||
|
||||
private static Method getMethod1() {
|
||||
return new Method(
|
||||
true,
|
||||
ReturnType.BOOL,
|
||||
new Id("methodCall"),
|
||||
List.of(),
|
||||
new Block(
|
||||
List.of(),
|
||||
List.of(
|
||||
new IfElse(
|
||||
new Binary(
|
||||
new Id("x"),
|
||||
Operator.GT,
|
||||
new IntLiteral(100)
|
||||
),
|
||||
new Block(
|
||||
List.of(),
|
||||
List.of(
|
||||
new Return(
|
||||
new BoolLiteral(false)
|
||||
)
|
||||
)
|
||||
),
|
||||
new Block(
|
||||
List.of(),
|
||||
List.of(
|
||||
new Return(
|
||||
new BoolLiteral(true)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,130 @@
|
||||
//public class ClassWithConstructorWithParameters {
|
||||
// int x;
|
||||
// public classWithConstructorWithParameters(int startValue, int repetitions) {
|
||||
// this.x = startValue;
|
||||
// while (repetitions > 0) {
|
||||
// int innerRepetitions;
|
||||
// innerRepetitions = this.x;
|
||||
// while (innerRepetitions > 0) {
|
||||
// this.x = this.x * this.x;
|
||||
// innerRepetitions -= 1;
|
||||
// }
|
||||
// repetitions -= 1;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
import de.maishai.ast.AssignSign;
|
||||
import de.maishai.ast.Operator;
|
||||
import de.maishai.ast.records.*;
|
||||
import de.maishai.ast.Type;
|
||||
import de.maishai.ast.records.Class;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class AbstractSyntax_ClassWithConstructorWithParameters {
|
||||
public static Class get() {
|
||||
List<Field> fields = List.of(
|
||||
new Field(
|
||||
new Id("x"),
|
||||
Type.INT
|
||||
)
|
||||
);
|
||||
List<Constructor> constructors = getConstructors();
|
||||
return new Class(
|
||||
true,
|
||||
new Id("ClassWithConstructorWithParameters"),
|
||||
fields,
|
||||
List.of(),
|
||||
null,
|
||||
constructors
|
||||
);
|
||||
}
|
||||
|
||||
private static List<Constructor> getConstructors() {
|
||||
return List.of(getConstructor1());
|
||||
}
|
||||
|
||||
private static Constructor getConstructor1() {
|
||||
List<Parameter> parameters = List.of(
|
||||
new Parameter(
|
||||
"startValue",
|
||||
Type.INT
|
||||
),
|
||||
new Parameter(
|
||||
"repetitions",
|
||||
Type.INT
|
||||
)
|
||||
);
|
||||
Block block = new Block(
|
||||
List.of(),
|
||||
List.of(
|
||||
new Assignment(
|
||||
new Id("x"),
|
||||
AssignSign.ASSIGN,
|
||||
new Id("startValue")
|
||||
),
|
||||
new While(
|
||||
new Binary(
|
||||
new Id("repetitions"),
|
||||
Operator.GT,
|
||||
new IntLiteral(0)
|
||||
),
|
||||
new Block(
|
||||
List.of(
|
||||
new LocalVariable(
|
||||
new Id("innerRepetitions"),
|
||||
Type.INT
|
||||
)
|
||||
),
|
||||
List.of(
|
||||
new Assignment(
|
||||
new Id("innerRepetitions"),
|
||||
AssignSign.ASSIGN,
|
||||
new Id("x")
|
||||
),
|
||||
new While(
|
||||
new Binary(
|
||||
new Id("repetitions"),
|
||||
Operator.GT,
|
||||
new IntLiteral(0)
|
||||
),
|
||||
new Block(
|
||||
List.of(),
|
||||
List.of(
|
||||
new Assignment(
|
||||
new Id("x"),
|
||||
AssignSign.ASSIGN,
|
||||
new Binary(
|
||||
new Id("x"),
|
||||
Operator.MUL,
|
||||
new Id("x")
|
||||
)
|
||||
),
|
||||
new Assignment(
|
||||
new Id("innerRepetitions"),
|
||||
AssignSign.SUB_ASSIGN,
|
||||
new IntLiteral(1)
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
new Assignment(
|
||||
new Id("repetitions"),
|
||||
AssignSign.SUB_ASSIGN,
|
||||
new IntLiteral(1)
|
||||
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
return new Constructor(
|
||||
true,
|
||||
new Id("classWithConstructorWithParameters"),
|
||||
parameters,
|
||||
block
|
||||
);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
//public class ClassWithField {
|
||||
// int x;
|
||||
//}
|
||||
|
||||
import de.maishai.ast.records.Class;
|
||||
import de.maishai.ast.Type;
|
||||
import de.maishai.ast.records.Constructor;
|
||||
import de.maishai.ast.records.Field;
|
||||
import de.maishai.ast.records.Id;
|
||||
import de.maishai.ast.records.Method;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class AbstractSyntax_ClassWithField {
|
||||
public static Class get() {
|
||||
List<Field> fields = List.of(
|
||||
new Field(
|
||||
new Id("x"),
|
||||
Type.INT
|
||||
)
|
||||
);
|
||||
List<Method> methods = List.of();
|
||||
List<Constructor> constructors = List.of();
|
||||
return new Class(
|
||||
true,
|
||||
new Id("ClassWithAssignment"),
|
||||
fields,
|
||||
methods,
|
||||
null,
|
||||
constructors
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
//public class ClassWithMethod {
|
||||
// public boolean method() {
|
||||
// return false;
|
||||
// }
|
||||
//}
|
||||
|
||||
import de.maishai.ast.ReturnType;
|
||||
import de.maishai.ast.records.Class;
|
||||
import de.maishai.ast.records.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class AbstractSyntax_ClassWithMethod {
|
||||
public static Class get() {
|
||||
List<Method> methods = getMethods();
|
||||
return new Class(
|
||||
true,
|
||||
new Id("ClassWithMethod"),
|
||||
List.of(),
|
||||
methods,
|
||||
null,
|
||||
List.of()
|
||||
);
|
||||
}
|
||||
|
||||
private static List<Method> getMethods() {
|
||||
return List.of(getMethod1());
|
||||
}
|
||||
|
||||
private static Method getMethod1() {
|
||||
return new Method(
|
||||
true,
|
||||
ReturnType.BOOL,
|
||||
new Id("method"),
|
||||
List.of(),
|
||||
new Block(
|
||||
List.of(),
|
||||
List.of(
|
||||
new Return(
|
||||
new BoolLiteral(false)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,86 @@
|
||||
//public class ClassWithMethodAndField {
|
||||
// char c;
|
||||
//
|
||||
// public ClassWithMethodAndField(char character) {
|
||||
// this.c = character;
|
||||
// }
|
||||
//
|
||||
// public boolean method() {
|
||||
// return true;
|
||||
// }
|
||||
//}
|
||||
|
||||
import de.maishai.ast.*;
|
||||
import de.maishai.ast.records.*;
|
||||
import de.maishai.ast.records.Class;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
class AbstractSyntax_ClassWithMethodAndField {
|
||||
public static Class get() {
|
||||
List<Field> fields = List.of(
|
||||
new Field(
|
||||
new Id("c"),
|
||||
Type.CHAR
|
||||
)
|
||||
);
|
||||
List<Method> methods = getMethods();
|
||||
List<Constructor> constructors = getConstructors();
|
||||
return new Class(
|
||||
false,
|
||||
new Id("ClassWithMethodAndField"),
|
||||
fields,
|
||||
methods,
|
||||
null,
|
||||
constructors
|
||||
);
|
||||
}
|
||||
|
||||
private static List<Constructor> getConstructors() {
|
||||
return List.of(getConstructor1());
|
||||
}
|
||||
|
||||
private static Constructor getConstructor1() {
|
||||
return new Constructor(
|
||||
true,
|
||||
new Id("ClassWithMethodAndField"),
|
||||
List.of(
|
||||
new Parameter(
|
||||
"character",
|
||||
Type.CHAR
|
||||
)
|
||||
),
|
||||
new Block(
|
||||
List.of(),
|
||||
List.of(
|
||||
new Assignment(
|
||||
new Id("c"),
|
||||
AssignSign.ASSIGN,
|
||||
new Id("character")
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
private static List<Method> getMethods() {
|
||||
return List.of(getMethod1());
|
||||
}
|
||||
|
||||
private static Method getMethod1() {
|
||||
return new Method(
|
||||
true,
|
||||
ReturnType.BOOL,
|
||||
new Id("method"),
|
||||
List.of(),
|
||||
new Block(
|
||||
List.of(),
|
||||
List.of(
|
||||
new Return(
|
||||
new BoolLiteral(true)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,137 @@
|
||||
//public class ClassWithMoreComplexMethodAndMain {
|
||||
// ClassWithMoreComplexMethodAndMain instance;
|
||||
//
|
||||
// public boolean moreComplexMethod() {
|
||||
// int i;
|
||||
// i = 11;
|
||||
// boolean returnValue;
|
||||
// returnValue = false;
|
||||
// while (i > 0) {
|
||||
// i -= 1;
|
||||
// returnValue = !returnValue;
|
||||
// }
|
||||
// return returnValue;
|
||||
// }
|
||||
//
|
||||
// public static void main(String[] args) {
|
||||
// instance = new ClassWithMoreComplexMethodAndMain()
|
||||
// }
|
||||
//}
|
||||
|
||||
import de.maishai.ast.*;
|
||||
import de.maishai.ast.records.*;
|
||||
import de.maishai.ast.records.Class;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class AbstractSyntax_ClassWithMoreComplexMethodAndMain {
|
||||
public static Class get() {
|
||||
Type TypeClassWithMoreComplexMethodAndMain = Type.OBJECT;
|
||||
TypeClassWithMoreComplexMethodAndMain.setObjectType(new Id("ClassWithMoreComplexMethodAndMain"));
|
||||
List<Field> fields = List.of(
|
||||
new Field(
|
||||
new Id("instance"),
|
||||
TypeClassWithMoreComplexMethodAndMain
|
||||
)
|
||||
);
|
||||
List<Method> methods = getMethods();
|
||||
List<Constructor> constructors = List.of();
|
||||
return new Class(
|
||||
true,
|
||||
new Id("ClassWithMoreComplexMethodAndMain"),
|
||||
fields,
|
||||
methods,
|
||||
getMainMethod(),
|
||||
constructors
|
||||
);
|
||||
}
|
||||
|
||||
private static List<Method> getMethods() {
|
||||
return List.of(getMethod1());
|
||||
}
|
||||
|
||||
private static Method getMethod1() {
|
||||
Block block = new Block(
|
||||
List.of(
|
||||
new LocalVariable(
|
||||
new Id("i"),
|
||||
Type.INT
|
||||
),
|
||||
new LocalVariable(
|
||||
new Id("returnValue"),
|
||||
Type.BOOL
|
||||
)
|
||||
),
|
||||
List.of(
|
||||
new Assignment(
|
||||
new Id("i"),
|
||||
AssignSign.ASSIGN,
|
||||
new IntLiteral(11)
|
||||
),
|
||||
new Assignment(
|
||||
new Id("returnValue"),
|
||||
AssignSign.ASSIGN,
|
||||
new BoolLiteral(false)
|
||||
),
|
||||
new While(
|
||||
new Binary(
|
||||
new Id("i"),
|
||||
Operator.GT,
|
||||
new IntLiteral(0)
|
||||
),
|
||||
new Block(
|
||||
List.of(),
|
||||
List.of(
|
||||
new Assignment(
|
||||
new Id("i"),
|
||||
AssignSign.SUB_ASSIGN,
|
||||
new IntLiteral(1)
|
||||
),
|
||||
new Assignment(
|
||||
new Id("returnValue"),
|
||||
AssignSign.ASSIGN,
|
||||
new Unary(
|
||||
UnaryOperator.NOT,
|
||||
new Id("returnValue")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
new Return(
|
||||
new Id("returnValue")
|
||||
)
|
||||
)
|
||||
);
|
||||
return new Method(
|
||||
true,
|
||||
ReturnType.BOOL,
|
||||
new Id("moreComplexMethod"),
|
||||
List.of(),
|
||||
block
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
private static MainMethod getMainMethod() {
|
||||
Type TypeClassWithMoreComplexMethodAndMain = Type.OBJECT;
|
||||
TypeClassWithMoreComplexMethodAndMain.setObjectType(new Id("ClassWithMoreComplexMethodAndMain"));
|
||||
List<Statement> statementList = List.of(
|
||||
new Assignment(
|
||||
new Id("instance"),
|
||||
AssignSign.ASSIGN,
|
||||
new New(
|
||||
TypeClassWithMoreComplexMethodAndMain,
|
||||
List.of()
|
||||
)
|
||||
)
|
||||
);
|
||||
Block block = new Block(
|
||||
List.of(),
|
||||
statementList
|
||||
);
|
||||
return new MainMethod(
|
||||
block
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
//class OnlyClass {
|
||||
//}
|
||||
|
||||
import de.maishai.ast.records.*;
|
||||
import de.maishai.ast.records.Class;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class AbstractSyntax_OnlyClass {
|
||||
public static Class get() {
|
||||
return new Class(
|
||||
false,
|
||||
new Id("OnlyClass"),
|
||||
List.of(),
|
||||
List.of(),
|
||||
null,
|
||||
List.of()
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
//public class PublicClass {
|
||||
//}
|
||||
|
||||
import de.maishai.ast.records.Class;
|
||||
import de.maishai.ast.records.Id;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class AbstractSyntax_PublicClass {
|
||||
public static Class get() {
|
||||
return new Class(
|
||||
true,
|
||||
new Id("PublicClass"),
|
||||
List.of(),
|
||||
List.of(),
|
||||
null,
|
||||
List.of()
|
||||
);
|
||||
}
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
public class ClassWithAssignment {
|
||||
int x = 10;
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
public class ClassWithMethodAndAssignement {
|
||||
char c = 'c';
|
||||
|
||||
public boolean method() {
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
public class ClassWithMoreComplexMethod {
|
||||
public boolean moreComplexMethod() {
|
||||
int i = 0;
|
||||
return true;
|
||||
}
|
||||
}
|
13
src/main/resources/JavaTestfiles/ClassWithConstructor.java
Normal file
13
src/main/resources/JavaTestfiles/ClassWithConstructor.java
Normal file
@ -0,0 +1,13 @@
|
||||
public class ClassWithConstructor {
|
||||
int x;
|
||||
public classWithConstructor() {
|
||||
this.x = 10;
|
||||
int i;
|
||||
for (i = 0; i < 6; i = i + 1) {
|
||||
int j;
|
||||
for (j = 0; j < this.x; j += 1) {
|
||||
this.x = this.x * this.x;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
public class ClassWithConstructorAndMethodCall {
|
||||
int x;
|
||||
|
||||
public ClassWithConstructorAndMethodCall() {
|
||||
this.x = 10;
|
||||
while (methodCall()) {
|
||||
this.x = this.x * this.x;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean methodCall() {
|
||||
if (this.x > 100) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
public class ClassWithConstructorWithParameters {
|
||||
int x;
|
||||
public classWithConstructorWithParameters(int startValue, int repetitions) {
|
||||
this.x = startValue;
|
||||
while (repetitions > 0) {
|
||||
int innerRepetitions;
|
||||
innerRepetitions = this.x;
|
||||
while (innerRepetitions > 0) {
|
||||
this.x = this.x * this.x;
|
||||
innerRepetitions -= 1;
|
||||
}
|
||||
repetitions -= 1;
|
||||
}
|
||||
}
|
||||
}
|
3
src/main/resources/JavaTestfiles/ClassWithField.java
Normal file
3
src/main/resources/JavaTestfiles/ClassWithField.java
Normal file
@ -0,0 +1,3 @@
|
||||
public class ClassWithField {
|
||||
int x;
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
public class ClassWithMethod {
|
||||
public boolean method() {
|
||||
return false;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
public class ClassWithMethodAndField {
|
||||
char c;
|
||||
|
||||
public ClassWithMethodAndField(char character) {
|
||||
this.c = character;
|
||||
}
|
||||
|
||||
public boolean method() {
|
||||
return true;
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
public class ClassWithMoreComplexMethodAndMain {
|
||||
ClassWithMoreComplexMethodAndMain instance;
|
||||
|
||||
public boolean moreComplexMethod() {
|
||||
int i;
|
||||
i = 11;
|
||||
boolean returnValue;
|
||||
returnValue = false;
|
||||
while (i > 0) {
|
||||
i -= 1;
|
||||
returnValue = !returnValue;
|
||||
}
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
instance = new ClassWithMoreComplexMethodAndMain()
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user