From 8e9ce8caa4a5b8a575c9bcdd082de626a4bfb0c6 Mon Sep 17 00:00:00 2001 From: ahmad Date: Sun, 12 May 2024 14:39:28 +0200 Subject: [PATCH] updated the checkType in TypedFieldVarAccess --- .../typedclass/TypedFieldVarAccess.java | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/main/java/de/maishai/typedast/typedclass/TypedFieldVarAccess.java b/src/main/java/de/maishai/typedast/typedclass/TypedFieldVarAccess.java index fad4f23..284cda0 100644 --- a/src/main/java/de/maishai/typedast/typedclass/TypedFieldVarAccess.java +++ b/src/main/java/de/maishai/typedast/typedclass/TypedFieldVarAccess.java @@ -36,30 +36,36 @@ public class TypedFieldVarAccess implements TypedExpression { if (clas.isThereField(name)) { type = clas.getFieldType(name); return clas.getFieldType(name); + }else{ + throw new RuntimeException("Field " + name + " not declared "); } } else { - if (clas.isThereField(name)) { type = clas.getFieldType(name); - return clas.getFieldType(name); + return type; } else if (clas.isCurrentConstructorPresent()) { if (clas.isParameterNameInCurrentConstructor(name)) { type = clas.getParameterTypeInCurrentConstructor(name); - return clas.getParameterTypeInCurrentConstructor(name); + return type; + } else if (clas.getCurrentConstructor().isLocalVariablePresent(name)) { + type = clas.getCurrentConstructor().getLocalVariableType(name); + return type; + } else { + throw new RuntimeException("Variable " + name + " not declared "); } } else if (clas.isCurrentMethodPresent()) { if (clas.isParameterWitNameInMethod(name)) { type = clas.getParameterTypeInCurrentMethod(name); return clas.getParameterTypeInCurrentMethod(name); + } else if (clas.getCurrentMethod().isLocalVariablePresent(name)) { + type = clas.getCurrentMethod().getLocalVariableType(name); + return type; + } else { + throw new RuntimeException("Variable " + name + " not declared "); } - }/* - if (localVar.containsKey(name)) { - type = localVar.get(name); - return localVar.get(name); - }*/ + } + throw new RuntimeException("Variable " + name + " not declared "); } - - throw new RuntimeException("Variable " + name + " not declared "); } @Override