diff --git a/src/main/java/ast/type/type/TypeEnum.java b/src/main/java/ast/type/type/TypeEnum.java index 8c146c8..292800c 100644 --- a/src/main/java/ast/type/type/TypeEnum.java +++ b/src/main/java/ast/type/type/TypeEnum.java @@ -4,6 +4,5 @@ public enum TypeEnum { VOID, INT, CHAR, - BOOL, - NULL + BOOL } diff --git a/src/main/java/semantic/SemanticAnalyzer.java b/src/main/java/semantic/SemanticAnalyzer.java index 3755054..7e0a57e 100644 --- a/src/main/java/semantic/SemanticAnalyzer.java +++ b/src/main/java/semantic/SemanticAnalyzer.java @@ -254,11 +254,6 @@ public class SemanticAnalyzer implements SemanticVisitor { return new TypeCheckResult(true, type); } else if (currentScope.getLocalVar(toCheck.identifier) != null) { var type = currentScope.getLocalVar(toCheck.identifier); - MemberAccessNode memberAccessNode = new MemberAccessNode(false); - memberAccessNode.identifiers.add(currentClass.identifier); - memberAccessNode.identifiers.add(toCheck.identifier); - toCheck.memberAccess = memberAccessNode; - toCheck.setTypeNode(type); return new TypeCheckResult(true, type); } } @@ -333,16 +328,7 @@ public class SemanticAnalyzer implements SemanticVisitor { if (toCheck.target != null) { if(toCheck.target.memberAccess == null){ MemberAccessNode memberAccessNode = new MemberAccessNode(false); - var identifierType = currentFields.get(toCheck.target.identifier); - if(identifierType == null){ - identifierType = currentScope.getLocalVar(toCheck.target.identifier); - } - if(identifierType instanceof ReferenceType referenceType){ - memberAccessNode.identifiers.add(referenceType.getIdentifier()); - } else { - memberAccessNode.identifiers.add(currentClass.identifier); - - } + memberAccessNode.identifiers.add(currentClass.identifier); memberAccessNode.identifiers.add(toCheck.target.identifier); toCheck.target.memberAccess = memberAccessNode; } @@ -702,9 +688,6 @@ public class SemanticAnalyzer implements SemanticVisitor { case BOOLEAN_VALUE -> { return new TypeCheckResult(true, new BaseType(TypeEnum.BOOL)); } - case NULL_VALUE -> { - return new TypeCheckResult(true, currentNullType); - } default -> { return new TypeCheckResult(false, null); } diff --git a/src/test/resources/input/combinedFeatureTests/AllFeaturesClassExample.class b/src/test/resources/input/combinedFeatureTests/AllFeaturesClassExample.class deleted file mode 100644 index b59adc2..0000000 Binary files a/src/test/resources/input/combinedFeatureTests/AllFeaturesClassExample.class and /dev/null differ diff --git a/src/test/resources/input/combinedFeatureTests/BooleanOperations.class b/src/test/resources/input/combinedFeatureTests/BooleanOperations.class deleted file mode 100644 index cd8092a..0000000 Binary files a/src/test/resources/input/combinedFeatureTests/BooleanOperations.class and /dev/null differ diff --git a/src/test/resources/input/combinedFeatureTests/CharManipulation.class b/src/test/resources/input/combinedFeatureTests/CharManipulation.class deleted file mode 100644 index e47890d..0000000 Binary files a/src/test/resources/input/combinedFeatureTests/CharManipulation.class and /dev/null differ diff --git a/src/test/resources/input/combinedFeatureTests/ConditionalStatements.class b/src/test/resources/input/combinedFeatureTests/ConditionalStatements.class deleted file mode 100644 index 7fa39b3..0000000 Binary files a/src/test/resources/input/combinedFeatureTests/ConditionalStatements.class and /dev/null differ diff --git a/src/test/resources/input/combinedFeatureTests/EmptyClassExample.class b/src/test/resources/input/combinedFeatureTests/EmptyClassExample.class deleted file mode 100644 index a6a129d..0000000 Binary files a/src/test/resources/input/combinedFeatureTests/EmptyClassExample.class and /dev/null differ diff --git a/src/test/resources/input/combinedFeatureTests/LoopExamples.class b/src/test/resources/input/combinedFeatureTests/LoopExamples.class deleted file mode 100644 index 2a398c6..0000000 Binary files a/src/test/resources/input/combinedFeatureTests/LoopExamples.class and /dev/null differ diff --git a/src/test/resources/input/combinedFeatureTests/MethodOverloading.class b/src/test/resources/input/combinedFeatureTests/MethodOverloading.class deleted file mode 100644 index 2357744..0000000 Binary files a/src/test/resources/input/combinedFeatureTests/MethodOverloading.class and /dev/null differ diff --git a/src/test/resources/input/singleFeatureTests/TestClass2.class b/src/test/resources/input/singleFeatureTests/TestClass2.class deleted file mode 100644 index 85b5136..0000000 Binary files a/src/test/resources/input/singleFeatureTests/TestClass2.class and /dev/null differ diff --git a/src/test/resources/input/typedAstFeatureTests/CorrectTest.java b/src/test/resources/input/typedAstFeatureTests/CorrectTest.java index 03592f7..a83dbbf 100644 --- a/src/test/resources/input/typedAstFeatureTests/CorrectTest.java +++ b/src/test/resources/input/typedAstFeatureTests/CorrectTest.java @@ -1,14 +1,8 @@ -public class Class1 { - public int test(){ - Class2 class2 = new Class2(); - int a = class2.test(); - return a; - } -} - -public class Class2 -{ - public int test(){ - return 6+2*2; +public class If { + public If() { + int intValue = 5; + if(intValue == 5) { + intValue--; + } } } \ No newline at end of file diff --git a/src/test/resources/output/javac/Char.class b/src/test/resources/output/javac/Char.class deleted file mode 100644 index 8e9c65e..0000000 Binary files a/src/test/resources/output/javac/Char.class and /dev/null differ diff --git a/src/test/resources/output/javac/Comments.class b/src/test/resources/output/javac/Comments.class deleted file mode 100644 index 8d74444..0000000 Binary files a/src/test/resources/output/javac/Comments.class and /dev/null differ diff --git a/src/test/resources/output/javac/ConstructorMethodCall.class b/src/test/resources/output/javac/ConstructorMethodCall.class deleted file mode 100644 index 009c423..0000000 Binary files a/src/test/resources/output/javac/ConstructorMethodCall.class and /dev/null differ diff --git a/src/test/resources/output/javac/ConstructorMethodCallParameters.class b/src/test/resources/output/javac/ConstructorMethodCallParameters.class deleted file mode 100644 index 6c01775..0000000 Binary files a/src/test/resources/output/javac/ConstructorMethodCallParameters.class and /dev/null differ diff --git a/src/test/resources/output/javac/ConstructorParameter.class b/src/test/resources/output/javac/ConstructorParameter.class deleted file mode 100644 index eabb195..0000000 Binary files a/src/test/resources/output/javac/ConstructorParameter.class and /dev/null differ diff --git a/src/test/resources/output/javac/ConstructorThisDot.class b/src/test/resources/output/javac/ConstructorThisDot.class deleted file mode 100644 index 1a1c4c3..0000000 Binary files a/src/test/resources/output/javac/ConstructorThisDot.class and /dev/null differ diff --git a/src/test/resources/output/javac/DoWhile.class b/src/test/resources/output/javac/DoWhile.class deleted file mode 100644 index d7f8c19..0000000 Binary files a/src/test/resources/output/javac/DoWhile.class and /dev/null differ diff --git a/src/test/resources/output/javac/EmptyClass.class b/src/test/resources/output/javac/EmptyClass.class deleted file mode 100644 index cb0d9fc..0000000 Binary files a/src/test/resources/output/javac/EmptyClass.class and /dev/null differ diff --git a/src/test/resources/output/javac/EmptyClassWithConstructor.class b/src/test/resources/output/javac/EmptyClassWithConstructor.class deleted file mode 100644 index 664bf33..0000000 Binary files a/src/test/resources/output/javac/EmptyClassWithConstructor.class and /dev/null differ diff --git a/src/test/resources/output/javac/Field.class b/src/test/resources/output/javac/Field.class deleted file mode 100644 index e06f2cf..0000000 Binary files a/src/test/resources/output/javac/Field.class and /dev/null differ diff --git a/src/test/resources/output/javac/FieldWithAccessModifier.class b/src/test/resources/output/javac/FieldWithAccessModifier.class deleted file mode 100644 index a322f45..0000000 Binary files a/src/test/resources/output/javac/FieldWithAccessModifier.class and /dev/null differ diff --git a/src/test/resources/output/javac/For.class b/src/test/resources/output/javac/For.class deleted file mode 100644 index f403168..0000000 Binary files a/src/test/resources/output/javac/For.class and /dev/null differ diff --git a/src/test/resources/output/javac/If.class b/src/test/resources/output/javac/If.class deleted file mode 100644 index b5cf862..0000000 Binary files a/src/test/resources/output/javac/If.class and /dev/null differ diff --git a/src/test/resources/output/javac/IfElse.class b/src/test/resources/output/javac/IfElse.class deleted file mode 100644 index 9871fe2..0000000 Binary files a/src/test/resources/output/javac/IfElse.class and /dev/null differ diff --git a/src/test/resources/output/javac/IfElseIfElse.class b/src/test/resources/output/javac/IfElseIfElse.class deleted file mode 100644 index 680b310..0000000 Binary files a/src/test/resources/output/javac/IfElseIfElse.class and /dev/null differ diff --git a/src/test/resources/output/javac/Increment.class b/src/test/resources/output/javac/Increment.class deleted file mode 100644 index 75faed5..0000000 Binary files a/src/test/resources/output/javac/Increment.class and /dev/null differ diff --git a/src/test/resources/output/javac/MainMethod.class b/src/test/resources/output/javac/MainMethod.class deleted file mode 100644 index 0470c08..0000000 Binary files a/src/test/resources/output/javac/MainMethod.class and /dev/null differ diff --git a/src/test/resources/output/javac/MultipleClasses.class b/src/test/resources/output/javac/MultipleClasses.class deleted file mode 100644 index 4585bf0..0000000 Binary files a/src/test/resources/output/javac/MultipleClasses.class and /dev/null differ diff --git a/src/test/resources/output/javac/SelfReference.class b/src/test/resources/output/javac/SelfReference.class deleted file mode 100644 index 45103e5..0000000 Binary files a/src/test/resources/output/javac/SelfReference.class and /dev/null differ diff --git a/src/test/resources/output/javac/ThisDot.class b/src/test/resources/output/javac/ThisDot.class deleted file mode 100644 index 668d1ed..0000000 Binary files a/src/test/resources/output/javac/ThisDot.class and /dev/null differ diff --git a/src/test/resources/output/javac/VariableCalculation.class b/src/test/resources/output/javac/VariableCalculation.class deleted file mode 100644 index 131a2e6..0000000 Binary files a/src/test/resources/output/javac/VariableCalculation.class and /dev/null differ diff --git a/src/test/resources/output/javac/VariableCompare.class b/src/test/resources/output/javac/VariableCompare.class deleted file mode 100644 index bf2b598..0000000 Binary files a/src/test/resources/output/javac/VariableCompare.class and /dev/null differ diff --git a/src/test/resources/output/javac/VoidMethod.class b/src/test/resources/output/javac/VoidMethod.class deleted file mode 100644 index 861db40..0000000 Binary files a/src/test/resources/output/javac/VoidMethod.class and /dev/null differ diff --git a/src/test/resources/output/javac/While.class b/src/test/resources/output/javac/While.class deleted file mode 100644 index 3fbdb4f..0000000 Binary files a/src/test/resources/output/javac/While.class and /dev/null differ