Class Guard
A condition that can be evaluated to either true or false. This can either
be an Expr
of boolean type that isn’t a boolean literal, or a case of a
switch statement, or a method access that acts as a precondition check.
Evaluating a switch case to true corresponds to taking that switch case, and evaluating it to false corresponds to taking some other branch.
Import path
import semmle.code.java.controlflow.Guards
Direct supertypes
Indirect supertypes
Known direct subtypes
Predicates
appliesTypeTest | Holds if this guard tests whether |
controls | Holds if this guard evaluating to |
directlyControls | Holds if this guard evaluating to |
getBasicBlock | Gets the basic block containing this guard or the basic block that tests the applicability of this switch case – for a pattern case this is the case statement itself; for a non-pattern case this is the most recent pattern case or the top of the switch block if there is none. |
getEnclosingCallable | Gets the immediately enclosing callable whose body contains this guard. |
getEnclosingStmt | Gets the statement containing this guard. |
hasBranchEdge | Holds if the evaluation of this guard to |
isEquality | Holds if this guard is an equality test between |
Inherited predicates
getAPrimaryQlClass | Gets the name of a primary CodeQL class to which this element belongs. | from Top |
getFile | Gets the file associated with this element. | from Top |
getLocation | Gets the source location for this element. | from Top |
getNumberOfCommentLines | Gets the number of comment lines that this element ranges over. | from Top |
getNumberOfLinesOfCode | Gets the number of lines of code that this element ranges over. | from Top |
getPrimaryQlClasses | Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs. | from Top |
getTotalNumberOfLines | Gets the total number of lines that this element ranges over, including lines of code, comment and whitespace-only lines. | from Top |
hasLocationInfo | Holds if this element is at the specified location. The location spans column | from Top |
toString | Gets a textual representation of this element. | from Top |