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.GuardsDirect supertypes
Indirect supertypes
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 |