public class AstRoot extends ScriptNode
Comment
nodes associated with the script
as a whole. Node type is Token.SCRIPT
.
Note that the tree itself does not store errors. To collect the parse errors
and warnings, pass an ErrorReporter
to the
Parser
via the
CompilerEnvirons
.
AstNode.DebugPrintVisitor, AstNode.PositionComparator
Node.NodeIterator
parentScope, symbolTable, top
ATTRIBUTE_FLAG, BOTH, CASEARRAY_PROP, CATCH_SCOPE_PROP, CONTROL_BLOCK_PROP, DECR_FLAG, DESCENDANTS_FLAG, DESTRUCTURING_ARRAY_LENGTH, DESTRUCTURING_NAMES, DESTRUCTURING_PARAMS, DESTRUCTURING_SHORTHAND, DIRECTCALL_PROP, END_DROPS_OFF, END_RETURNS, END_RETURNS_VALUE, END_UNREACHED, END_YIELDS, EXPRESSION_CLOSURE_PROP, first, FUNCTION_PROP, GENERATOR_END_PROP, INCRDECR_PROP, ISNUMBER_PROP, JSDOC_PROP, LABEL_ID_PROP, last, LAST_PROP, LEFT, lineno, LOCAL_BLOCK_PROP, LOCAL_PROP, MEMBER_TYPE_PROP, NAME_PROP, next, NON_SPECIALCALL, OBJECT_IDS_PROP, PARENTHESIZED_PROP, POST_FLAG, PROPERTY_FLAG, propListHead, REGEXP_PROP, RIGHT, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SPECIALCALL_WITH, TARGETBLOCK_PROP, type, VARIABLE_PROP
Modifier and Type | Method and Description |
---|---|
void |
addComment(Comment comment)
Add a comment to the comment set.
|
void |
checkParentLinks()
Debugging function to check that the parser has set the parent
link for every node in the tree.
|
java.lang.String |
debugPrint()
A debug-printer that includes comments (at the end).
|
java.util.SortedSet<Comment> |
getComments()
Returns comment set
|
boolean |
isInStrictMode() |
void |
setComments(java.util.SortedSet<Comment> comments)
Sets comment list, and updates the parent of each entry to point
to this node.
|
void |
setInStrictMode(boolean inStrictMode) |
java.lang.String |
toSource(int depth)
Emits source code for this node.
|
void |
visitAll(NodeVisitor visitor)
Visits the AST nodes, then the comment nodes.
|
void |
visitComments(NodeVisitor visitor)
Visits the comment nodes in the order they appear in the source code.
|
addFunction, addRegExp, flattenSymbolTable, getBaseLineno, getCompilerData, getEncodedSource, getEncodedSourceEnd, getEncodedSourceStart, getEndLineno, getFunctionCount, getFunctionNode, getFunctions, getIndexForNameNode, getNextTempName, getParamAndVarConst, getParamAndVarCount, getParamAndVarNames, getParamCount, getParamOrVarName, getRegexpCount, getRegexpFlags, getRegexpString, getSourceName, getSymbols, setBaseLineno, setCompilerData, setEncodedSource, setEncodedSourceBounds, setEncodedSourceEnd, setEncodedSourceStart, setEndLineno, setSourceName, setSymbols, visit
addChildScope, clearParentScope, getChildScopes, getDefiningScope, getParentScope, getStatements, getSymbol, getSymbolTable, getTop, joinScopes, putSymbol, replaceWith, setParentScope, setSymbolTable, setTop, splitScope
getContinue, getDefault, getFinally, getJumpStatement, getLoop, setContinue, setDefault, setFinally, setJumpStatement, setLoop
addChild, assertNotNull, codeBug, compareTo, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getLength, getLineno, getParent, getPosition, hasSideEffects, makeIndent, operatorToString, printList, setBounds, setLength, setParent, setPosition, setRelative, shortName, toSource
addChildAfter, addChildBefore, addChildrenToBack, addChildrenToFront, addChildToBack, addChildToFront, getChildBefore, getDouble, getExistingIntProp, getFirstChild, getIntProp, getJsDoc, getJsDocNode, getLastChild, getLastSibling, getNext, getProp, getScope, getString, getType, hasChildren, hasConsistentReturnUsage, iterator, labelId, labelId, newNumber, newString, newString, newTarget, putIntProp, putProp, removeChild, removeChildren, removeProp, replaceChild, replaceChildAfter, resetTargets, setDouble, setJsDocNode, setLineno, setScope, setString, setType, toString, toStringTree
public java.util.SortedSet<Comment> getComments()
null
.public void setComments(java.util.SortedSet<Comment> comments)
comments
- comment list. can be null
.public void addComment(Comment comment)
comment
- the comment node.java.lang.IllegalArgumentException
- if comment is null
public void setInStrictMode(boolean inStrictMode)
public boolean isInStrictMode()
public void visitComments(NodeVisitor visitor)
ScriptNode.visit(org.mozilla.javascript.ast.NodeVisitor)
function - you must
use this function to visit them.visitor
- the callback object. It is passed each comment node.
The return value is ignored.public void visitAll(NodeVisitor visitor)
ScriptNode.visit(org.mozilla.javascript.ast.NodeVisitor)
, then
visitComments(org.mozilla.javascript.ast.NodeVisitor)
. The return value
is ignored while visiting comment nodes.visitor
- the callback object.public java.lang.String toSource(int depth)
AstNode
Note: if the parser was in error-recovery mode, some AST nodes may have
null
children that are expected to be non-null
when no errors are present. In this situation, the behavior of the
toSource
method is undefined: toSource
implementations may assume that the AST node is error-free, since it is
intended to be invoked only at runtime after a successful parse.
public java.lang.String debugPrint()
debugPrint
in class AstNode
public void checkParentLinks()
java.lang.IllegalStateException
- if a parent link is missing