Files
codeql/java/ql/test/library-tests/reflection/reflection/ReflectiveAccess.java
2021-02-09 09:16:57 -05:00

25 lines
673 B
Java

package reflection;
import java.lang.annotation.Annotation;
public class ReflectiveAccess {
public static @interface TestAnnotation {
}
@TestAnnotation
public static class TestClass {
}
public static <A extends Annotation> A getAnnotation(Class<?> classContainingAnnotation, Class<A> annotationClass) {
return classContainingAnnotation.getAnnotation(annotationClass);
}
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
Class<?> testClass = Class.forName("reflection.ReflectiveAccess$TestClass");
testClass.newInstance();
getAnnotation(TestClass.class, TestAnnotation.class);
}
}