Class EnumSwitch
A C/C++ ‘switch’ statement where the controlling expression has an enum type.
For example, given
enum color { RED, GREEN, BLUE };
enum color c;
the switch
statement in:
switch (c) {
case RED:
return 1;
default:
return 2;
}
Import path
import cpp
Direct supertypes
Indirect supertypes
Predicates
getAMissingCase | Gets a constant from the enum type that does not have a case in this ‘switch’ statement. |
Inherited predicates
findRootCause | Gets the source of this element: either itself or a macro that expanded to this element. | from Element |
fromLibrary | Holds if this element may be from a library. | from Element |
fromSource | Holds if this element may be from source. | from Element |
getAChild | Gets a child of this statement. | from Stmt |
getADeclaration | Gets a child declaration of this scope. | from ControlStructure |
getAFalseSuccessor | Gets a node such that the control-flow edge | from ControlFlowNode |
getAPredecessor | Gets a direct predecessor of this control-flow node, if any. | from ControlFlowNode |
getAPrimaryQlClass | Gets the name of a primary CodeQL class to which this element belongs. | from SwitchStmt |
getASuccessor | Gets a direct successor of this control-flow node, if any. | from ControlFlowNode |
getASwitchCase | Gets a ‘switch case’ statement of this ‘switch’ statement. | from SwitchStmt |
getATrueSuccessor | Gets a node such that the control-flow edge | from ControlFlowNode |
getAnAttribute | Gets an attribute of this statement, for example | from Stmt |
getBasicBlock | Gets the | from ControlFlowNode |
getCanonicalQLClass | DEPRECATED: use | from ElementBase |
getChild | Gets the | from Stmt |
getChildStmt | Gets a child statement of this statement. | from Stmt |
getControlFlowScope | Gets the function containing this control-flow node. | from Stmt |
getControllingExpr | Gets the controlling expression of this control structure. | from SwitchStmt |
getDefaultCase | Gets the ‘default case’ statement of this ‘switch’ statement, if any. | from SwitchStmt |
getEnclosingBlock | Gets the nearest enclosing block of this statement in the source, if any. | from Stmt |
getEnclosingElement | Gets the closest | from Element |
getEnclosingFunction | Gets the enclosing function of this statement, if any. | from Stmt |
getEnclosingStmt | Gets the smallest statement containing this control-flow node. | from Stmt |
getExpr | Gets the expression that this ‘switch’ statement switches on. | from SwitchStmt |
getFile | Gets the primary file where this element occurs. | from Element |
getFollowingStmt | Gets the statement following this statement in the same block, if any. | from Stmt |
getGeneratingMacro | Gets a macro invocation that generates this entire statement. | from SwitchStmt |
getKind | Gets an int indicating the type of statement that this represents. | from Stmt |
getLocation | Gets the primary location of this element. | from Stmt |
getParent | Gets the parent of this statement, if any. | from Stmt |
getParentScope | Gets the parent scope of this | from Element |
getParentStmt | Gets the parent statement of this statement, if any. | from Stmt |
getStmt | Gets the body statement of this ‘switch’ statement. | from SwitchStmt |
hasChild | Holds if | from Stmt |
hasDefaultCase | Holds if this ‘switch’ statement has a ‘default case’ statement. | from SwitchStmt |
isAffectedByMacro | Holds if this element is affected in any way by a macro. All elements that are totally or partially generated by a macro are included, so this is a super-set of | from Element |
isCompilerGenerated | Holds if this statement was generated by the compiler. | from Stmt |
isCondition | Holds if this node is the top-level expression of a conditional statement, meaning that | from ControlFlowNode |
isFromTemplateInstantiation | Holds if this | from Element |
isFromUninstantiatedTemplate | Holds if this | from Element |
isInMacroExpansion | Holds if this element comes from a macro expansion. Only elements that are entirely generated by a macro are included - for elements that partially come from a macro, see | from Element |
isPure | Holds if this statement is side-effect free (a conservative approximation; that is, it may be side-effect free even if this predicate doesn’t hold). | from Stmt |
mayBeGloballyImpure | Holds if it is possible that this statement is globally impure. | from SwitchStmt |
mayBeImpure | Holds if it is possible that this statement is impure. If we are not sure, then it holds. | from SwitchStmt |
toString | Gets a textual representation of this element. | from SwitchStmt |