Package org.mozilla.javascript.ast
Class SwitchStatement
- java.lang.Object
- 
- org.mozilla.javascript.Node
- 
- org.mozilla.javascript.ast.AstNode
- 
- org.mozilla.javascript.ast.Jump
- 
- org.mozilla.javascript.ast.SwitchStatement
 
 
 
 
- 
 public class SwitchStatement extends Jump Switch statement AST node type. Node type isToken.SWITCH.SwitchStatement : switch ( Expression ) CaseBlock CaseBlock : { [CaseClauses] } { [CaseClauses] DefaultClause [CaseClauses] } CaseClauses : CaseClause CaseClauses CaseClause CaseClause : case Expression : [StatementList] DefaultClause : default : [StatementList]
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class org.mozilla.javascript.ast.AstNodeAstNode.DebugPrintVisitor, AstNode.PositionComparator
 - 
Nested classes/interfaces inherited from class org.mozilla.javascript.NodeNode.NodeIterator
 
- 
 - 
Field Summary- 
Fields inherited from class org.mozilla.javascript.ast.AstNodeinlineComment, length, parent, position
 - 
Fields inherited from class org.mozilla.javascript.NodeARROW_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, PARENTHESIZED_PROP, POST_FLAG, PROPERTY_FLAG, propListHead, REGEXP_PROP, RIGHT, SHORTHAND_PROPERTY_NAME, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SPECIALCALL_WITH, TARGETBLOCK_PROP, TEMPLATE_LITERAL_PROP, TRAILING_COMMA, type, VARIABLE_PROP
 
- 
 - 
Constructor SummaryConstructors Constructor Description SwitchStatement()SwitchStatement(int pos)SwitchStatement(int pos, int len)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCase(SwitchCase switchCase)Adds a switch case statement to the end of the list.java.util.List<SwitchCase>getCases()Returns case statement list.AstNodegetExpression()Returns the switch discriminant expressionintgetLp()Returns left paren position, -1 if missingintgetRp()Returns right paren position, -1 if missingvoidsetCases(java.util.List<SwitchCase> cases)Sets case statement list, and sets the parent of each child case to this node.voidsetExpression(AstNode expression)Sets the switch discriminant expression, and sets its parent to this node.voidsetLp(int lp)Sets left paren positionvoidsetParens(int lp, int rp)Sets both paren positionsvoidsetRp(int rp)Sets right paren positionjava.lang.StringtoSource(int depth)Emits source code for this node.voidvisit(NodeVisitor v)Visits this node, then the switch-expression, then the cases in lexical order.- 
Methods inherited from class org.mozilla.javascript.ast.JumpgetContinue, getDefault, getFinally, getJumpStatement, getLoop, setContinue, setDefault, setFinally, setJumpStatement, setLoop
 - 
Methods inherited from class org.mozilla.javascript.ast.AstNodeaddChild, 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.NodeaddChildAfter, addChildBefore, addChildrenToBack, addChildrenToFront, addChildToBack, addChildToFront, getBigInt, 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, setBigInt, setDouble, setJsDocNode, setLineno, setScope, setString, setType, toString, toStringTree
 
- 
 
- 
- 
- 
Method Detail- 
getExpressionpublic AstNode getExpression() Returns the switch discriminant expression
 - 
setExpressionpublic void setExpression(AstNode expression) Sets the switch discriminant expression, and sets its parent to this node.- Throws:
- java.lang.IllegalArgumentException- } if expression is- null
 
 - 
getCasespublic java.util.List<SwitchCase> getCases() Returns case statement list. If there are no cases, returns an immutable empty list.
 - 
setCasespublic void setCases(java.util.List<SwitchCase> cases) Sets case statement list, and sets the parent of each child case to this node.- Parameters:
- cases- list, which may be- nullto remove all the cases
 
 - 
addCasepublic void addCase(SwitchCase switchCase) Adds a switch case statement to the end of the list.- Throws:
- java.lang.IllegalArgumentException- } if switchCase is- null
 
 - 
getLppublic int getLp() Returns left paren position, -1 if missing
 - 
setLppublic void setLp(int lp) Sets left paren position
 - 
getRppublic int getRp() Returns right paren position, -1 if missing
 - 
setRppublic void setRp(int rp) Sets right paren position
 - 
setParenspublic void setParens(int lp, int rp)Sets both paren positions
 - 
toSourcepublic java.lang.String toSource(int depth) Description copied from class:AstNodeEmits 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 nullchildren that are expected to be non-nullwhen no errors are present. In this situation, the behavior of thetoSourcemethod is undefined:toSourceimplementations may assume that the AST node is error-free, since it is intended to be invoked only at runtime after a successful parse.
 - 
visitpublic void visit(NodeVisitor v) Visits this node, then the switch-expression, then the cases in lexical order.
 
- 
 
-