method references: highlight separately non-instantiated classes, not resolved methods (IDEA-123279)

This commit is contained in:
Anna Kozlova
2014-04-01 20:49:29 +02:00
parent 6b4ad69ecd
commit 2cc9842ac2
18 changed files with 110 additions and 77 deletions

View File

@@ -144,10 +144,10 @@ class MyTest7{
enum E { }
void test() {
<error descr="Incompatible types. Found: '<method reference>', required: 'MyTest7.I'">I s1 = A::new;</error>
<error descr="Incompatible types. Found: '<method reference>', required: 'MyTest7.I'">I s2 = I::new;</error>
<error descr="Incompatible types. Found: '<method reference>', required: 'MyTest7.I'">I s3 = AC::new;</error>
<error descr="Incompatible types. Found: '<method reference>', required: 'MyTest7.I'">I s4 = E::new;</error>
I s1 = <error descr="'A' is abstract; cannot be instantiated">A::new</error>;
I s2 = <error descr="'I' is abstract; cannot be instantiated">I::new</error>;
I s3 = <error descr="'AC' is abstract; cannot be instantiated">AC::new</error>;
I s4 = <error descr="Enum types cannot be instantiated">E::new</error>;
}
}
@@ -165,7 +165,7 @@ class MyTest8{
}
void test() {
<error descr="Incompatible types. Found: '<method reference>', required: 'MyTest8.Sub.I'">I var = Sub.Inner::new;</error>;
I var = Sub.Inner::<error descr="Cannot resolve constructor 'Inner'">new</error>;;
}
}
}