Uses of Package
spoon.reflect.code

Packages that use spoon.reflect.code
Package
Description
 
 
 
This package contains the meta-model part that models the executable code (methods and constructors' bodies, field initializers).
This package contains the meta-model part that models the declarations (program's structures such as classes, fields, etc).
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 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.
  • Class
    Description
    Define the possible type for a tag
  • Class
    Description
    This code element defines a foreach statement.
    This code element represents an if statement.
  • Class
    Description
    This abstract code element defines a typed expression.
    This code element defines a concrete invocation.
    This code element defines a local variable definition (within an executable body).
  • Class
    Description
    This enumeration defines all the kinds of binary operators.
     
    This code element defines an abstract invocation on a CtExecutable.
    This code element defines an abstract switch (either switch statement or switch expression).
    This code element defines an access to a annotation parameter variable.
    This code element defines a one-dimensional array access.
    This code element defines a read access to an array.
    This code element defines a write access to an array.
    This code element defines an assert clause.
    This code element defines an assignment.
    This interface defines a binary operator.
    This code element represents a block of code, that is to say a list of statements enclosed in curly brackets.
    This abstract code element defines an element, which contains a body
    This code element defines a break statement.
    This code element defines a case within a switch-case.
    This code element defines a catch of a try.
    This code element defines an exception variable in a catch.
    This abstract code element represents all the statements that break the control flow of the program.
    This interface is the root interface of the code elements.
    This element is a code snippet that must represent an expression and can thus be inserted in the program's model as is.
    This element is a code snippet that must represent a statement and can thus be inserted in the program's model as is.
    This code element defines a comment Example: int x = 0; // a comment
     
    This code element defines conditional expressions using the ? (ternary expressions).
    This code element represents a constructor call.
    This code element defines the continue statement.
    This code element defines a do loop.
    This abstract code element defines an expression which represents an executable reference.
    This abstract code element defines a typed expression.
    This code element defines an access to a field variable (read and write)
    This code element defines a read access to a field.
    This code element defines a write access to a field.
    This code element defines a for loop.
    This code element defines a foreach statement.
    This code element represents an if statement.
    This code element defines a concrete invocation.
    This code element defines a javadoc comment Example:
    This code element defines a javadoc tag Example:
    Define the possible type for a tag
    This abstract code element represents all the statements that break the control flow of the program and which can support a label.
    This code element represents the creation of a lambda.
    This code element defines a literal value (an int, a string, etc).
    This code element defines a local variable definition (within an executable body).
    This abstract code element defines a loop.
    This code element defines the inline creation of a new array.
    This code element represents the creation of a anonymous class.
    This code element defines an self-operated assignment such as += or *=.
    This interface represents a common super type for different patterns implemented in the Java language.
    This code element defines a resource used in the try-with-resource statement.
    This code element represents a return statement.
    Represents the right hand side of an assignment See CtAssignment, CtLocalVariable, CtField
    This abstract code element represents all the statements, which can be part of a block.
    This code element represents a list of statements.
    This code element defines an access to super.
    This code element defines a switch statement.
    This code element defines a switch expression.
    This code element defines a synchronized statement.
    This abstract code element defines an expression which contains a target expression.
    This code element defines a Text Block String Literal.
    This code element defines an access to this.
    This code element defines a throw statement.
    This code element defines a try statement.
    This code element defines a try with resource statement.
    This code element represents a type reference usable as an expression.
    This code element defines a type pattern, introduced in Java 16 by JEP 394.
    This code element represents a unary operator.
    This code element defines an access to a variable (read and write).
    This code element defines an read access to a variable.
    This code element defines a write to a variable.
    This code element defines a while loop.
    This code element defines a yield statement.
     
    This enumeration defines all the kinds of unary operators.
  • Class
    Description
    This code element represents a block of code, that is to say a list of statements enclosed in curly brackets.
    This abstract code element defines an element, which contains a body
    This interface is the root interface of the code elements.
    This code element defines a comment Example: int x = 0; // a comment
    This abstract code element defines a typed expression.
    This code element defines an access to a field variable (read and write)
    This code element defines a literal value (an int, a string, etc).
    This code element defines the inline creation of a new array.
    Represents the right hand side of an assignment See CtAssignment, CtLocalVariable, CtField
    This abstract code element represents all the statements, which can be part of a block.
  • Class
    Description
    This enumeration defines all the kinds of binary operators.
    This code element defines an access to a annotation parameter variable.
    This code element defines a read access to an array.
    This code element defines a write access to an array.
    This code element defines an assert clause.
    This code element defines an assignment.
    This interface defines a binary operator.
    This code element represents a block of code, that is to say a list of statements enclosed in curly brackets.
    This code element defines a break statement.
    This code element defines a case within a switch-case.
    This code element defines a catch of a try.
    This code element defines an exception variable in a catch.
    This element is a code snippet that must represent an expression and can thus be inserted in the program's model as is.
    This element is a code snippet that must represent a statement and can thus be inserted in the program's model as is.
    This code element defines a comment Example: int x = 0; // a comment
     
    This code element defines conditional expressions using the ? (ternary expressions).
    This code element represents a constructor call.
    This code element defines the continue statement.
    This code element defines a do loop.
    This abstract code element defines an expression which represents an executable reference.
    This abstract code element defines a typed expression.
    This code element defines an access to a field variable (read and write)
    This code element defines a read access to a field.
    This code element defines a write access to a field.
    This code element defines a for loop.
    This code element defines a foreach statement.
    This code element represents an if statement.
    This code element defines a concrete invocation.
    This code element defines a javadoc comment Example:
    This code element defines a javadoc tag Example:
    Define the possible type for a tag
    This code element represents the creation of a lambda.
    This code element defines a literal value (an int, a string, etc).
    This code element defines a local variable definition (within an executable body).
    This code element defines the inline creation of a new array.
    This code element represents the creation of a anonymous class.
    This code element defines an self-operated assignment such as += or *=.
    This code element represents a return statement.
    This abstract code element represents all the statements, which can be part of a block.
    This code element represents a list of statements.
    This code element defines an access to super.
    This code element defines a switch statement.
    This code element defines a switch expression.
    This code element defines a synchronized statement.
    This code element defines a Text Block String Literal.
    This code element defines an access to this.
    This code element defines a throw statement.
    This code element defines a try statement.
    This code element defines a try with resource statement.
    This code element represents a type reference usable as an expression.
    This code element defines a type pattern, introduced in Java 16 by JEP 394.
    This code element represents a unary operator.
    This code element defines an access to a variable (read and write).
    This code element defines an read access to a variable.
    This code element defines a write to a variable.
    This code element defines a while loop.
    This code element defines a yield statement.
  • Class
    Description
    This code element defines an exception variable in a catch.
    This code element defines a comment Example: int x = 0; // a comment
    This code element defines a local variable definition (within an executable body).
  • Class
    Description
    This code element defines an abstract invocation on a CtExecutable.
    This code element defines an abstract switch (either switch statement or switch expression).
    This code element defines an access to a annotation parameter variable.
    This code element defines a one-dimensional array access.
    This code element defines a read access to an array.
    This code element defines a write access to an array.
    This code element defines an assert clause.
    This code element defines an assignment.
    This interface defines a binary operator.
    This code element represents a block of code, that is to say a list of statements enclosed in curly brackets.
    This abstract code element defines an element, which contains a body
    This code element defines a break statement.
    This code element defines a case within a switch-case.
    This code element defines a catch of a try.
    This code element defines an exception variable in a catch.
    This abstract code element represents all the statements that break the control flow of the program.
    This interface is the root interface of the code elements.
    This element is a code snippet that must represent an expression and can thus be inserted in the program's model as is.
    This element is a code snippet that must represent a statement and can thus be inserted in the program's model as is.
    This code element defines a comment Example: int x = 0; // a comment
    This code element defines conditional expressions using the ? (ternary expressions).
    This code element represents a constructor call.
    This code element defines the continue statement.
    This code element defines a do loop.
    This abstract code element defines an expression which represents an executable reference.
    This abstract code element defines a typed expression.
    This code element defines an access to a field variable (read and write)
    This code element defines a read access to a field.
    This code element defines a write access to a field.
    This code element defines a for loop.
    This code element defines a foreach statement.
    This code element represents an if statement.
    This code element defines a concrete invocation.
    This code element defines a javadoc comment Example:
    This code element defines a javadoc tag Example:
    This abstract code element represents all the statements that break the control flow of the program and which can support a label.
    This code element represents the creation of a lambda.
    This code element defines a literal value (an int, a string, etc).
    This code element defines a local variable definition (within an executable body).
    This abstract code element defines a loop.
    This code element defines the inline creation of a new array.
    This code element represents the creation of a anonymous class.
    This code element defines an self-operated assignment such as += or *=.
    This interface represents a common super type for different patterns implemented in the Java language.
    This code element defines a resource used in the try-with-resource statement.
    This code element represents a return statement.
    Represents the right hand side of an assignment See CtAssignment, CtLocalVariable, CtField
    This abstract code element represents all the statements, which can be part of a block.
    This code element represents a list of statements.
    This code element defines an access to super.
    This code element defines a switch statement.
    This code element defines a switch expression.
    This code element defines a synchronized statement.
    This abstract code element defines an expression which contains a target expression.
    This code element defines a Text Block String Literal.
    This code element defines an access to this.
    This code element defines a throw statement.
    This code element defines a try statement.
    This code element defines a try with resource statement.
    This code element represents a type reference usable as an expression.
    This code element defines a type pattern, introduced in Java 16 by JEP 394.
    This code element represents a unary operator.
    This code element defines an access to a variable (read and write).
    This code element defines an read access to a variable.
    This code element defines a write to a variable.
    This code element defines a while loop.
    This code element defines a yield statement.
  • Class
    Description
    This code element defines an exception variable in a catch.
    This abstract code element represents all the statements that break the control flow of the program.
    This code element defines a concrete invocation.
    This code element represents the creation of a lambda.
    This code element defines a local variable definition (within an executable body).
    This abstract code element represents all the statements, which can be part of a block.
    This code element defines an access to a variable (read and write).
  • Class
    Description
    This code element defines an access to a annotation parameter variable.
    This code element defines a read access to an array.
    This code element defines a write access to an array.
    This code element defines an assert clause.
    This code element defines an assignment.
    This interface defines a binary operator.
    This code element represents a block of code, that is to say a list of statements enclosed in curly brackets.
    This code element defines a break statement.
    This code element defines a case within a switch-case.
    This code element defines a catch of a try.
    This code element defines an exception variable in a catch.
    This element is a code snippet that must represent an expression and can thus be inserted in the program's model as is.
    This element is a code snippet that must represent a statement and can thus be inserted in the program's model as is.
    This code element defines a comment Example: int x = 0; // a comment
    This code element defines conditional expressions using the ? (ternary expressions).
    This code element represents a constructor call.
    This code element defines the continue statement.
    This code element defines a do loop.
    This abstract code element defines an expression which represents an executable reference.
    This abstract code element defines a typed expression.
    This code element defines a read access to a field.
    This code element defines a write access to a field.
    This code element defines a for loop.
    This code element defines a foreach statement.
    This code element represents an if statement.
    This code element defines a concrete invocation.
    This code element defines a javadoc comment Example:
    This code element defines a javadoc tag Example:
    This code element represents the creation of a lambda.
    This code element defines a literal value (an int, a string, etc).
    This code element defines a local variable definition (within an executable body).
    This code element defines the inline creation of a new array.
    This code element represents the creation of a anonymous class.
    This code element defines an self-operated assignment such as += or *=.
    This code element represents a return statement.
    This code element represents a list of statements.
    This code element defines an access to super.
    This code element defines a switch statement.
    This code element defines a switch expression.
    This code element defines a synchronized statement.
    This code element defines a Text Block String Literal.
    This code element defines an access to this.
    This code element defines a throw statement.
    This code element defines a try statement.
    This code element defines a try with resource statement.
    This code element represents a type reference usable as an expression.
    This code element defines a type pattern, introduced in Java 16 by JEP 394.
    This code element represents a unary operator.
    This code element defines an read access to a variable.
    This code element defines a write to a variable.
    This code element defines a while loop.
    This code element defines a yield statement.
  • Class
    Description
    This element is a code snippet that must represent an expression and can thus be inserted in the program's model as is.
    This element is a code snippet that must represent a statement and can thus be inserted in the program's model as is.
    This abstract code element defines a typed expression.
    This abstract code element represents all the statements, which can be part of a block.
  • Class
    Description
    This code element defines a read access to an array.
    This code element defines a write access to an array.
    This code element defines an assert clause.
    This code element defines an assignment.
    This interface defines a binary operator.
    This code element represents a block of code, that is to say a list of statements enclosed in curly brackets.
    This code element defines a break statement.
    This code element defines a case within a switch-case.
    This code element defines a catch of a try.
    This code element defines an exception variable in a catch.
    This code element defines conditional expressions using the ? (ternary expressions).
    This code element represents a constructor call.
    This code element defines a do loop.
    This abstract code element defines an expression which represents an executable reference.
    This abstract code element defines a typed expression.
    This code element defines an access to a field variable (read and write)
    This code element defines a for loop.
    This code element defines a foreach statement.
    This code element represents an if statement.
    This code element defines a concrete invocation.
    This code element represents the creation of a lambda.
    This abstract code element defines a loop.
    This code element defines the inline creation of a new array.
    This code element represents the creation of a anonymous class.
    This code element represents a return statement.
    This code element defines an access to super.
    This code element defines a switch statement.
    This code element defines a switch expression.
    This code element defines a synchronized statement.
    This abstract code element defines an expression which contains a target expression.
    This code element defines a throw statement.
    This code element defines a try statement.
    This code element defines a try with resource statement.
    This code element defines a type pattern, introduced in Java 16 by JEP 394.
    This code element represents a unary operator.
    This code element defines an access to a variable (read and write).
    This code element defines a while loop.
    This code element defines a yield statement.
  • Class
    Description
    This enumeration defines all the kinds of binary operators.
     
    This code element defines an abstract invocation on a CtExecutable.
    This code element defines an abstract switch (either switch statement or switch expression).
    This code element defines an access to a annotation parameter variable.
    This code element defines a one-dimensional array access.
    This code element defines a read access to an array.
    This code element defines a write access to an array.
    This code element defines an assert clause.
    This code element defines an assignment.
    This interface defines a binary operator.
    This code element represents a block of code, that is to say a list of statements enclosed in curly brackets.
    This abstract code element defines an element, which contains a body
    This code element defines a break statement.
    This code element defines a case within a switch-case.
    This code element defines a catch of a try.
    This code element defines an exception variable in a catch.
    This abstract code element represents all the statements that break the control flow of the program.
    This interface is the root interface of the code elements.
    This element is a code snippet that must represent an expression and can thus be inserted in the program's model as is.
    This element is a code snippet that must represent a statement and can thus be inserted in the program's model as is.
    This code element defines a comment Example: int x = 0; // a comment
     
    This code element defines conditional expressions using the ? (ternary expressions).
    This code element represents a constructor call.
    This code element defines the continue statement.
    This code element defines a do loop.
    This abstract code element defines an expression which represents an executable reference.
    This abstract code element defines a typed expression.
    This code element defines an access to a field variable (read and write)
    This code element defines a read access to a field.
    This code element defines a write access to a field.
    This code element defines a for loop.
    This code element defines a foreach statement.
    This code element represents an if statement.
    This code element defines a concrete invocation.
    This code element defines a javadoc comment Example:
    This code element defines a javadoc tag Example:
    Define the possible type for a tag
    This abstract code element represents all the statements that break the control flow of the program and which can support a label.
    This code element represents the creation of a lambda.
    This code element defines a literal value (an int, a string, etc).
    This code element defines a local variable definition (within an executable body).
    This abstract code element defines a loop.
    This code element defines the inline creation of a new array.
    This code element represents the creation of a anonymous class.
    This code element defines an self-operated assignment such as += or *=.
    This interface represents a common super type for different patterns implemented in the Java language.
    This code element defines a resource used in the try-with-resource statement.
    This code element represents a return statement.
    Represents the right hand side of an assignment See CtAssignment, CtLocalVariable, CtField
    This abstract code element represents all the statements, which can be part of a block.
    This code element represents a list of statements.
    This code element defines an access to super.
    This code element defines a switch statement.
    This code element defines a switch expression.
    This code element defines a synchronized statement.
    This abstract code element defines an expression which contains a target expression.
    This code element defines a Text Block String Literal.
    This code element defines an access to this.
    This code element defines a throw statement.
    This code element defines a try statement.
    This code element defines a try with resource statement.
    This code element represents a type reference usable as an expression.
    This code element defines a type pattern, introduced in Java 16 by JEP 394.
    This code element represents a unary operator.
    This code element defines an access to a variable (read and write).
    This code element defines an read access to a variable.
    This code element defines a write to a variable.
    This code element defines a while loop.
    This code element defines a yield statement.
     
    This enumeration defines all the kinds of unary operators.
  • Class
    Description
    This code element represents a block of code, that is to say a list of statements enclosed in curly brackets.
    This abstract code element defines an element, which contains a body
    This interface is the root interface of the code elements.
    This code element defines a comment Example: int x = 0; // a comment
    This abstract code element defines a typed expression.
    This code element defines an access to a field variable (read and write)
    This code element defines a literal value (an int, a string, etc).
    This code element defines the inline creation of a new array.
    Represents the right hand side of an assignment See CtAssignment, CtLocalVariable, CtField
    This abstract code element represents all the statements, which can be part of a block.
    This code element represents a list of statements.
  • Class
    Description
    This code element defines an access to a annotation parameter variable.
    This code element defines an assignment.
    This interface defines a binary operator.
    This code element represents a block of code, that is to say a list of statements enclosed in curly brackets.
    This code element defines a catch of a try.
    This code element defines an exception variable in a catch.
    This code element defines conditional expressions using the ? (ternary expressions).
    This code element defines a do loop.
    This abstract code element defines a typed expression.
    This code element defines a read access to a field.
    This code element defines a write access to a field.
    This code element defines a for loop.
    This code element represents an if statement.
    This code element defines a concrete invocation.
    This code element defines a local variable definition (within an executable body).
    This code element represents a return statement.
    This code element defines a synchronized statement.
    This code element defines a throw statement.
    This code element represents a unary operator.
    This code element defines an read access to a variable.
    This code element defines a write to a variable.
    This code element defines a while loop.
  • Class
    Description
    This code element defines an exception variable in a catch.
    This code element defines a comment Example: int x = 0; // a comment
    This code element defines a local variable definition (within an executable body).
  • Class
    Description
    This code element defines a comment Example: int x = 0; // a comment
  • Class
    Description
    This code element defines a comment Example: int x = 0; // a comment
  • Class
    Description
    This abstract code element defines a typed expression.
  • Class
    Description
    This code element defines a concrete invocation.
  • Class
    Description
    This code element defines a read access to a field.
    This code element defines a write access to a field.
    This code element defines a concrete invocation.
  • Class
    Description
    This code element defines an access to a annotation parameter variable.
    This code element defines a read access to an array.
    This code element defines a write access to an array.
    This code element defines an assert clause.
    This code element defines an assignment.
    This interface defines a binary operator.
    This code element represents a block of code, that is to say a list of statements enclosed in curly brackets.
    This code element defines a break statement.
    This code element defines a case within a switch-case.
    This code element defines a catch of a try.
    This code element defines an exception variable in a catch.
    This element is a code snippet that must represent an expression and can thus be inserted in the program's model as is.
    This element is a code snippet that must represent a statement and can thus be inserted in the program's model as is.
    This code element defines a comment Example: int x = 0; // a comment
    This code element defines conditional expressions using the ? (ternary expressions).
    This code element represents a constructor call.
    This code element defines the continue statement.
    This code element defines a do loop.
    This abstract code element defines an expression which represents an executable reference.
    This abstract code element defines a typed expression.
    This code element defines a read access to a field.
    This code element defines a write access to a field.
    This code element defines a for loop.
    This code element defines a foreach statement.
    This code element represents an if statement.
    This code element defines a concrete invocation.
    This code element defines a javadoc comment Example:
    This code element defines a javadoc tag Example:
    This code element represents the creation of a lambda.
    This code element defines a literal value (an int, a string, etc).
    This code element defines a local variable definition (within an executable body).
    This code element defines the inline creation of a new array.
    This code element represents the creation of a anonymous class.
    This code element defines an self-operated assignment such as += or *=.
    This code element represents a return statement.
    This abstract code element represents all the statements, which can be part of a block.
    This code element represents a list of statements.
    This code element defines an access to super.
    This code element defines a switch statement.
    This code element defines a switch expression.
    This code element defines a synchronized statement.
    This code element defines a Text Block String Literal.
    This code element defines an access to this.
    This code element defines a throw statement.
    This code element defines a try statement.
    This code element defines a try with resource statement.
    This code element represents a type reference usable as an expression.
    This code element defines a type pattern, introduced in Java 16 by JEP 394.
    This code element represents a unary operator.
    This code element defines an read access to a variable.
    This code element defines a write to a variable.
    This code element defines a while loop.
    This code element defines a yield statement.
  • Class
    Description
    This code element defines an assignment.
    This interface defines a binary operator.
    This code element defines a break statement.
    This code element defines the continue statement.
    This code element defines a literal value (an int, a string, etc).
    This code element defines an self-operated assignment such as += or *=.
    This abstract code element represents all the statements, which can be part of a block.
    This code element defines a Text Block String Literal.
    This code element represents a unary operator.
  • Class
    Description
    This code element defines an access to a annotation parameter variable.
    This code element defines a read access to an array.
    This code element defines a write access to an array.
    This code element defines an assert clause.
    This code element defines an assignment.
    This interface defines a binary operator.
    This code element represents a block of code, that is to say a list of statements enclosed in curly brackets.
    This code element defines a break statement.
    This code element defines a case within a switch-case.
    This code element defines a catch of a try.
    This code element defines an exception variable in a catch.
    This element is a code snippet that must represent an expression and can thus be inserted in the program's model as is.
    This element is a code snippet that must represent a statement and can thus be inserted in the program's model as is.
    This code element defines a comment Example: int x = 0; // a comment
    This code element defines conditional expressions using the ? (ternary expressions).
    This code element represents a constructor call.
    This code element defines the continue statement.
    This code element defines a do loop.
    This abstract code element defines an expression which represents an executable reference.
    This abstract code element defines a typed expression.
    This code element defines a read access to a field.
    This code element defines a write access to a field.
    This code element defines a for loop.
    This code element defines a foreach statement.
    This code element represents an if statement.
    This code element defines a concrete invocation.
    This code element defines a javadoc comment Example:
    This code element defines a javadoc tag Example:
    This code element represents the creation of a lambda.
    This code element defines a literal value (an int, a string, etc).
    This code element defines a local variable definition (within an executable body).
    This code element defines the inline creation of a new array.
    This code element represents the creation of a anonymous class.
    This code element defines an self-operated assignment such as += or *=.
    This code element represents a return statement.
    This code element represents a list of statements.
    This code element defines an access to super.
    This code element defines a switch statement.
    This code element defines a switch expression.
    This code element defines a synchronized statement.
    This code element defines a Text Block String Literal.
    This code element defines an access to this.
    This code element defines a throw statement.
    This code element defines a try statement.
    This code element defines a try with resource statement.
    This code element represents a type reference usable as an expression.
    This code element defines a type pattern, introduced in Java 16 by JEP 394.
    This code element represents a unary operator.
    This code element defines an read access to a variable.
    This code element defines a write to a variable.
    This code element defines a while loop.
    This code element defines a yield statement.
  • Class
    Description
    This code element represents a block of code, that is to say a list of statements enclosed in curly brackets.
    This abstract code element defines a typed expression.
    This abstract code element represents all the statements, which can be part of a block.