Java 注释处理器和匿名类
我正在尝试为一些匿名类插入指令。为此,我创建了一个注释:Java 注释处理器和匿名类,java,metaprogramming,annotation-processing,Java,Metaprogramming,Annotation Processing,我正在尝试为一些匿名类插入指令。为此,我创建了一个注释: @Target(ElementType.TYPE_USE) @Retention(RetentionPolicy.SOURCE) public @interface Ann { } 注释处理器: @SupportedAnnotationTypes("Ann") @SupportedSourceVersion(SourceVersion.RELEASE_11) public class AP extends Abstr
@Target(ElementType.TYPE_USE)
@Retention(RetentionPolicy.SOURCE)
public @interface Ann {
}
注释处理器:
@SupportedAnnotationTypes("Ann")
@SupportedSourceVersion(SourceVersion.RELEASE_11)
public class AP extends AbstractProcessor {
@Override
public boolean process(Set<? extends TypeElement> anns, RoundEnvironment env) {
System.out.println("INVOKED");
return true;
}
}
javac src/test/java/T.java -cp build/classes/java/main/ -processor AP -d out
然后我尝试使用注释处理器编译此类:
@SupportedAnnotationTypes("Ann")
@SupportedSourceVersion(SourceVersion.RELEASE_11)
public class AP extends AbstractProcessor {
@Override
public boolean process(Set<? extends TypeElement> anns, RoundEnvironment env) {
System.out.println("INVOKED");
return true;
}
}
javac src/test/java/T.java -cp build/classes/java/main/ -processor AP -d out
但它没有打印任何东西。但是,如果我将注释@Ann
从匿名类移动到T
类(@Ann公共类T{
),它将按预期工作
如何使用注释处理插入匿名类