mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-08-09 04:25:12 +00:00
Fixed type inference for rangenext
This commit is contained in:
@@ -118,7 +118,12 @@ public class SymbolTypeInference {
|
|||||||
} else if(rValue instanceof RangeComparison) {
|
} else if(rValue instanceof RangeComparison) {
|
||||||
return ((RangeComparison) rValue).getType();
|
return ((RangeComparison) rValue).getType();
|
||||||
} else if(rValue instanceof RangeNext) {
|
} else if(rValue instanceof RangeNext) {
|
||||||
return inferType(symbols, ((RangeNext) rValue).getRangeFirst());
|
SymbolType rangedType = inferType(symbols, ((RangeNext) rValue).getRangeFirst());
|
||||||
|
if(SymbolType.SBYTE.equals(rangedType) || SymbolType.SWORD.equals(rangedType) || SymbolType.SDWORD.equals(rangedType)) {
|
||||||
|
return SymbolType.SBYTE;
|
||||||
|
} else {
|
||||||
|
return SymbolType.BYTE;
|
||||||
|
}
|
||||||
} else if(rValue instanceof ProcedureRef) {
|
} else if(rValue instanceof ProcedureRef) {
|
||||||
Procedure procedure = symbols.getProcedure((ProcedureRef) rValue);
|
Procedure procedure = symbols.getProcedure((ProcedureRef) rValue);
|
||||||
return procedure.getType();
|
return procedure.getType();
|
||||||
|
Reference in New Issue
Block a user