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.PositionComparatorNode.NodeIteratorparentScope, symbolTable, topinlineComment, length, parent, positionARROW_FUNCTION_PROP, ATTRIBUTE_FLAG, BOTH, CASEARRAY_PROP, CATCH_SCOPE_PROP, CONTROL_BLOCK_PROP, DECR_FLAG, DESCENDANTS_FLAG, DESTRUCTURING_ARRAY_LENGTH, DESTRUCTURING_NAMES, DESTRUCTURING_PARAMS, 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, SHORTHAND_PROPERTY_NAME, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SPECIALCALL_WITH, TARGETBLOCK_PROP, TEMPLATE_LITERAL_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
|
void |
setComments(java.util.SortedSet<Comment> comments)
Sets comment list, and updates the parent of each entry to point to this node.
|
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, addTemplateLiteral, flattenSymbolTable, getBaseLineno, getCompilerData, getEncodedSource, getEncodedSourceEnd, getEncodedSourceStart, getEndLineno, getFunctionCount, getFunctionNode, getFunctions, getIndexForNameNode, getNextTempName, getParamAndVarConst, getParamAndVarCount, getParamAndVarNames, getParamCount, getParamOrVarName, getRegexpCount, getRegexpFlags, getRegexpString, getSourceName, getSymbols, getTemplateLiteralCount, getTemplateLiteralStrings, isInStrictMode, setBaseLineno, setCompilerData, setEncodedSource, setEncodedSourceBounds, setEncodedSourceEnd, setEncodedSourceStart, setEndLineno, setInStrictMode, setSourceName, setSymbols, visitaddChildScope, clearParentScope, getChildScopes, getDefiningScope, getParentScope, getStatements, getSymbol, getSymbolTable, getTop, joinScopes, putSymbol, replaceWith, setParentScope, setSymbolTable, setTop, splitScopegetContinue, getDefault, getFinally, getJumpStatement, getLoop, setContinue, setDefault, setFinally, setJumpStatement, setLoopaddChild, assertNotNull, codeBug, compareTo, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getInlineComment, getLength, getLineno, getParent, getPosition, hasSideEffects, makeIndent, operatorToString, printList, setBounds, setInlineComment, setLength, setParent, setPosition, setRelative, shortName, toSourceaddChildAfter, addChildBefore, addChildrenToBack, addChildrenToFront, addChildToBack, addChildToFront, getBigInt, 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, setBigInt, setDouble, setJsDocNode, setLineno, setScope, setString, setType, toString, toStringTreepublic 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 nullpublic void visitComments(NodeVisitor visitor)
ScriptNode.visit(net.sourceforge.htmlunit.corejs.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(net.sourceforge.htmlunit.corejs.javascript.ast.NodeVisitor), then visitComments(net.sourceforge.htmlunit.corejs.javascript.ast.NodeVisitor). The return value is ignored while visiting comment
nodes.visitor - the callback object.public java.lang.String toSource(int depth)
AstNodeNote: 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 AstNodepublic void checkParentLinks()
java.lang.IllegalStateException - if a parent link is missing