highlight diamonds as type parameter list (IDEA-156859)

This commit is contained in:
Anna Kozlova
2016-06-06 17:52:24 +03:00
parent 1032e663d7
commit 1fcb534fcb
15 changed files with 28 additions and 28 deletions
@@ -85,7 +85,7 @@ class MyTest {
class NonParameterized {
void foo() {
new NonParameterized<<error descr="Diamond operator is not applicable for non-parameterized types"></error>>();
new NonParameterized<error descr="Diamond operator is not applicable for non-parameterized types"><></error>();
}
}
@@ -95,14 +95,14 @@ interface I<T> {
}
class FI1 {
I<? extends String> i1 = new I<<error descr="Cannot use ''<>'' with anonymous inner classes"></error>>() {
I<? extends String> i1 = new I<error descr="Cannot use ''<>'' with anonymous inner classes"><></error>() {
@Override
public String m() {
return null;
}
};
I<?> i2 = new I<<error descr="Cannot use ''<>'' with anonymous inner classes"></error>>() {
I<?> i2 = new I<error descr="Cannot use ''<>'' with anonymous inner classes"><></error>() {
@Override
public Object m() {
return null;
@@ -126,9 +126,9 @@ class TestLocal<X> {
void test() {
class Local {}
Member m = new Member<<error descr="Diamond operator is not applicable for non-parameterized types"></error>>();
Nested n = new Nested<<error descr="Diamond operator is not applicable for non-parameterized types"></error>>();
Local l = new Local<<error descr="Diamond operator is not applicable for non-parameterized types"></error>>();
Member m = new Member<error descr="Diamond operator is not applicable for non-parameterized types"><></error>();
Nested n = new Nested<error descr="Diamond operator is not applicable for non-parameterized types"><></error>();
Local l = new Local<error descr="Diamond operator is not applicable for non-parameterized types"><></error>();
}
}
@@ -178,7 +178,7 @@ class PredefinedErrorsOverRaw<T> {
}
void test() {
PredefinedErrorsOverRaw mc = new <Boolean>PredefinedErrorsOverRaw<<error descr="Cannot use diamonds with explicit type parameters for constructor"></error>>("");
PredefinedErrorsOverRaw mc = new <Boolean>PredefinedErrorsOverRaw<error descr="Cannot use diamonds with explicit type parameters for constructor"><></error>("");
}
}
@@ -4,7 +4,7 @@ class Neg12 {
<T> Foo(T t) {}
}
Foo<Integer> fi1 = new <String> Foo<<error descr="Cannot use diamonds with explicit type parameters for constructor"></error>>(1);
Foo<Integer> fi1 = new <String> Foo<error descr="Cannot use diamonds with explicit type parameters for constructor"><></error>(1);
Foo<Integer> fi2 = new <<error descr="Actual type argument and inferred type contradict each other">String</error>> Foo<Integer>(1);
Foo<Integer> fi3 = new Foo<Integer>(1);
}
@@ -4,6 +4,6 @@ class Neg13 {
<T> Foo(T t) {}
}
Foo<Integer> fi1 = new <String, Integer> Foo<<error descr="Cannot use diamonds with explicit type parameters for constructor"></error>>("");
Foo<Integer> fi1 = new <String, Integer> Foo<error descr="Cannot use diamonds with explicit type parameters for constructor"><></error>("");
Foo<Integer> fi2 = new <error descr="Wrong number of type arguments: 2; required: 1"><String, Integer></error> Foo<Integer>("");
}
@@ -4,6 +4,6 @@ class Neg14 {
<T extends Integer> Foo(T t) {}
}
Foo<Integer> fi1 = new <String> Foo<<error descr="Cannot use diamonds with explicit type parameters for constructor"></error>>(1);
Foo<Integer> fi1 = new <String> Foo<error descr="Cannot use diamonds with explicit type parameters for constructor"><></error>(1);
Foo<Integer> fi2 = new <<error descr="Actual type argument and inferred type contradict each other">String</error>> Foo<Integer>(1);
}
@@ -6,8 +6,8 @@ class Pos8 {
Foo<Integer> fi1 = new Foo<>(1);
Foo<Integer> fi2 = new Foo<Integer>(1);
Foo<Integer> fi3 = new <String> Foo<<error descr="Cannot use diamonds with explicit type parameters for constructor"></error>>(1);
Foo<Integer> fi3 = new <String> Foo<error descr="Cannot use diamonds with explicit type parameters for constructor"><></error>(1);
Foo<Integer> fi4 = new <String> Foo<Integer>(1);
Foo<Integer> fi5 = new <String, String> Foo<<error descr="Cannot use diamonds with explicit type parameters for constructor"></error>>(1);
Foo<Integer> fi5 = new <String, String> Foo<error descr="Cannot use diamonds with explicit type parameters for constructor"><></error>(1);
Foo<Integer> fi6 = new <String, String> Foo<Integer>(1);
}
@@ -1,5 +1,5 @@
class Neg08 {
public static void main(String[] args) {
String s = new String<<error descr="Diamond operator is not applicable for non-parameterized types"></error>>("foo");
String s = new String<error descr="Diamond operator is not applicable for non-parameterized types"><></error>("foo");
}
}
@@ -4,12 +4,12 @@ class Neg09 {
static class Nested<X> {}
void testSimple() {
Member<?> m1 = new Member<<error descr="Cannot use ''<>'' with anonymous inner classes"></error>>() {};
Nested<?> m2 = new Nested<<error descr="Cannot use ''<>'' with anonymous inner classes"></error>>() {};
Member<?> m1 = new Member<error descr="Cannot use ''<>'' with anonymous inner classes"><></error>() {};
Nested<?> m2 = new Nested<error descr="Cannot use ''<>'' with anonymous inner classes"><></error>() {};
}
void testQualified() {
Member<?> m1 = this.new Member<<error descr="Cannot use ''<>'' with anonymous inner classes"></error>>() {};
Nested<?> m2 = new Neg09.Nested<<error descr="Cannot use ''<>'' with anonymous inner classes"></error>>() {};
Member<?> m1 = this.new Member<error descr="Cannot use ''<>'' with anonymous inner classes"><></error>() {};
Nested<?> m2 = new Neg09.Nested<error descr="Cannot use ''<>'' with anonymous inner classes"><></error>() {};
}
}
@@ -4,6 +4,6 @@ import java.util.List;
class Test {
{
List<List<String>> l = new ArrayList<List<<error descr="Cannot infer arguments"></error>>>();
List<List<String>> l = new ArrayList<List<error descr="Cannot infer arguments"><></error>>();
}
}