From 62060462a918ae439c54544987218c9a5fe86dc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krau=C3=9F=2C=20Josefine?= Date: Tue, 2 Jul 2024 15:21:46 +0200 Subject: [PATCH] instvar debugging --- src/main/java/Compiler.java | 2 +- .../java/abstractSyntaxTree/Expression/InstVarExpression.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/Compiler.java b/src/main/java/Compiler.java index d1b8163..16af262 100644 --- a/src/main/java/Compiler.java +++ b/src/main/java/Compiler.java @@ -100,6 +100,6 @@ public class Compiler { System.out.println("No TypeCheck errors found."); abstractSyntaxTree.codeGen(); - System.out.println("Your input was compiler. You can find the output at ???");// todo wo output? überhaupt hinschreiben? + System.out.println("Your input was compiled. You can find the output at ???");// todo wo output? überhaupt hinschreiben? } } diff --git a/src/main/java/abstractSyntaxTree/Expression/InstVarExpression.java b/src/main/java/abstractSyntaxTree/Expression/InstVarExpression.java index 72f51ce..d012940 100644 --- a/src/main/java/abstractSyntaxTree/Expression/InstVarExpression.java +++ b/src/main/java/abstractSyntaxTree/Expression/InstVarExpression.java @@ -31,6 +31,10 @@ public class InstVarExpression extends AbstractType implements IExpression{ @Override public TypeCheckResult typeCheck(HashMap>> methodContext, HashMap> typeContext, HashMap localVars) throws TypeCheckException { + if(this.receivers.get(0).identifier != null){ + thisClass = localVars.get(this.receivers.get(0).identifier); + } + String varType = typeContext.get(thisClass).get(fieldName); if (varType == null) { throw new TypeCheckException("Field " + fieldName + " was not found in class " + thisClass + ".");