Package javax.lang.model.element
for
循环或try
- finally
块的表示。
但是,这些接口可以建立一些仅显示在方法体内的结构,例如局部变量和匿名类。
当在注释处理的上下文中使用时,必须返回正在表示的元素的精确模型。 由于这是一个语言模型,源代码提供了有问题的构造的基准(引用)表示,而不是类似于一个类文件的可执行输出中的表示。 可执行输出可以作为创建建模元素的基础。 然而,将源代码转换为可执行输出的过程可能不允许恢复源代码表示的某些方面。 例如, 27072492122611 retention的注释无法从类文件中恢复,类文件可能无法提供源位置信息。 参数名称可能无法从类文件中恢复。 从类文件创建的元素上的modifiers在某些情况下可能与源文件创建的相同声明的元素可能不同,包括:
-
strictfp
在类或接口上 -
final
上的一个参数 -
protected
,private
,并static
的类和接口
在注解处理过程中,需要对不完整或错误的程序进行操作; 然而,关于结果模型的性质的担保较少。 如果源代码在语法上没有格式化,或者有一些其他不可恢复的错误,不能通过生成新的类型来删除,则可能提供或不提供模型作为实现质量问题。 如果一个程序在语法上是有效的,但是以某种其他方式是错误的,那么任何返回的模型都不能少于程序中的所有方法体被"throw new RuntimeException();"
替换的"throw new RuntimeException();"
。 如果一个程序是指缺少类型xyz,则返回模型必须包含不超过若类型XYZ三个声明被假定为是较少的信息"class Xyz {}"
, "interface Xyz {}"
, "enum Xyz {}"
,或"@interface Xyz {}"
。 如果程序引用了一个缺少的类型Xyz<K1, ... ,Kn>
,则返回的模型必须包含的信息不少于"class Xyz<T1, ... ,Tn> {}"
的声明假定为"class Xyz<T1, ... ,Tn> {}"
或"interface Xyz<T1, ... ,Tn> {}"
除非在特定实现中另有规定,否则应该预期此程序包中方法返回的集合将被调用者不可修改,并且对并发访问是不安全的。
除非另有说明,如果给出了null
参数,则该包中的方法将抛出一个NullPointerException
。
- 从以下版本开始:
- 1.6
-
接口摘要 接口 描述 AnnotationMirror 表示注释。AnnotationValue 表示注释类型元素的值。AnnotationValueVisitor<R,P> 注释类型元素的值的访问者,使用访问者设计模式的变体。Element 表示程序元素,如模块,包,类或方法。ElementVisitor<R,P> 游客的程式元素,以访客设计风格为格局。ExecutableElement 表示类或接口的方法,构造函数或初始化器(静态或实例),包括注释类型元素。ModuleElement 表示一个模块程序元素。ModuleElement.Directive 在本模块的声明中表示一个指令。ModuleElement.DirectiveVisitor<R,P> 模块指令的访问者,以访客设计模式的风格。ModuleElement.ExportsDirective 一个模块的导出包。ModuleElement.OpensDirective 一个开放的模块包。ModuleElement.ProvidesDirective 由模块提供的服务的实现。ModuleElement.RequiresDirective 模块的依赖。ModuleElement.UsesDirective 对模块使用的服务的引用。Name 一个不可变的人物序列。PackageElement 表示包程序元素。Parameterizable 用于具有类型参数的元素的mixin接口。QualifiedNameable 用于具有限定名称的元素的mixin接口。TypeElement 表示一个类或接口程序元素。TypeParameterElement 表示通用类,接口,方法或构造函数元素的正式类型参数。VariableElement 表示一个字段,枚举
常量,方法或构造函数参数,局部变量,资源变量或异常参数。 -
枚举摘要 Enum 描述 ElementKind 一个元素的kind
。Modifier 表示程序元素(如类,方法或字段)上的修饰符。ModuleElement.DirectiveKind 一个指令的kind
。NestingKind 一种类型元素的 嵌套类型。 -
异常摘要 异常 描述 UnknownAnnotationValueException 表示遇到未知类型的注释值。UnknownDirectiveException 表示遇到未知类型的模块指令。UnknownElementException 表示遇到未知类型的元素。