public class SwitchStatement extends Jump
Token.SWITCH.
SwitchStatement :
switch ( Expression ) CaseBlock
CaseBlock :
{ [CaseClauses] }
{ [CaseClauses] DefaultClause [CaseClauses] }
CaseClauses :
CaseClause
CaseClauses CaseClause
CaseClause :
case Expression : [StatementList]
DefaultClause :
default : [StatementList]AstNode.DebugPrintVisitor, AstNode.PositionComparatorNode.NodeIteratorinlineComment, 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, FIRST_PROP, 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, NUMBER_OF_SPREAD, 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, SUPER_PROPERTY_ACCESS, TARGETBLOCK_PROP, TEMPLATE_LITERAL_PROP, TRAILING_COMMA, type, VARIABLE_PROP| Constructor and Description |
|---|
SwitchStatement() |
SwitchStatement(int pos) |
SwitchStatement(int pos,
int len) |
| Modifier and Type | Method and Description |
|---|---|
void |
addCase(SwitchCase switchCase)
Adds a switch case statement to the end of the list.
|
List<SwitchCase> |
getCases()
Returns case statement list.
|
AstNode |
getExpression()
Returns the switch discriminant expression
|
int |
getLp()
Returns left paren position, -1 if missing
|
int |
getRp()
Returns right paren position, -1 if missing
|
void |
setCases(List<SwitchCase> cases)
Sets case statement list, and sets the parent of each child case to this node.
|
void |
setExpression(AstNode expression)
Sets the switch discriminant expression, and sets its parent to this node.
|
void |
setLp(int lp)
Sets left paren position
|
void |
setParens(int lp,
int rp)
Sets both paren positions
|
void |
setRp(int rp)
Sets right paren position
|
String |
toSource(int depth)
Jumps are only used directly during code generation, and do not support this interface.
|
void |
visit(NodeVisitor v)
Visits this node, then the switch-expression, then the cases in lexical order.
|
getContinue, getDefault, getFinally, getJumpStatement, getLoop, setContinue, setDefault, setFinally, setJumpStatement, setLoopaddChild, 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, toSourceaddChildAfter, 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, toStringTreeclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforEach, spliteratorpublic SwitchStatement()
public SwitchStatement(int pos)
public SwitchStatement(int pos,
int len)
public AstNode getExpression()
public void setExpression(AstNode expression)
IllegalArgumentException} - if expression is nullpublic List<SwitchCase> getCases()
public void setCases(List<SwitchCase> cases)
cases - list, which may be null to remove all the casespublic void addCase(SwitchCase switchCase)
IllegalArgumentException} - if switchCase is nullpublic int getLp()
public void setLp(int lp)
public int getRp()
public void setRp(int rp)
public void setParens(int lp,
int rp)
public String toSource(int depth)
Jumppublic void visit(NodeVisitor v)
Copyright © 2025 HtmlUnit. All rights reserved.