Package spoon.reflect.declaration
package spoon.reflect.declaration
This package contains the meta-model part that models the declarations (program's structures such as classes, fields, etc).
Related Documentation
-
InterfaceDescriptionCtAnnotation<A extends Annotation>This element represents an annotation on an element.This element defines an annotation method declared in an annotation type.CtAnnotationType<T extends Annotation>This element defines an annotation type.This element defines an anonymous executable block declaration in a class.CtClass<T>This element represents a class declaration.This interface represents snippets of source code that can be used in the AST to represent complex code without having to build the corresponding program model structure.Defines a compilation unit.This element defines a constructor declaration.This interface is the root interface for the metamodel elements (any program element).This element represents an enumeration declaration.CtEnumValue<T>Corresponds to one enum value specified in an enumeration.CtExecutable<R>This element represents an executable element such as a method, a constructor, or an anonymous block.CtField<T>This element defines a field declaration.This abstract element defines a declaration that accepts formal type parameters (aka generics), such as a CtType (
class A<E>
), CtMethod or CtConstructor.This element represents an import declaration.CtInterface<T>This element defines an interface declaration.CtMethod<T>This element defines a method declaration.This interface defines an element that accepts modifiers.Represents a Java module as defined in Java 9.Represents a directive of aCtModule
The directives of a module declaration specify the module's dependences on other modulesCtModuleRequirement
, the packages it makes available to other modulesCtPackageExport
, the services it consumesCtUsedService
, and the services it providesCtProvidedService
.Represents a require module in a Java module definition The requires directive specifies the name of a module on which the current module has a dependence.Defined an element with several types.Declares an element that has a name (a class, a method, a variable, etc).This element defines a package declaration.This element represents an package declaration.Represents an exported or opened package in a Java module The exports directive specifies the name of a package to be exported by the current module.CtParameter<T>This element defines an executable parameter declaration.Represents a provided service in aCtModule
.This element represents a record declaration.This element represents a record component.This interface represents any type that can be sealed.A shadow element is an element that is in the Spoon model, but does not exist in the actual source code.CtType<T>This abstract element defines a super-type for classes and interfaces, which can declare methods.This abstract element defines a typed element.Returns information that can be obtained both at compile-time and run-time.This interface represents a member of a class (field, method, nested class or static/instance initializer).This element defines a declaration of a type parameter (aka generics).Represents the declaration of a used service in aCtModule
The uses directive specifies a service for which the current module may discover providers via java.util.ServiceLoader.CtVariable<T>This abstract element defines a variable declaration. -
EnumDescriptionThis enum specifies the element type which is annotated by the annotationRepresents a modifier on the declaration of a program element such as a class, method, or field.
-
ExceptionDescriptionThis exception is thrown when the parent of an element has not been correctly initialized.