This package defines visitor, scanner, and scanner-based query API for Java programs reified in the meta-model.
Interface Summary Interface Description CtImportVisitorThis interface defines the visitor for the different types of CtImport CtVisitableDefine a visitable element in spoon. CtVisitor Filter<T extends CtElement>This interface defines a filter for program elements. ImportScannerUsed to compute the imports required to write readable code with no fully qualified names. LexicalScopeRepresents that a lexical scope in the language Note that scopes are changing after variable declaration. PrettyPrinterThis interface defines the pretty printers. TokenWriterResponsible for writing a token while pretty-printing.
Class Summary Class Description AccessibleVariablesFinderFind local variables catch, parameters, fields, super fields AstParentConsistencyChecker CacheBasedConflictFinderCaches some field and nested type names CommentHelperComputes source code representation of the Comment literal CtAbstractBiScannerDefines the core bi-scan responsibility. CtAbstractImportVisitorProvides an empty implementation of
CtAbstractVisitorProvides an empty implementation of CtVisitor. CtBFSIteratorA class to be able to iterate over the children elements in the tree of a given node, in breadth-first order. CtBiScannerDefaultThis visitor implements a deep-search scan on the model for 2 elements. CtDequeScannerThis class defines a scanner that maintains a scanning stack for contextual awareness. CtInheritanceScannerThis 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. CtIteratorA class to be able to iterate over the children elements in the tree of a given node, in depth-first order. CtScannerThis visitor implements a deep-search scan on the model. DefaultImportComparatorDefines order of imports: 1) imports are ordered alphabetically 2) static imports are last DefaultJavaPrettyPrinterA visitor for generating Java code from the program compile-time model. DefaultTokenWriter EarlyTerminatingScanner<T>Extends
CtScanner, to support early termination of scanning process and scan listeners.
ElementPrinterHelper ForceFullyQualifiedProcessorForces fully qualified identifiers by making many elements explicit (by calling setImplicit(false)). ForceImportProcessorMarks all types references as implicit so all types will get imported. ImportCleanerUpdates list of import statements of compilation unit following
ImportConflictDetectorDetects conflicts needed to be required be a fully-qualified name. ImportScannerImplA scanner that calculates the imports for a given model. LexicalScopeScannerA
CtScannerwhich provides current lexical scope of currently scanned AST node.
ListPrinterHelper 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`
ModelConsistencyCheckerThis scanner checks that a program model is consistent with regards to the parent elements (children must have the right parent). PrinterHelperSupports configurable printing of text with indentations and line and column counting PrintingContext QueryThis class provides some useful methods to retrieve program elements and reference through a
CtScanner-based deep search.
Enum Summary Enum Description JavaIdentifiersThis enum defines the Java keywords and some helper method to determine if some strings are Java identifiers.
Annotation Types Summary Annotation Type Description ChildThis annotation defines a method that contains children of an element of the meta model. ParentThis annotation defines a method that returns the parent of an element of the meta model. RootThis annotation defines an element as Root of the meta model.