java-class-parser/testsuite/classes/java/Main.java
2026-09-04 15:14:11 +00:00

95 lines
2.3 KiB
Java

import java.util.function.Supplier;
@CustomAnnotation(type = CustomAnnotationType.ONE, name = "Alice")
public class Main implements Runnable, Supplier<Integer>, Interface {
private static final String name = "John";
private static final int number = 42;
private static final double funnyNumber = 6.9;
public static void main(@CustomParameterAnnotation String[] args) {
final var main = new Main();
main.sayHello();
try {
main.throwSomething();
} catch (Throwable e) {
System.err.println("Caught " + e.getMessage());
} finally {
System.err.println("Finally block");
}
var a = 8;
a <<= 3;
final var b = a >> 1;
switch (b) {
case 1:
break;
case 32:
System.out.println("Good");
break;
default:
System.out.println("Number " + a);
break;
}
final var o = getObject();
switch (o) {
case Integer i:
switch (i) {
case 1:
System.out.println("One");
break;
case 2:
System.out.println("Two");
break;
case 3:
System.out.println("Three");
break;
default:
break;
}
break;
default:
System.out.println("Something else");
break;
}
inc(5);
}
private static Object getObject() {
return 3;
}
private static void inc(int i) {
i += 1000;
}
@Override
public void run() {
Main.main(new String[] { "Hello" });
}
@Override
public Integer get() {
return number;
}
@Override
public String getName() {
return name;
}
public void throwSomething() throws Throwable {
throw new Throwable() {
@Override
public String getMessage() {
return "Hello";
}
};
}
public static class Inner {
private static final String name = "Inner John";
}
}