reifiable types: skip anonymous types through the tree hierarchy as they can't be generic (IDEA-166840)

This commit is contained in:
Anna Kozlova
2017-01-20 15:51:24 +03:00
parent d857a18335
commit 0fe652059e
2 changed files with 43 additions and 2 deletions
@@ -21,4 +21,36 @@ class B<T> {
return new C();
}
static interface I<T> {}
void anonymousClassWithLocal() {
I<Object> i = new I<Object>() {
class InsideAnno {}
{
InsideAnno[] array = <error descr="Generic array creation">new InsideAnno[1]</error>;
}
};
}
static void staticAnonymousClassWithLocal() {
I<Object> i = new I<Object>() {
class InsideAnno {}
{
InsideAnno[] array = new InsideAnno[1];
}
};
}
static void staticAnonymousClassWithGenericLocal() {
I<Object> i = new I<Object>() {
class InsideAnno<J> {
class O {}
{
O[] array = <error descr="Generic array creation">new O[1]</error>;
}
}
};
}
}