java.lang.Object
org.htmlunit.corejs.javascript.Node
org.htmlunit.corejs.javascript.ast.AstNode
org.htmlunit.corejs.javascript.ast.Jump
org.htmlunit.corejs.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.htmlunit.corejs.javascript.ast.AstNode
AstNode.DebugPrintVisitor, AstNode.PositionComparatorNested classes/interfaces inherited from class org.htmlunit.corejs.javascript.Node
Node.NodeIterator -
Field Summary
Fields inherited from class org.htmlunit.corejs.javascript.ast.AstNode
inlineComment, length, parent, positionFields inherited from class org.htmlunit.corejs.javascript.Node
ARROW_FUNCTION_PROP, ATTRIBUTE_FLAG, BOTH, CASEARRAY_PROP, CATCH_SCOPE_PROP, CONST_IDS_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, FIRST_PROP, FUNCTION_PROP, GENERATOR_END_PROP, INCRDECR_PROP, IS_CONST_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, NUMBER_OF_SPREAD, OBJECT_IDS_PROP, OBJECT_LITERAL_DESTRUCTURING, OBJECT_REST_PROP, OPTIONAL_CHAINING, PARENTHESIZED_PROP, POST_FLAG, PROPERTY_FLAG, propListHead, REGEXP_PROP, RIGHT, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SUPER_PROPERTY_ACCESS, TARGETBLOCK_PROP, TEMPLATE_LITERAL_PROP, TRAILING_COMMA, type, VARIABLE_PROP -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the intended label of this break statementReturns the statement to break tovoidsetBreakLabel(Name label) Sets the intended label of this break statement, e.g.voidsetBreakTarget(Jump target) Sets the statement to break to.toSource(int depth) Jumps are only used directly during code generation, and do not support this interface.voidvisit(NodeVisitor v) Visits this node, then visits the break label if non-null.Methods inherited from class org.htmlunit.corejs.javascript.ast.Jump
getContinue, getDefault, getFinally, getJumpStatement, getLoop, setContinue, setDefault, setFinally, setJumpStatement, setLoopMethods inherited from class org.htmlunit.corejs.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, toSourceMethods inherited from class org.htmlunit.corejs.javascript.Node
addChildAfter, addChildBefore, addChildrenToBack, addChildrenToFront, addChildToBack, addChildToFront, clearAllLabelIds, clearLabelId, 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, toStringTreeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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.
nullif 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, ornullif the statement is just the "break" keyword by itself.
-
getBreakTarget
Returns the statement to break to- Returns:
- the break target. Only
nullif 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:JumpJumps are only used directly during code generation, and do not support this interface. -
visit
Visits this node, then visits the break label if non-null.
-