|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.sourceforge.htmlunit.corejs.javascript.Node
net.sourceforge.htmlunit.corejs.javascript.ast.AstNode
net.sourceforge.htmlunit.corejs.javascript.ast.Jump
net.sourceforge.htmlunit.corejs.javascript.ast.Scope
net.sourceforge.htmlunit.corejs.javascript.ast.ScriptNode
net.sourceforge.htmlunit.corejs.javascript.ast.AstRoot
public class AstRoot
Node for the root of a parse tree. It contains the statements and functions
in the script, and a list of 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.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.AstNode |
|---|
AstNode.DebugPrintVisitor, AstNode.PositionComparator |
| Nested classes/interfaces inherited from class net.sourceforge.htmlunit.corejs.javascript.Node |
|---|
Node.NodeIterator |
| Field Summary |
|---|
| Fields inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.Scope |
|---|
parentScope, symbolTable, top |
| Fields inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.Jump |
|---|
target |
| Fields inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.AstNode |
|---|
length, parent, position |
| Fields inherited from class net.sourceforge.htmlunit.corejs.javascript.Node |
|---|
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 |
| Constructor Summary | |
|---|---|
AstRoot()
|
|
AstRoot(int pos)
|
|
| Method Summary | |
|---|---|
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. |
| Methods inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.ScriptNode |
|---|
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 |
| Methods inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.Scope |
|---|
addChildScope, clearParentScope, getChildScopes, getDefiningScope, getParentScope, getStatements, getSymbol, getSymbolTable, getTop, joinScopes, putSymbol, replaceWith, setParentScope, setSymbolTable, setTop, splitScope |
| Methods inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.Jump |
|---|
getContinue, getDefault, getFinally, getJumpStatement, getLoop, setContinue, setDefault, setFinally, setJumpStatement, setLoop |
| Methods inherited from class net.sourceforge.htmlunit.corejs.javascript.ast.AstNode |
|---|
addChild, assertNotNull, codeBug, compareTo, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getLength, getLineno, getParent, getPosition, hasSideEffects, makeIndent, operatorToString, printList, setBounds, setLength, setParent, setPosition, setRelative, shortName, toSource |
| Methods inherited from class net.sourceforge.htmlunit.corejs.javascript.Node |
|---|
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 |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public AstRoot()
public AstRoot(int pos)
| Method Detail |
|---|
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 nullpublic void setInStrictMode(boolean inStrictMode)
public boolean isInStrictMode()
public 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)
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.
toSource in class Scopedepth - the current recursion depth, typically beginning at 0
when called on the root node.public java.lang.String debugPrint()
debugPrint in class AstNodepublic void checkParentLinks()
java.lang.IllegalStateException - if a parent link is missing
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||