mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-26 00:11:26 +07:00
highlight unresolved method call even with unresoolved arguments
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
// casts
|
||||
public class a {
|
||||
void f(i ii) {
|
||||
boolean b;
|
||||
b = <error descr="Inconvertible types; cannot cast 'int' to 'a'">2 instanceof a</error>;
|
||||
b = <error descr="Inconvertible types; cannot cast 'null' to 'int'">null instanceof int</error>;
|
||||
b = <error descr="Inconvertible types; cannot cast 'c3' to 'java.lang.Boolean'">(c3)null instanceof Boolean</error>;
|
||||
|
||||
b = ii instanceof i;
|
||||
b = ((c2)ii) instanceof c4;
|
||||
b = null instanceof a;
|
||||
b = ii instanceof c3;
|
||||
b = Boolean.valueOf("true") instanceof Boolean;
|
||||
b = new Long(3) instanceof Number;
|
||||
b = this instanceof a;
|
||||
b = ii instanceof a;
|
||||
b = this instanceof i;
|
||||
|
||||
|
||||
// casts
|
||||
c2 c2i = null;
|
||||
c3 c3i = null;
|
||||
c4 c4i = null;
|
||||
Object o;
|
||||
c4i = <error descr="Inconvertible types; cannot cast 'a' to 'c4'">(c4) this</error>;
|
||||
o = <error descr="Inconvertible types; cannot cast 'c2' to 'boolean'">(boolean) c2i</error>;
|
||||
o = <error descr="Inconvertible types; cannot cast 'c3' to 'java.lang.Integer'">(Integer) c3i</error>;
|
||||
o = <error descr="Inconvertible types; cannot cast 'c2' to 'a'">(a) c2i</error>;
|
||||
o = <error descr="Inconvertible types; cannot cast 'c3' to 'int'">(int) c3i</error>;
|
||||
|
||||
o = (a) ii;
|
||||
o = (i) c4i; //cast to interface
|
||||
o = (c3) c2i;
|
||||
o = (c3) c3i;
|
||||
o = (c3) c4i;
|
||||
o = (Object) ii;
|
||||
o = (iunrelated) ii;
|
||||
o = (iunrelated) c2i;
|
||||
o = (c4) c2i;
|
||||
o = (c4) ii;
|
||||
o = <error descr="Inconvertible types; cannot cast 'i' to 'c5'">(c5) ii</error>;
|
||||
|
||||
int[] ai = null;
|
||||
o = <error descr="Inconvertible types; cannot cast 'int[]' to 'byte[]'">(byte[])ai</error>;
|
||||
o = <error descr="Inconvertible types; cannot cast 'int[]' to 'double[]'">(double[])ai</error>;
|
||||
c3[] ac3i = null;
|
||||
o = ac3i;
|
||||
o = (c4[])ac3i;
|
||||
o = (i[])ac3i;
|
||||
Object[] results = null;
|
||||
int index = (<error descr="Inconvertible types; cannot cast 'java.lang.Object[]' to 'java.lang.Integer'">(Integer) results</error>).intValue();
|
||||
|
||||
|
||||
// arrays and Serializable/Cloneable/Object
|
||||
int[] ai2 = (int[])o;
|
||||
Cloneable cloneable = null;
|
||||
ai2 = (int[]) cloneable;
|
||||
java.io.Serializable serializable = null;
|
||||
ai2 = (int[]) serializable;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
interface iunrelated {}
|
||||
interface i {}
|
||||
class c2 implements i {
|
||||
public c2() {}
|
||||
public void f() {}
|
||||
protected void g() {}
|
||||
}
|
||||
|
||||
class c3 extends c2 {
|
||||
protected c3() {}
|
||||
private int g(int k) { return 0; }
|
||||
}
|
||||
|
||||
final class c4 extends c3 {
|
||||
private c4() {
|
||||
int[] a=new int[3];
|
||||
Cloneable s=a;
|
||||
java.io.Serializable ss = a;
|
||||
}
|
||||
}
|
||||
final class c5 {}
|
||||
|
||||
// clashing interfaces
|
||||
interface A {
|
||||
void g();
|
||||
}
|
||||
interface B {
|
||||
int g();
|
||||
}
|
||||
interface BB extends B {
|
||||
}
|
||||
class Foo {
|
||||
void f(A a) {
|
||||
B b = <error descr="Inconvertible types; cannot cast 'A' to 'B'">(B) a</error>;
|
||||
BB b2 = <error descr="Inconvertible types; cannot cast 'A' to 'BB'">(BB) a</error>;
|
||||
A a2 = <error descr="Inconvertible types; cannot cast 'BB' to 'A'">(A) b2</error>;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user