mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-25 14:25:04 +07:00
[java] improves "unsupported language level" message (IDEA-168859)
This commit is contained in:
+11
-11
@@ -20,9 +20,9 @@ public class NumericLiterals {
|
||||
int i15 = <error descr="Integer number too large">0xf044332211</error>;
|
||||
int oi1 = 017777777777;
|
||||
int oi2 = <error descr="Integer number too large">08</error>;
|
||||
int bi1 = <error descr="Binary literals are not supported at this language level">0b0010</error>;
|
||||
int bi2 = <error descr="Binary literals are not supported at this language level">0B0010</error>;
|
||||
int bi3 = <error descr="Underscores in literals are not supported at this language level">1_2</error>;
|
||||
int bi1 = <error descr="Binary literals are not supported at language level '1.4'">0b0010</error>;
|
||||
int bi2 = <error descr="Binary literals are not supported at language level '1.4'">0B0010</error>;
|
||||
int bi3 = <error descr="Underscores in literals are not supported at language level '1.4'">1_2</error>;
|
||||
|
||||
long l1 = -<error descr="Long number too large">9223372036854775809L</error>;
|
||||
long l2 = <error descr="Long number too large">9223372036854775808L</error>;
|
||||
@@ -36,21 +36,21 @@ public class NumericLiterals {
|
||||
long l10 = 0x8000000000000000L;
|
||||
long ol1 = 01777777777777777777600L;
|
||||
long ol2 = 01777777777777777777777L;
|
||||
long bl1 = <error descr="Binary literals are not supported at this language level">0b0010l</error>;
|
||||
long bl2 = <error descr="Binary literals are not supported at this language level">0B0010L</error>;
|
||||
long bl3 = <error descr="Underscores in literals are not supported at this language level">10_24L</error>;
|
||||
long bl1 = <error descr="Binary literals are not supported at language level '1.4'">0b0010l</error>;
|
||||
long bl2 = <error descr="Binary literals are not supported at language level '1.4'">0B0010L</error>;
|
||||
long bl3 = <error descr="Underscores in literals are not supported at language level '1.4'">10_24L</error>;
|
||||
|
||||
float f1= <error descr="Floating point number too small">1e-46f</error>;
|
||||
float f2 = <error descr="Floating point number too large">1e39f</error>;
|
||||
float f3 = 0E1F;
|
||||
float f4 = <error descr="Hexadecimal floating point literals are not supported at this language level">0xabc.defP2f</error>;
|
||||
float f5 = <error descr="Underscores in literals are not supported at this language level">3.141_592f</error>;
|
||||
float f4 = <error descr="Hexadecimal floating point literals are not supported at language level '1.4'">0xabc.defP2f</error>;
|
||||
float f5 = <error descr="Underscores in literals are not supported at language level '1.4'">3.141_592f</error>;
|
||||
float f6 = .0f;
|
||||
|
||||
double dd1 = <error descr="Floating point number too small">1e-324</error>;
|
||||
double dd2 = <error descr="Floating point number too large">1e309</error>;
|
||||
double dd3 = 0E1;
|
||||
double dd4 = <error descr="Hexadecimal floating point literals are not supported at this language level">0x1.fffffffffffffP1023</error>;
|
||||
double dd4 = <error descr="Hexadecimal floating point literals are not supported at language level '1.4'">0x1.fffffffffffffP1023</error>;
|
||||
double d1 = <error descr="Malformed floating point literal">1.E</error>;
|
||||
double d2 = <error descr="Malformed floating point literal">1.e</error>;
|
||||
double d3 = <error descr="Malformed floating point literal">1.E+</error>;
|
||||
@@ -62,7 +62,7 @@ public class NumericLiterals {
|
||||
double d9 = <error descr="Malformed floating point literal">1e-d</error>;
|
||||
double d10 = <error descr="Malformed floating point literal">1e-F</error>;
|
||||
double d11 = <error descr="Malformed floating point literal">1e-f</error>;
|
||||
double d12 = <error descr="Underscores in literals are not supported at this language level">3.141_592_653_589_793d</error>;
|
||||
double d12 = <error descr="Underscores in literals are not supported at language level '1.4'">3.141_592_653_589_793d</error>;
|
||||
double d13 = <error descr="Malformed floating point literal">.0e</error>;
|
||||
}
|
||||
}
|
||||
}
|
||||
+9
-9
@@ -1,19 +1,19 @@
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
|
||||
<error descr="Static imports are not supported at this language level">import static java.lang.Math.*;</error>
|
||||
<error descr="Static imports are not supported at language level '1.4'">import static java.lang.Math.*;</error>
|
||||
|
||||
@interface <error descr="Annotations are not supported at this language level">Anno</error> { }
|
||||
@interface <error descr="Annotations are not supported at language level '1.4'">Anno</error> { }
|
||||
|
||||
<error descr="Annotations are not supported at this language level">@Anno</error>
|
||||
<error descr="Annotations are not supported at language level '1.4'">@Anno</error>
|
||||
class UnsupportedFeatures {
|
||||
void m(<error descr="Variable arity methods are not supported at this language level">String... args</error>) throws Exception {
|
||||
<error descr="For-each loops are not supported at this language level">for (String s : args) { System.out.println(s); }</error>
|
||||
void m(<error descr="Variable arity methods are not supported at language level '1.4'">String... args</error>) throws Exception {
|
||||
<error descr="For-each loops are not supported at language level '1.4'">for (String s : args) { System.out.println(s); }</error>
|
||||
|
||||
List<error descr="Generics are not supported at this language level"><String></error> list =
|
||||
new ArrayList<error descr="Generics are not supported at this language level"><></error>();
|
||||
List<error descr="Generics are not supported at language level '1.4'"><String></error> list =
|
||||
new ArrayList<error descr="Generics are not supported at language level '1.4'"><></error>();
|
||||
|
||||
<error descr="For-each loops are not supported at this language level">for (Object s : list) {}</error>
|
||||
<error descr="For-each loops are not supported at language level '1.4'">for (Object s : list) {}</error>
|
||||
Arrays.asList<error descr="'asList(java.lang.String...)' in 'java.util.Arrays' cannot be applied to '(java.lang.String)'">("")</error>;
|
||||
<error descr="Incompatible types. Found: 'boolean', required: 'java.lang.Boolean'">Boolean b = true;</error>
|
||||
<error descr="Incompatible types. Found: 'java.lang.Boolean', required: 'boolean'">boolean b1 = Boolean.TRUE;</error>
|
||||
@@ -21,4 +21,4 @@ class UnsupportedFeatures {
|
||||
java.lang.annotation.ElementType t = null;
|
||||
switch (<error descr="Incompatible types. Found: 'java.lang.annotation.ElementType', required: 'byte, char, short or int'">t</error>) { }
|
||||
}
|
||||
}
|
||||
}
|
||||
+9
-9
@@ -6,7 +6,7 @@ class UnsupportedFeatures {
|
||||
for (String s : args) { System.out.println(s); }
|
||||
|
||||
List<String> list =
|
||||
new ArrayList<error descr="Diamond types are not supported at this language level"><></error>();
|
||||
new ArrayList<error descr="Diamond types are not supported at language level '1.6'"><></error>();
|
||||
|
||||
for (String s : list) {}
|
||||
Arrays.asList("");
|
||||
@@ -14,22 +14,22 @@ class UnsupportedFeatures {
|
||||
boolean b1 = Boolean.TRUE;
|
||||
|
||||
try { Reader r = new FileReader("/dev/null"); }
|
||||
catch (<error descr="Multi-catches are not supported at this language level">FileNotFoundException | IOException e</error>) { e.printStackTrace(); }
|
||||
catch (<error descr="Multi-catches are not supported at language level '1.6'">FileNotFoundException | IOException e</error>) { e.printStackTrace(); }
|
||||
|
||||
try <error descr="Try-with-resources are not supported at this language level">(Reader r = new FileReader("/dev/null"))</error> { }
|
||||
try <error descr="Try-with-resources are not supported at language level '1.6'">(Reader r = new FileReader("/dev/null"))</error> { }
|
||||
|
||||
I i1 = <error descr="Method references are not supported at this language level">UnsupportedFeatures::m</error>;
|
||||
I i2 = <error descr="Lambda expressions are not supported at this language level">() -> { }</error>;
|
||||
I i1 = <error descr="Method references are not supported at language level '1.6'">UnsupportedFeatures::m</error>;
|
||||
I i2 = <error descr="Lambda expressions are not supported at language level '1.6'">() -> { }</error>;
|
||||
|
||||
switch (<error descr="Incompatible types. Found: 'java.lang.String', required: 'byte, char, short or int'">list.get(0)</error>) {
|
||||
case "foo": break;
|
||||
}
|
||||
}
|
||||
|
||||
void f(<error descr="Receiver parameters are not supported at this language level">Object this</error>) { }
|
||||
void f(<error descr="Receiver parameters are not supported at language level '1.6'">Object this</error>) { }
|
||||
|
||||
interface I {
|
||||
<error descr="Extension methods are not supported at this language level">default void m() { }</error>
|
||||
<error descr="Extension methods are not supported at this language level">static void m() { }</error>
|
||||
<error descr="Extension methods are not supported at language level '1.6'">default void m() { }</error>
|
||||
<error descr="Extension methods are not supported at language level '1.6'">static void m() { }</error>
|
||||
}
|
||||
}
|
||||
}
|
||||
+5
-5
@@ -1,14 +1,14 @@
|
||||
class Test {
|
||||
interface I {
|
||||
<error descr="Extension methods are not supported at this language level">static void foo() {}</error>
|
||||
<error descr="Extension methods are not supported at language level '1.7'">static void foo() {}</error>
|
||||
}
|
||||
|
||||
abstract class IImpl implements I {}
|
||||
abstract static class IImpl implements I {}
|
||||
interface I2 extends I {}
|
||||
|
||||
{
|
||||
<error descr="Static interface method invocations are not supported at this language level">I.foo();</error>
|
||||
IImpl.<error descr="Static interface method invocations are not supported at this language level">foo</error>();
|
||||
I2.<error descr="Static interface method invocations are not supported at this language level">foo</error>();
|
||||
I.<error descr="Static interface method calls are not supported at language level '1.7'">foo</error>();
|
||||
IImpl.<error descr="Static interface method calls are not supported at language level '1.7'">foo</error>();
|
||||
I2.<error descr="Static interface method calls are not supported at language level '1.7'">foo</error>();
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
import java.io.Serializable;
|
||||
|
||||
class IntersectionTypeCast {
|
||||
void m(Runnable r) {
|
||||
Object o = <error descr="Intersection types in casts are not supported at language level '1.7'">(Runnable & Serializable)r</error>;
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
<error descr="Modules are not supported at this language level">module M {
|
||||
<error descr="Modules are not supported at language level '1.8'">module M {
|
||||
requires A;
|
||||
}</error>
|
||||
+1
-1
@@ -3,6 +3,6 @@ import java.io.*;
|
||||
class UnsupportedFeatures {
|
||||
void m() throws Exception {
|
||||
Reader r1 = new FileReader("/dev/null");
|
||||
try (<error descr="Resource references are not supported at this language level">r1</error>; Reader r2 = new FileReader("/dev/null")) { }
|
||||
try (<error descr="Resource references are not supported at language level '1.8'">r1</error>; Reader r2 = new FileReader("/dev/null")) { }
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,7 @@ abstract class C {
|
||||
void notWrong() { }
|
||||
}
|
||||
|
||||
class B extends <error descr="Type annotations are not supported at this language level">@Deprecated</error> Object { }
|
||||
class B extends <error descr="Type annotations are not supported at language level '1.7'">@Deprecated</error> Object { }
|
||||
|
||||
enum E {
|
||||
@Anno E1
|
||||
@@ -24,7 +24,7 @@ enum E {
|
||||
interface I {
|
||||
@<error descr="Duplicate annotation">Anno</error>
|
||||
public @<error descr="Duplicate annotation">Anno</error>
|
||||
Collection<<error descr="Type annotations are not supported at this language level">@Anno</error> String>
|
||||
Collection<<error descr="Type annotations are not supported at language level '1.7'">@Anno</error> String>
|
||||
method(@<error descr="Duplicate annotation">Anno</error> @<error descr="Duplicate annotation">Anno</error> Object o);
|
||||
}
|
||||
|
||||
@@ -36,4 +36,4 @@ interface I {
|
||||
@interface Part { }
|
||||
|
||||
Part[] arrayValue() default {@Part, @Part};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user