Class TypeSwitchStmt
A type-switch statement.
Examples:
switch i := x.(type) {
default:
printString("don't know the type") // type of i is type of x (interface{})
case nil:
printString("x is nil") // type of i is type of x (interface{})
case int:
printInt(i) // type of i is int
case func(int) float64:
printFunction(i) // type of i is func(int) float64
}
Import path
import semmle.go.Stmt
Direct supertypes
Indirect supertypes
Predicates
getAPrimaryQlClass | Gets the name of a primary CodeQL class to which this node belongs. |
getAssign | Gets the assign statement of this type-switch statement. |
getExpr | Gets the expression whose type is examined by this |
getTest | Gets the test statement of this type-switch statement. This is a |
mayHaveSideEffects | Holds if the execution of this statement may produce observable side effects. |
toString | Gets a textual representation of this element. |
Inherited predicates
getACase | Gets a case clause of this | from SwitchStmt |
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 |
getANonDefaultCase | Gets a non-default case clause of this | from SwitchStmt |
getBody | Gets the body of this | from SwitchStmt |
getCase | Gets the | from SwitchStmt |
getChild | Gets the | from AstNode |
getChildExpr | Gets the | from ExprParent |
getChildStmt | Gets the | from StmtParent |
getDefault | Gets the default case clause of this | from SwitchStmt |
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 |
getInit | Gets the init statement of this | from SwitchStmt |
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 |
getNonDefaultCase | Gets the | from SwitchStmt |
getNumCase | Gets the number of case clauses in this | from SwitchStmt |
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 |
getNumNonDefaultCase | Gets the number of non-default case clauses in this | from SwitchStmt |
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 |