Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/graphInference/PolyConditionalExpressionWithTargetPrimitive.java
Tagir Valeev 3643ee6506 Fixes according to review IDEA-CR-61871
GitOrigin-RevId: 206247808adba050a5839ee8ac0be790bb53c8ac
2020-04-24 08:26:53 +00:00

32 lines
928 B
Java

class Conditional {
void m(Object p, boolean b) {
int a = b ? null : ((Getter<Integer>) p).get();
int a1 = b ? <error descr="Incompatible types. Found: 'null', required: 'int'">null</error> : Conditional.<Integer>f();
int a2 = b ? null : 1;
int a3 = b ? null : f1();
int a4 = b ? <error descr="Incompatible types. Found: 'null', required: 'int'">null</error> : f2();
int a5 = b ? <error descr="Incompatible types. Found: 'null', required: 'int'">null</error> : Conditional.<Integer, Integer>f2();
Long someNum = b ? getNum(5L) : <error descr="Incompatible types. Found: 'int', required: 'java.lang.Long'">0</error>;
}
private static <T> T getNum(T num) {
return num;
}
private static <T> T f() {
return null;
}
private static int f1() {
return 1;
}
private static <T extends Integer, S extends T> S f2() {
return null;
}
}
interface Getter<A> {
A get();
}