mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-28 23:50:57 +07:00
Error messages unified; do not list allowed switch types anymore Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only) GitOrigin-RevId: 69675af87ac8866fb5ba1475094b93af07aa1ad5
46 lines
2.0 KiB
Java
46 lines
2.0 KiB
Java
import java.io.*;
|
|
import java.util.*;
|
|
|
|
class UnsupportedFeatures {
|
|
void m(String... args) throws Exception {
|
|
for (String s : args) { System.out.println(s); }
|
|
|
|
List<String> list =
|
|
new ArrayList<error descr="Diamond types are not supported at language level '6'"><></error>();
|
|
|
|
for (String s : list) {}
|
|
Arrays.asList("");
|
|
Boolean b = true;
|
|
boolean b1 = Boolean.TRUE;
|
|
|
|
try { Reader r = new FileReader("/dev/null"); }
|
|
catch (<error descr="Multi-catches are not supported at language level '6'">FileNotFoundException | IOException e</error>) { e.printStackTrace(); }
|
|
|
|
try <error descr="Try-with-resources are not supported at language level '6'">(Reader r = new FileReader("/dev/null"))</error> { }
|
|
|
|
I i1 = <error descr="Method references are not supported at language level '6'">UnsupportedFeatures::m</error>;
|
|
I i2 = <error descr="Lambda expressions are not supported at language level '6'">() -> { }</error>;
|
|
|
|
switch (<error descr="Selector type of 'java.lang.String' is not supported at language level '6'">list.get(0)</error>) {
|
|
case "foo": break;
|
|
}
|
|
|
|
switch (list.size()) {
|
|
<error descr="Enhanced 'switch' blocks are not supported at language level '6'">case 0 -> throw new IllegalStateException("empty list");</error>
|
|
default -> System.out.println("it's okay");
|
|
}
|
|
switch (list.size()) {
|
|
case <error descr="Enhanced 'switch' blocks are not supported at language level '6'">1, 2</error>:
|
|
}
|
|
System.out.println(switch (list.size()) {
|
|
<error descr="Enhanced 'switch' blocks are not supported at language level '6'">default -> "whoa!";</error>
|
|
});
|
|
}
|
|
|
|
void f(<error descr="Receiver parameters are not supported at language level '6'">Object this</error>) { }
|
|
|
|
interface I {
|
|
<error descr="Extension methods are not supported at language level '6'">default void m() { }</error>
|
|
<error descr="Extension methods are not supported at language level '6'">static void m() { }</error>
|
|
}
|
|
} |