Conditional expression type analysis error (null & primitive operands)
Issue #161
resolved
ExtendJ 8.0.1-102-gd0b096f
An error in conditional expression type analysis causes the following test case to fail:
// Test conditional expression type analysis.
// .result=COMPILE_PASS
class Test {
void test(boolean a, float b) {
f(a ? b : null);
}
void f(float f) {
}
void f(int i) {
}
}
The above test case fails with this error message:
[junit] tests/type/conditional_expr_07p/Test.java:5: error: no method named f(<NOTYPE>) in Test matches. However, there is a method f(float)
Comments (2)
-
reporter -
reporter - changed status to resolved
Improve conditional expression type analysis
When the second or third operand of a conditional expression is null and the other is a primitive type, then the type of the conditional expression is the primitive type.
fixes
#161(bitbucket)→ <<cset 9128fbddb471>>
- Log in to comment