updated the checkType in TypedFieldVarAccess

This commit is contained in:
ahmad 2024-05-12 14:39:28 +02:00
parent 048aff5996
commit 8e9ce8caa4

View File

@ -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