mirror of
https://github.com/JonathanFleischmann/CompilerULTIMATE.git
synced 2024-12-27 09:28:03 +00:00
Update the typeCheck in TypedFieldVarAccess
This commit is contained in:
parent
de51bcd825
commit
8b5ec63e4b
@ -40,28 +40,34 @@ public class TypedFieldVarAccess implements TypedExpression {
|
||||
throw new RuntimeException("Field " + name + " not declared ");
|
||||
}
|
||||
} else {
|
||||
if (clas.isThereField(name)) {
|
||||
type = clas.getFieldType(name);
|
||||
return type;
|
||||
} else if (clas.isCurrentConstructorPresent()) {
|
||||
if (clas.isCurrentConstructorPresent()) {
|
||||
if (clas.isParameterNameInCurrentConstructor(name)) {
|
||||
type = 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.isThereField(name)){
|
||||
type = clas.getFieldType(name);
|
||||
return type;
|
||||
}
|
||||
else {
|
||||
throw new RuntimeException("Variable " + name + " not declared in constructor");
|
||||
}
|
||||
|
||||
} else if (clas.isCurrentMethodPresent()) {
|
||||
if (clas.isParameterWitNameInMethod(name)) {
|
||||
type = clas.getParameterTypeInCurrentMethod(name);
|
||||
return clas.getParameterTypeInCurrentMethod(name);
|
||||
return type;
|
||||
} else if (clas.getCurrentMethod().isLocalVariablePresent(name)) {
|
||||
type = clas.getCurrentMethod().getLocalVariableType(name);
|
||||
return type;
|
||||
} else {
|
||||
throw new RuntimeException("Variable " + name + " not declared ");
|
||||
} else if(clas.isThereField(name)){
|
||||
type = clas.getFieldType(name);
|
||||
return type;
|
||||
}
|
||||
else {
|
||||
throw new RuntimeException("Variable " + name + " not declared in method");
|
||||
}
|
||||
}
|
||||
throw new RuntimeException("Variable " + name + " not declared ");
|
||||
|
Loading…
Reference in New Issue
Block a user