Bugs 111 und 114 gefixt. Unboxing wird aufgerufen wenn es noetig ist
This commit is contained in:
parent
54b4ad97f6
commit
f325b04ee2
@ -282,7 +282,6 @@ public class BytecodeGenMethod implements StatementVisitor {
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getLargerType(String lexpType, String rexpType) {
|
private String getLargerType(String lexpType, String rexpType) {
|
||||||
@ -782,7 +781,7 @@ public class BytecodeGenMethod implements StatementVisitor {
|
|||||||
doUnboxing(getResolvedType(methodCall.getType()));
|
doUnboxing(getResolvedType(methodCall.getType()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(methodRefl == null && !isReturnStmt) {
|
if(methodRefl == null/* && !isReturnStmt*/) {
|
||||||
if(isBinaryExp)
|
if(isBinaryExp)
|
||||||
doUnboxing(getResolvedType(methodCall.getType()));
|
doUnboxing(getResolvedType(methodCall.getType()));
|
||||||
}
|
}
|
||||||
@ -1081,7 +1080,11 @@ public class BytecodeGenMethod implements StatementVisitor {
|
|||||||
break;
|
break;
|
||||||
case "java/lang/Integer":
|
case "java/lang/Integer":
|
||||||
// zweite Argument isLong
|
// zweite Argument isLong
|
||||||
visitIntegerLiteral(((Double) value).intValue(), false);
|
// visitIntegerLiteral(((Double) value).intValue(), false);
|
||||||
|
if(value instanceof Double)
|
||||||
|
visitIntegerLiteral(((Double) value).intValue(), false);
|
||||||
|
if(value instanceof Integer)
|
||||||
|
visitIntegerLiteral(((Integer) value).intValue(), false);
|
||||||
break;
|
break;
|
||||||
case "java/lang/Long":
|
case "java/lang/Long":
|
||||||
visitLongLiteral(((Double) value).longValue(), true);
|
visitLongLiteral(((Double) value).longValue(), true);
|
||||||
|
Loading…
Reference in New Issue
Block a user