mirror of
https://github.com/github/codeql.git
synced 2025-12-17 09:13:20 +01:00
132 lines
3.5 KiB
Java
132 lines
3.5 KiB
Java
/** Another javadoc */
|
|
|
|
/**
|
|
* A class
|
|
*
|
|
* @author someone
|
|
*/
|
|
class A {
|
|
public @interface Ann1 {
|
|
String value() default "b";
|
|
Ann2[] nest() default {};
|
|
}
|
|
|
|
public @interface Ann2 {
|
|
int value() default 3;
|
|
}
|
|
|
|
/** Does something */
|
|
@Deprecated
|
|
static int doSomething(@SuppressWarnings("all") String text) {
|
|
int i=0, j=1;
|
|
|
|
for(i=0, j=1; i<3; i++) {}
|
|
|
|
for(int m=0, n=1; m<3; m++) {}
|
|
|
|
return 0;
|
|
}
|
|
|
|
int counter = 1;
|
|
|
|
{
|
|
counter = doSomething("hi");
|
|
}
|
|
|
|
@Ann1(
|
|
value="a",
|
|
nest={
|
|
@Ann2,
|
|
@Ann2(7)
|
|
})
|
|
String doSomethingElse() { return "c"; }
|
|
|
|
void varDecls(Object[] things) {
|
|
try {
|
|
for(Object thing : things) {
|
|
if (thing instanceof Integer) {
|
|
return;
|
|
}
|
|
if (thing instanceof String s) {
|
|
throw new RuntimeException(s);
|
|
}
|
|
switch (thing) {
|
|
case String s -> System.out.println(s);
|
|
case Integer i -> System.out.println("An integer: " + i);
|
|
default -> { }
|
|
}
|
|
switch (thing) {
|
|
case String s:
|
|
System.out.println(s);
|
|
break;
|
|
case Integer i:
|
|
System.out.println("An integer:" + i);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
var thingAsString = switch(thing) {
|
|
case String s -> s;
|
|
case Integer i -> "An integer: " + i;
|
|
default -> "Something else";
|
|
};
|
|
var thingAsString2 = switch(thing) {
|
|
case String s:
|
|
yield s;
|
|
case Integer i:
|
|
yield "An integer: " + i;
|
|
default:
|
|
yield "Something else";
|
|
};
|
|
var nullTest = switch(thing) {
|
|
case null -> "Null";
|
|
default -> "Not null";
|
|
};
|
|
var whenTest = switch((String)thing) {
|
|
case "constant" -> "It's constant";
|
|
case String s when s.length() == 3 -> "It's 3 letters long";
|
|
case String s when s.length() == 5 -> "it's 5 letters long";
|
|
default -> "It's something else";
|
|
};
|
|
var nullDefaultTest = switch(thing) {
|
|
case String s -> "It's a string";
|
|
case null, default -> "It's something else";
|
|
};
|
|
var qualifiedEnumTest = switch(thing) {
|
|
case E.A -> "It's E.A";
|
|
default -> "It's something else";
|
|
};
|
|
var unnecessaryQualifiedEnumTest = switch((E)thing) {
|
|
case A -> "It's E.A";
|
|
case E.B -> "It's E.B";
|
|
default -> "It's something else";
|
|
};
|
|
var recordPatterntest = switch(thing) {
|
|
case Middle(Inner(String field)) -> field;
|
|
default -> "Doesn't match pattern Middle(Inner(...))";
|
|
};
|
|
}
|
|
}
|
|
catch (RuntimeException rte) {
|
|
return;
|
|
}
|
|
}
|
|
|
|
enum E {
|
|
/**
|
|
* Javadoc for enum constant
|
|
*/
|
|
A,
|
|
B,
|
|
C;
|
|
}
|
|
|
|
/**
|
|
* Javadoc for fields
|
|
*/
|
|
int i, j, k;
|
|
}
|
|
|
|
record Inner(String field) { }
|
|
record Middle(Inner inner) { }
|