Uses of Package
spoon.reflect.declaration

Packages that use spoon.reflect.declaration
Package
Description
This root package provides the default integrated launchers for Spoon program processing.
This package defines interfaces for Java file compilation with Spoon.
this is unstable code, subject to potential complete redesign, not only in snapshots but also in releases.
This package contains legacy code of Spoon.
Ready to go meta? This package contains classes that model the Spoon metamodel itself.
 
 
 
 
This package contains the core API for code processing.
 
This package defines the Spoon's compile-time meta-model of Java programs.
This package contains the meta-model part that models the executable code (methods and constructors' bodies, field initializers).
This package defines compilation units that hold the source code and some classes around them (in most cases, these features should be ignored by the programmers).
 
This package contains the meta-model part that models the declarations (program's structures such as classes, fields, etc).
This package defines some evaluators for the Spoon meta-model.
This package defines all the sub-factories for the Spoon meta-model.
 
 
 
This package defines the references to program elements for the meta-model.
This package defines visitor, scanner, and scanner-based query API for Java programs reified in the meta-model.
 
This package contains a set of useful filters when querying the model.
This package contains some default implementations for commonly used processing tasks.
 
 
 
 
 
 
 
This package provides an implementation of the spoon.reflect package.
 
 
 
 
 
This package provides support for the sniper mode: only the transformed part of classes is rewritten to disk.
 
This package defines the substitution and matching engines for Java templates.
 
 
 
 
 
 
 
 
This package defines a framework for well-typed pure-Java templates.
 
 
  • Classes in spoon.reflect.declaration used by spoon
    Class
    Description
    This element represents a class declaration.
    This interface is the root interface for the metamodel elements (any program element).
    This element defines a package declaration.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
    This element represents an import declaration.
     
  • Class
    Description
    Declares an element that has a name (a class, a method, a variable, etc).
  • Class
    Description
    This element represents a class declaration.
    This interface is the root interface for the metamodel elements (any program element).
    This element defines an interface declaration.
    This element defines a method declaration.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
    This element defines a method declaration.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
    This abstract element defines a variable declaration.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This element represents an annotation on an element.
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This element represents an executable element such as a method, a constructor, or an anonymous block.
    This element defines a field declaration.
    This element defines a method declaration.
    Declares an element that has a name (a class, a method, a variable, etc).
    This element defines an executable parameter declaration.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
    This abstract element defines a variable declaration.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
    Represents a Java module as defined in Java 9.
    Declares an element that has a name (a class, a method, a variable, etc).
    This element defines a package declaration.
    A shadow element is an element that is in the Spoon model, but does not exist in the actual source code.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
  • Class
    Description
    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.
    This interface is the root interface for the metamodel elements (any program element).
    This element represents an executable element such as a method, a constructor, or an anonymous block.
    This element defines a method declaration.
    This interface defines an element that accepts modifiers.
    Defined an element with several types.
    Declares an element that has a name (a class, a method, a variable, etc).
    This abstract element defines a typed element.
    This abstract element defines a variable declaration.
    This exception is thrown when the parent of an element has not been correctly initialized.
  • Class
    Description
    Defines a compilation unit.
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    Defines a compilation unit.
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This enum specifies the element type which is annotated by the annotation
    This element represents an annotation on an element.
    This element defines an annotation method declared in an annotation type.
    This element defines an annotation type.
    This element defines an anonymous executable block declaration in a class.
    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.
    Corresponds to one enum value specified in an enumeration.
    This element represents an executable element such as a method, a constructor, or an anonymous block.
    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.
     
    This element defines an interface declaration.
    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 a CtModule The directives of a module declaration specify the module's dependences on other modules CtModuleRequirement, the packages it makes available to other modules CtPackageExport, the services it consumes CtUsedService, and the services it provides CtProvidedService.
    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.
    This element defines an executable parameter declaration.
    Represents a provided service in a CtModule.
    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.
    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 a CtModule The uses directive specifies a service for which the current module may discover providers via java.util.ServiceLoader.
    This abstract element defines a variable declaration.
    Represents a modifier on the declaration of a program element such as a class, method, or field.
    This exception is thrown when the parent of an element has not been correctly initialized.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This element represents an annotation on an element.
    This element defines an annotation method declared in an annotation type.
    This element defines an annotation type.
    This element defines an anonymous executable block declaration in a class.
    This element represents a class declaration.
    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.
    Corresponds to one enum value specified in an enumeration.
    This element represents an executable element such as a method, a constructor, or an anonymous block.
    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.
    This element defines an interface declaration.
    This element defines a method declaration.
    Represents a Java module as defined in Java 9.
    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.
    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.
    This element defines an executable parameter declaration.
    Represents a provided service in a CtModule.
    This element represents a record declaration.
    This element represents a record component.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
    This element defines a declaration of a type parameter (aka generics).
    Represents the declaration of a used service in a CtModule The uses directive specifies a service for which the current module may discover providers via java.util.ServiceLoader.
    This abstract element defines a variable declaration.
    Represents a modifier on the declaration of a program element such as a class, method, or field.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This element represents an annotation on an element.
    This interface is the root interface for the metamodel elements (any program element).
    This element represents an executable element such as a method, a constructor, or an anonymous block.
    This element defines a field declaration.
    Represents a Java module as defined in Java 9.
    This element defines a package declaration.
    This element defines an executable parameter declaration.
    A shadow element is an element that is in the Spoon model, but does not exist in the actual source code.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
    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).
    This abstract element defines a variable declaration.
    Represents a modifier on the declaration of a program element such as a class, method, or field.
  • Class
    Description
    This element represents an annotation on an element.
    This element defines an annotation method declared in an annotation type.
    This element defines an annotation type.
    This element defines an anonymous executable block declaration in a class.
    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.
    Corresponds to one enum value specified in an enumeration.
    This element represents an executable element such as a method, a constructor, or an anonymous block.
    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.
    This element defines an interface declaration.
    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 a CtModule The directives of a module declaration specify the module's dependences on other modules CtModuleRequirement, the packages it makes available to other modules CtPackageExport, the services it consumes CtUsedService, and the services it provides CtProvidedService.
    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.
    This element defines an executable parameter declaration.
    Represents a provided service in a CtModule.
    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.
    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 a CtModule The uses directive specifies a service for which the current module may discover providers via java.util.ServiceLoader.
    This abstract element defines a variable declaration.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
    This element represents an executable element such as a method, a constructor, or an anonymous block.
    This element defines a field declaration.
    This element defines an interface declaration.
    This element defines a method declaration.
    Declares an element that has a name (a class, a method, a variable, etc).
    This element defines an executable parameter declaration.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
    Returns information that can be obtained both at compile-time and run-time.
    This abstract element defines a variable declaration.
  • Class
    Description
    This element represents an annotation on an element.
    This element defines an annotation method declared in an annotation type.
    This element defines an annotation type.
    This element defines an anonymous executable block declaration in a class.
    This element represents a class declaration.
    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.
    Corresponds to one enum value specified in an enumeration.
    This element defines a field declaration.
    This element represents an import declaration.
    This element defines an interface declaration.
    This element defines a method declaration.
    Represents a Java module as defined in Java 9.
    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.
    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.
    This element defines an executable parameter declaration.
    Represents a provided service in a CtModule.
    This element represents a record declaration.
    This element represents a record component.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
    This element defines a declaration of a type parameter (aka generics).
    Represents the declaration of a used service in a CtModule The uses directive specifies a service for which the current module may discover providers via java.util.ServiceLoader.
  • Class
    Description
    This element defines a constructor declaration.
    This element defines a method declaration.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
  • Class
    Description
    This element represents an annotation on an element.
    This element defines an annotation method declared in an annotation type.
    This element defines an anonymous executable block declaration in a class.
    This element represents a class declaration.
    This element defines a constructor declaration.
    This interface is the root interface for the metamodel elements (any program element).
    This element represents an executable element such as a method, a constructor, or an anonymous block.
    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 defines a method declaration.
    This element defines a package declaration.
    This element represents a record declaration.
    This element represents a record component.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
    This element defines a declaration of a type parameter (aka generics).
    This abstract element defines a variable declaration.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
    Represents a modifier on the declaration of a program element such as a class, method, or field.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
    Represents a modifier on the declaration of a program element such as a class, method, or field.
  • Class
    Description
    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.
    This interface is the root interface for the metamodel elements (any program element).
    This element represents an executable element such as a method, a constructor, or an anonymous block.
    This element defines a method declaration.
    This interface defines an element that accepts modifiers.
    Defined an element with several types.
    Declares an element that has a name (a class, a method, a variable, etc).
    This element defines an executable parameter declaration.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
    This abstract element defines a typed element.
    This abstract element defines a variable declaration.
    Represents a modifier on the declaration of a program element such as a class, method, or field.
    This exception is thrown when the parent of an element has not been correctly initialized.
  • Class
    Description
    Defines a compilation unit.
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This enum specifies the element type which is annotated by the annotation
    This element represents an annotation on an element.
    This element defines an annotation method declared in an annotation type.
    This element defines an annotation type.
    This element defines an anonymous executable block declaration in a class.
    This element represents a class declaration.
    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.
    Corresponds to one enum value specified in an enumeration.
    This element represents an executable element such as a method, a constructor, or an anonymous block.
    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.
     
    This element defines an interface declaration.
    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 a CtModule The directives of a module declaration specify the module's dependences on other modules CtModuleRequirement, the packages it makes available to other modules CtPackageExport, the services it consumes CtUsedService, and the services it provides CtProvidedService.
    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.
     
    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.
    This element defines an executable parameter declaration.
    Represents a provided service in a CtModule.
    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.
    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 a CtModule The uses directive specifies a service for which the current module may discover providers via java.util.ServiceLoader.
    This abstract element defines a variable declaration.
    Represents a modifier on the declaration of a program element such as a class, method, or field.
    This exception is thrown when the parent of an element has not been correctly initialized.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
    This element defines a field declaration.
  • Class
    Description
    This element represents an annotation on an element.
    This interface is the root interface for the metamodel elements (any program element).
    This element represents an executable element such as a method, a constructor, or an anonymous block.
    This element defines a field declaration.
    Represents a Java module as defined in Java 9.
    This element defines a package declaration.
    This element defines an executable parameter declaration.
    A shadow element is an element that is in the Spoon model, but does not exist in the actual source code.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
    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).
    This abstract element defines a variable declaration.
    Represents a modifier on the declaration of a program element such as a class, method, or field.
  • Class
    Description
    Defines a compilation unit.
    This interface is the root interface for the metamodel elements (any program element).
    This element represents an import declaration.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
  • Class
    Description
    Defines a compilation unit.
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This element represents a class declaration.
    This element defines a field declaration.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
    This element represents an executable element such as a method, a constructor, or an anonymous block.
    Represents a modifier on the declaration of a program element such as a class, method, or field.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
  • Class
    Description
    This element defines an annotation method declared in an annotation type.
    This element defines an annotation type.
    This element represents a class declaration.
    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.
    This element represents an executable element such as a method, a constructor, or an anonymous block.
    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.
    This element defines an interface declaration.
    This element defines a method declaration.
    Declares an element that has a name (a class, a method, a variable, etc).
    This element defines a package declaration.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
    Returns information that can be obtained both at compile-time and run-time.
    This element defines a declaration of a type parameter (aka generics).
  • Class
    Description
    This element represents an annotation on an element.
    This element defines an annotation method declared in an annotation type.
    This element defines an annotation type.
    This element defines an anonymous executable block declaration in a class.
    This element represents a class declaration.
    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.
    Corresponds to one enum value specified in an enumeration.
    This element defines a field declaration.
    This element represents an import declaration.
    This element defines an interface declaration.
    This element defines a method declaration.
    Represents a Java module as defined in Java 9.
    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.
    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.
    This element defines an executable parameter declaration.
    Represents a provided service in a CtModule.
    This element represents a record declaration.
    This element represents a record component.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
    This element defines a declaration of a type parameter (aka generics).
    Represents the declaration of a used service in a CtModule The uses directive specifies a service for which the current module may discover providers via java.util.ServiceLoader.
  • Class
    Description
    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.
    This interface is the root interface for the metamodel elements (any program element).
    This element represents an import declaration.
    This element defines a method declaration.
    This interface defines an element that accepts modifiers.
    Declares an element that has a name (a class, a method, a variable, etc).
    This element defines an executable parameter declaration.
  • Class
    Description
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
  • Class
    Description
    This element represents an annotation on an element.
    This element defines a constructor declaration.
    Corresponds to one enum value specified in an enumeration.
    This element defines a field declaration.
    This element defines a method declaration.
    This element defines a package declaration.
    This element defines an executable parameter declaration.
    This element represents a record component.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
    This element defines a declaration of a type parameter (aka generics).
  • Class
    Description
    This element represents an annotation on an element.
    This element defines an annotation method declared in an annotation type.
    This element defines an annotation type.
    This element defines an anonymous executable block declaration in a class.
    This element represents a class declaration.
    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.
    Corresponds to one enum value specified in an enumeration.
    This element defines a field declaration.
    This element represents an import declaration.
    This element defines an interface declaration.
    This element defines a method declaration.
    Represents a Java module as defined in Java 9.
    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.
    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.
    This element defines an executable parameter declaration.
    Represents a provided service in a CtModule.
    This element represents a record declaration.
    This element represents a record component.
    This element defines a declaration of a type parameter (aka generics).
    Represents the declaration of a used service in a CtModule The uses directive specifies a service for which the current module may discover providers via java.util.ServiceLoader.
  • Class
    Description
    This element represents a class declaration.
    This element defines a constructor declaration.
    This interface is the root interface for the metamodel elements (any program element).
    This element defines a field declaration.
    This element defines a method declaration.
    This abstract element defines a super-type for classes and interfaces, which can declare methods.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
    This element defines a package declaration.
  • Class
    Description
    This interface is the root interface for the metamodel elements (any program element).
    This abstract element defines a super-type for classes and interfaces, which can declare methods.