org.mozilla.javascript.ast
Class Jump
java.lang.Object
org.mozilla.javascript.Node
org.mozilla.javascript.ast.AstNode
org.mozilla.javascript.ast.Jump
- All Implemented Interfaces:
- java.lang.Comparable<AstNode>, java.lang.Iterable<Node>
- Direct Known Subclasses:
- BreakStatement, ContinueStatement, Label, Scope, SwitchStatement
public class Jump
- extends AstNode
Used for code generation. During codegen, the AST is transformed
into an Intermediate Representation (IR) in which loops, ifs, switches
and other control-flow statements are rewritten as labeled jumps.
If the parser is set to IDE-mode, the resulting AST will not contain
any instances of this class.
Fields inherited from class org.mozilla.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 |
Methods inherited from class org.mozilla.javascript.ast.AstNode |
addChild, assertNotNull, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getLength, getLineno, getParent, getPosition, hasSideEffects, makeIndent, operatorToString, printList, setBounds, setLength, setParent, setPosition, setRelative, shortName, toSource |
Methods inherited from class org.mozilla.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 |
target
public Node target
Jump
public Jump()
Jump
public Jump(int nodeType)
Jump
public Jump(int type,
int lineno)
Jump
public Jump(int type,
Node child)
Jump
public Jump(int type,
Node child,
int lineno)
getJumpStatement
public Jump getJumpStatement()
setJumpStatement
public void setJumpStatement(Jump jumpStatement)
getDefault
public Node getDefault()
setDefault
public void setDefault(Node defaultTarget)
getFinally
public Node getFinally()
setFinally
public void setFinally(Node finallyTarget)
getLoop
public Jump getLoop()
setLoop
public void setLoop(Jump loop)
getContinue
public Node getContinue()
setContinue
public void setContinue(Node continueTarget)
visit
public void visit(NodeVisitor visitor)
- Jumps are only used directly during code generation, and do
not support this interface.
- Specified by:
visit
in class AstNode
- Parameters:
visitor
- the object to call with this node and its children
- Throws:
java.lang.UnsupportedOperationException
toSource
public java.lang.String toSource(int depth)
- Description copied from class:
AstNode
- Emits source code for this node. Callee is responsible for calling this
function recursively on children, incrementing indent as appropriate.
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.
- Specified by:
toSource
in class AstNode
- Parameters:
depth
- the current recursion depth, typically beginning at 0
when called on the root node.