Lines 108-113
Link Here
|
108 |
return null; |
108 |
return null; |
109 |
} |
109 |
} |
110 |
TypeBinding originalLhsType = this.lhs.resolveType(scope); |
110 |
TypeBinding originalLhsType = this.lhs.resolveType(scope); |
|
|
111 |
boolean expressionIsCast; |
112 |
if ((expressionIsCast = this.expression instanceof CastExpression) == true) this.expression.bits |= ASTNode.DisableUnnecessaryCastCheck; // will check later on |
111 |
TypeBinding originalExpressionType = this.expression.resolveType(scope); |
113 |
TypeBinding originalExpressionType = this.expression.resolveType(scope); |
112 |
if (originalLhsType == null || originalExpressionType == null) |
114 |
if (originalLhsType == null || originalExpressionType == null) |
113 |
return null; |
115 |
return null; |
Lines 181-186
Link Here
|
181 |
this.expression.computeConversion(scope, TypeBinding.wellKnownType(scope, (result >>> 8) & 0x0000F), originalExpressionType); |
183 |
this.expression.computeConversion(scope, TypeBinding.wellKnownType(scope, (result >>> 8) & 0x0000F), originalExpressionType); |
182 |
this.preAssignImplicitConversion = (unboxedLhs ? BOXING : 0) | (lhsID << 4) | (result & 0x0000F); |
184 |
this.preAssignImplicitConversion = (unboxedLhs ? BOXING : 0) | (lhsID << 4) | (result & 0x0000F); |
183 |
if (unboxedLhs) scope.problemReporter().autoboxing(this, lhsType, originalLhsType); |
185 |
if (unboxedLhs) scope.problemReporter().autoboxing(this, lhsType, originalLhsType); |
|
|
186 |
// check need for operand cast |
187 |
if (expressionIsCast) { |
188 |
CastExpression.checkNeedForArgumentCasts(scope, this.operator, result, this.lhs, originalLhsType.id, false, this.expression, originalExpressionType.id, true); |
189 |
} |
184 |
return this.resolvedType = originalLhsType; |
190 |
return this.resolvedType = originalLhsType; |
185 |
} |
191 |
} |
186 |
|
192 |
|