[java-highlighting] Allow statics inside inner since Java 16 (IDEA-257410)

Also remove redundant record tests

GitOrigin-RevId: ce57189891b3df3ba4659e8e3a2ded125234911a
This commit is contained in:
Tagir Valeev
2020-12-25 17:24:24 +07:00
committed by intellij-monorepo-bot
parent 6362ce9276
commit 5d20b5dbb9
19 changed files with 173 additions and 81 deletions

View File

@@ -5,26 +5,26 @@ public class a {
static final int ix = x== null ? 4 : 3;
class ic {
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
int i;
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
final int f1 = 3 < 4 ? (a.ix==5 ? 1 : 3) / 4 + 18 : 0;
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
final int f2 = x instanceof Integer ? 1 : 0;
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
class a_ic_c {}
<error descr="Inner classes cannot have static declarations">interface a_ic_i</error> {}
<error descr="Inner classes cannot have static declarations">static</error> interface a_ic_i2 {}
<error descr="Static declarations in inner classes are not supported at language level '1.4'">interface a_ic_i</error> {}
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error> interface a_ic_i2 {}
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
int a_ic_m(String s) { return 0; }
// static initializer
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
{}
}
@@ -39,22 +39,22 @@ public class a {
// static inside class inside code block
void f() {
class ic2 {
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
int i;
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
final int f1 = 3 < 4 ? (a.ix==5 ? 1 : 3) / 4 + 18 : 0;
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
final int f2 = x instanceof Integer ? 1 : 0;
<error descr="Inner classes cannot have static declarations"><error descr="Modifier 'static' not allowed here">static</error></error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
class a_ic_c2 {}
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
int a_ic_m2(String s) { return 0; }
// static initializer
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
{}
}
}
@@ -62,26 +62,26 @@ public class a {
void f1()
{
new a() {
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
int i;
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
final int f1 = 3 < 4 ? (a.ix==5 ? 1 : 3) / 4 + 18 : 0;
// its not a compile time constant
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
final Object o = null;
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
final int f2 = x instanceof Integer ? 1 : 0;
<error descr="Inner classes cannot have static declarations"><error descr="Modifier 'static' not allowed here">static</error></error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
class a_ic_c2 {}
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
int a_ic_m2(String s) { return 0; }
// static initializer
<error descr="Inner classes cannot have static declarations">static</error>
<error descr="Static declarations in inner classes are not supported at language level '1.4'">static</error>
{}
};
}
@@ -93,12 +93,12 @@ public class a {
}
void ff() {
class inn {
<error descr="Inner classes cannot have static declarations">interface i</error> {}
<error descr="Static declarations in inner classes are not supported at language level '1.4'">interface i</error> {}
}
}
Object o = new Runnable() {
<error descr="Inner classes cannot have static declarations">interface i</error> {}
<error descr="Static declarations in inner classes are not supported at language level '1.4'">interface i</error> {}
public void run() {}
};
}