Package spoon.reflect.visitor


package spoon.reflect.visitor

This package defines visitor, scanner, and scanner-based query API for Java programs reified in the meta-model.

Related Documentation

  • Interface Summary
    Interface
    Description
    This interface defines the visitor for the different types of CtImport
    Define a visitable element in spoon.
    This interface defines the visitor for the Spoon metamodel, as defined in spoon.reflect.declaration, spoon.reflect.code, and spoon.reflect.reference.
    Filter<T extends CtElement>
    This interface defines a filter for program elements.
    Used to compute the imports required to write readable code with no fully qualified names.
    Represents that a lexical scope in the language Note that scopes are changing after variable declaration.
    This interface defines the pretty printers.
    Responsible for writing a token while pretty-printing.
  • Class Summary
    Class
    Description
    Find local variables catch, parameters, fields, super fields
     
    Caches some field and nested type names
    Computes source code representation of the Comment literal
    Defines the core bi-scan responsibility.
    Provides an empty implementation of CtImportVisitor.
    Provides an empty implementation of CtVisitor.
    A class to be able to iterate over the children elements in the tree of a given node, in breadth-first order.
    This visitor implements a deep-search scan on the model for 2 elements.
    This class defines a scanner that maintains a scanning stack for contextual awareness.
    This class provides an abstract implementation of the visitor that allows its subclasses to scan the metamodel elements by recursively using their (abstract) supertype scanning methods.
    A class to be able to iterate over the children elements in the tree of a given node, in depth-first order.
    This visitor implements a deep-search scan on the model.
    Defines order of imports: 1) imports are ordered alphabetically 2) static imports are last
    A visitor for generating Java code from the program compile-time model.
    Implementation of TokenWriter, which writes all tokens to PrinterHelper
    Extends CtScanner, to support early termination of scanning process and scan listeners.
     
    Forces fully qualified identifiers by making many elements explicit (by calling setImplicit(false)).
    Marks all types references as implicit so all types will get imported.
    Updates list of import statements of compilation unit following CtElement.isImplicit().
    Detects conflicts needed to be required be a fully-qualified name.
    A scanner that calculates the imports for a given model.
    A CtScanner which provides current lexical scope of currently scanned AST node.
    Helper which assures consistent printing of lists prefixed with `start`, separated by `separator` and suffixed by `end`.
    If there is no item in the list then it prints `start` and then `end`
    If there is one item in the list then it prints `start`, item and then `end`
    If there is more then one items in the list then it prints `start`, items separated by `separator` and then `end`
    This scanner checks that a program model is consistent with regards to the parent elements (children must have the right parent).
    Supports configurable printing of text with indentations and line and column counting
     
    This class provides some useful methods to retrieve program elements and reference through a CtScanner-based deep search.
  • Enum Summary
    Enum
    Description
    This enum defines the Java keywords and some helper method to determine if some strings are Java identifiers.
  • Annotation Types Summary
    Annotation Type
    Description
    This annotation defines a method that contains children of an element of the meta model.
    This annotation defines a method that returns the parent of an element of the meta model.
    This annotation defines an element as Root of the meta model.