Class SwitchStmt
A switch statement, that is, either an expression switch or a type switch.
Examples:
switch x := f(); x {
case 0, 1:
a = 1
fallthrough
default:
b = 2
}
switch i := x.(type) {
default:
printString("don't know the type")
case nil:
printString("x is nil")
case int:
printInt(i)
case func(int) float64:
printFunction(i)
}
Import path
import semmle.go.StmtDirect supertypes
Indirect supertypes
Known direct subtypes
Predicates
| getACase | Gets a case clause of this |
| getANonDefaultCase | Gets a non-default case clause of this |
| getBody | Gets the body of this |
| getCase | Gets the |
| getDefault | Gets the default case clause of this |
| getInit | Gets the init statement of this |
| getNonDefaultCase | Gets the |
| getNumCase | Gets the number of case clauses in this |
| getNumNonDefaultCase | Gets the number of non-default case clauses in this |
Inherited predicates
| getAChild | Gets a child node of this node. | from AstNode |
| getAChildExpr | Gets an expression that is a child node of this node in the AST. | from ExprParent |
| getAChildStmt | Gets a statement that is a child node of this node in the AST. | from StmtParent |
| getAPrimaryQlClass | Gets the name of a primary CodeQL class to which this node belongs. | from AstNode |
| getChild | Gets the | from AstNode |
| getChildExpr | Gets the | from ExprParent |
| getChildStmt | Gets the | from StmtParent |
| getEnclosingFunction | Gets the innermost function definition to which this AST node belongs, if any. | from AstNode |
| getFile | Gets the file this program element comes from. | from Locatable |
| getFirstControlFlowNode | Gets the first control-flow node in this statement. | from Stmt |
| getKind | Gets the kind of this statement, which is an integer value representing the statement’s node type. | from Stmt |
| getLocation | Gets this element’s location. | from Locatable |
| getNumChild | Gets the number of child nodes of this node. | from AstNode |
| getNumChildExpr | Gets the number of child expressions of this node. | from ExprParent |
| getNumChildStmt | Gets the number of child statements of this node. | from StmtParent |
| getNumLines | Gets the number of lines covered by this element. | from Locatable |
| getParent | Gets the parent node of this AST node, if any. | from AstNode |
| getPrimaryQlClasses | Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs. | from AstNode |
| getScope | Gets the scope induced by this node, if any. | from ScopeNode |
| getUniquelyNumberedChild | Get an AstNode child, ordered by child kind and then by index. | from AstNode |
| hasLocationInfo | Holds if this element is at the specified location. The location spans column | from Locatable |
| mayHaveSideEffects | Holds if the execution of this statement may produce observable side effects. | from Stmt |
| toString | Gets a textual representation of this element. | from AstNode |