This package defines visitor, scanner, and scanner-based query API for Java programs reified in the meta-model.
InterfaceDescriptionThis interface defines the visitor for the different types of CtImportDefine a visitable element in spoon.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.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
CtScannerwhich 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 a
CtScanner-based deep search.