package jadx.samples;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
public class TestAnnotationsParser extends AbstractTest {
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public static @interface A {
int i();
float f();
}
@A(i = -1, f = C1.FLOAT_CONST)
public static class C1 {
public static final float FLOAT_CONST = 3.14f;
}
@A(i = -1025, f = C2.FLOAT_CONST)
public static class C2 {
public static final float FLOAT_CONST = 0xFF0000;
}
public boolean testRun() {
A c1 = C1.class.getAnnotation(A.class);
assertEquals(c1.i(), -1);
assertEquals(c1.f(), C1.FLOAT_CONST);
A c2 = C2.class.getAnnotation(A.class);
assertEquals(c2.i(), -1025);
assertEquals(c2.f(), C2.FLOAT_CONST);
return true;
}
public static void main(String[] args) throws Exception {
new TestAnnotationsParser().testRun();
}
}