blob: d19d7c24ff1cca220cc360d541ca3874b39d3f83 [file] [log] [blame]
package pkg;
import java.util.Formattable;
import java.util.List;
//- @Jvm defines/binding ClassJava
//- ClassJava generates ClassJvm
public class Jvm {
//- @intField defines/binding IntFieldJava
//- IntFieldJava generates IntFieldJvm
int intField;
//- @Nested defines/binding NestedJava
//- NestedJava generates NestedJvm
public static class Nested {
//- @Nested defines/binding NestedCtorJava
//- NestedCtorJava generates NestedCtorJvm
public Nested() {}
}
//- @Inner defines/binding InnerJava
//- InnerJava generates InnerJvm
public class Inner {
//- @Inner defines/binding InnerCtorJava
//- InnerCtorJava generates InnerCtorJvm
public Inner() {}
//- @InnerInner defines/binding InnerInnerJava
//- InnerInnerJava generates InnerInnerJvm
public class InnerInner {
//- @InnerInner defines/binding InnerInnerCtorJava
//- InnerInnerCtorJava generates InnerInnerCtorJvm
public InnerInner() {}
}
}
//- @methodWithInnerParam defines/binding MethodWithInnerParamJava
//- MethodWithInnerParamJava.node/kind function
//- MethodWithInnerParamJava generates MethodWithInnerParamJvm
private void methodWithInnerParam(Inner inner) {}
//- @func defines/binding FuncJava
//- FuncJava generates FuncJvm
//- @intParam defines/binding Param0Java
//- @objectParam defines/binding Param1Java
//- Param0Java generates Param0Jvm
//- Param1Java generates Param1Jvm
public static void func(int intParam, Object objectParam) {}
//- @Generic defines/binding GenericAbs
//- GenericAbs.node/kind abs
//- GenericClass childof GenericAbs
//- GenericClass.node/kind record
//- GenericClass generates GenericJvm
public static class Generic<T extends Integer> {
//- @tfield defines/binding TFieldJava
//- TFieldJava.node/kind variable
//- TFieldJava generates TFieldJvm
private T tfield;
//- @tmethod defines/binding TMethodJava
//- TMethodJava.node/kind function
//- TMethodJava generates TMethodJvm
private void tmethod(T targ) {}
//- @tlistmethod defines/binding TListMethodJava
//- TListMethodJava.node/kind function
//- TListMethodJava generates TListMethodJvm
private void tlistmethod(List<T> targ) {}
//- @tlistretmethod defines/binding TListRetMethodJava
//- TListRetMethodJava.node/kind function
//- TListRetMethodJava generates TListRetMethodJvm
private List<T> tlistretmethod() {
return null;
}
}
//- @MultipleBoundGeneric defines/binding MBGenericAbs
//- MBGenericAbs.node/kind abs
//- MBGenericClass childof MBGenericAbs
//- MBGenericClass.node/kind record
//- MBGenericClass generates MBGenericJvm
public static class MultipleBoundGeneric<T extends Integer & Formattable> {
//- @mbtmethod defines/binding MBTMethodJava
//- MBTMethodJava.node/kind function
//- MBTMethodJava generates MBTMethodJvm
private void mbtmethod(T targ) {}
}
//- @nope defines/binding NopeJava
//- NopeJava generates NopeJvm
public static <T> T nope() {
return null;
}
// Ensure anonymous classes do not crash the JVM analyzer.
static final Object OBJ = new Object() {};
static void f() {
// Ensure local classes do not crash the JVM analyzer.
class LocalClass {}
}
//- @g defines/binding GJava
//- GJava generates GJvm
static void g(
int[] arrayParam,
boolean booleanParam,
byte byteParam,
char charParam,
double doubleParam,
float floatParam,
int intParam,
long longParam,
short shortParam) {}
//- @ints defines/binding VarArgsParamJava
//- VarArgsParamJava generates VarArgsParamJvm
static void varargs(int... ints) {}
}