Package org.mozilla.javascript.ast
Class BreakStatement
java.lang.Object
org.mozilla.javascript.Node
org.mozilla.javascript.ast.AstNode
org.mozilla.javascript.ast.Jump
org.mozilla.javascript.ast.BreakStatement
- All Implemented Interfaces:
Comparable<AstNode>
,Iterable<Node>
A break statement. Node type is
Token.BREAK
.
BreakStatement : break [no LineTerminator here] [Identifier] ;
-
Nested Class Summary
Nested classes/interfaces inherited from class org.mozilla.javascript.ast.AstNode
AstNode.DebugPrintVisitor, AstNode.PositionComparator
Nested classes/interfaces inherited from class org.mozilla.javascript.Node
Node.NodeIterator
-
Field Summary
Fields inherited from class org.mozilla.javascript.ast.AstNode
inlineComment, length, parent, position
Fields inherited from class org.mozilla.javascript.Node
ARROW_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, OBJECT_LITERAL_DESTRUCTURING, OPTIONAL_CHAINING, PARENTHESIZED_PROP, POST_FLAG, PROPERTY_FLAG, propListHead, REGEXP_PROP, RIGHT, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SPECIALCALL_WITH, TARGETBLOCK_PROP, TEMPLATE_LITERAL_PROP, TRAILING_COMMA, type, VARIABLE_PROP
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns the intended label of this break statementReturns the statement to break tovoid
setBreakLabel
(Name label) Sets the intended label of this break statement, e.g.void
setBreakTarget
(Jump target) Sets the statement to break to.toSource
(int depth) Emits source code for this node.void
visit
(NodeVisitor v) Visits this node, then visits the break label if non-null
.Methods inherited from class org.mozilla.javascript.ast.Jump
getContinue, getDefault, getFinally, getJumpStatement, getLoop, setContinue, setDefault, setFinally, setJumpStatement, setLoop
Methods inherited from class org.mozilla.javascript.ast.AstNode
addChild, assertNotNull, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getInlineComment, getLength, getLineno, getParent, getPosition, hasSideEffects, makeIndent, operatorToString, printList, setBounds, setInlineComment, setLength, setParent, setPosition, setRelative, shortName, toSource
Methods inherited from class org.mozilla.javascript.Node
addChildAfter, addChildBefore, addChildrenToBack, addChildrenToFront, addChildToBack, addChildToFront, getBigInt, getChildBefore, getColumn, 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, setLineColumnNumber, setScope, setString, setType, toString, toStringTree
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
BreakStatement
public BreakStatement() -
BreakStatement
public BreakStatement(int pos) -
BreakStatement
public BreakStatement(int pos, int len)
-
-
Method Details
-
getBreakLabel
Returns the intended label of this break statement- Returns:
- the break label.
null
if the source code did not specify a specific break label via "break <target>".
-
setBreakLabel
Sets the intended label of this break statement, e.g. 'foo' in "break foo". Also sets the parent of the label to this node.- Parameters:
label
- the break label, ornull
if the statement is just the "break" keyword by itself.
-
getBreakTarget
Returns the statement to break to- Returns:
- the break target. Only
null
if the source code has an error in it.
-
setBreakTarget
Sets the statement to break to.- Parameters:
target
- the statement to break to- Throws:
IllegalArgumentException
- if target isnull
-
toSource
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 thetoSource
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. -
visit
Visits this node, then visits the break label if non-null
.
-