Java 在注释处理期间从类型参数查找注释
在注释处理过程中,如何在类型参数内声明注释Java 在注释处理期间从类型参数查找注释,java,java-8,annotation-processing,Java,Java 8,Annotation Processing,在注释处理过程中,如何在类型参数内声明注释 interface HelloWorld { void fooBar(List<@NonNull String> params); } 在注释处理过程中,如何从'VariableElement'参数获取@NonNull 请参阅您的问题的至少一半-简而言之,TYPE_用法不是这样工作的。我不是100%确定TYPE_参数也以这种方式受到限制,但它确实有意义,因为即使是TypeParameterElement也将其泛型参数/边界公开为Ty
interface HelloWorld {
void fooBar(List<@NonNull String> params);
}
在注释处理过程中,如何从'VariableElement'参数获取@NonNull 请参阅您的问题的至少一半-简而言之,TYPE_用法不是这样工作的。我不是100%确定TYPE_参数也以这种方式受到限制,但它确实有意义,因为即使是TypeParameterElement也将其泛型参数/边界公开为TypeMirrors,而不能对其进行注释。相反,我建议您查看编译器插件或任务侦听器方法,看看这是否为您提供了超越简单声明的访问权限。谢谢您的指点!不幸的是,这没有向注释处理器公开。我认为添加了它的JSR308规范要求将它添加到注释处理中,但正如该部分的最后一段所指出的,APT模型必须更新以获得过去的类型及其成员,到目前为止,它似乎只以任务侦听器的形式存在,可以插入注释处理器。
@Retention(RUNTIME)
@Target({TYPE_USE, TYPE_PARAMETER})