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
-
InterfaceDescriptionThis interface defines the visitor for the different types of CtImportDefine a visitable element in spoon.This interface defines the visitor for the Spoon metamodel, as defined in
spoon.reflect.declaration
,spoon.reflect.code
, andspoon.reflect.reference
.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. -
ClassDescriptionFind local variables catch, parameters, fields, super fieldsCaches some field and nested type namesComputes source code representation of the Comment literalDefines 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 lastA visitor for generating Java code from the program compile-time model.Implementation ofTokenWriter
, which writes all tokens toPrinterHelper
ExtendsCtScanner
, 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 followingCtElement.isImplicit()
.Detects conflicts needed to be required be a fully-qualified name.A scanner that calculates the imports for a given model.ACtScanner
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).Computes source code representation of the operatorSupports configurable printing of text with indentations and line and column countingThis class provides some useful methods to retrieve program elements and reference through aCtScanner
-based deep search. -
EnumDescriptionWhether to print generic types for references.This enum defines the Java keywords and some helper method to determine if some strings are Java identifiers.