CodeQL library for C/C++
codeql/cpp-all 6.1.1 (changelog, source)
Search

Module GuardsInput

INTERNAL: Do not use.

Import path

import semmle.code.cpp.controlflow.IRGuards

Predicates

equalityTest

Holds if eqtest tests the equality (or inequality) of left and right.

parameterMatch

Holds if arguments at position apos match parameters at position ppos.

Classes

AndExpr

A bitwise “AND” expression.

ArgumentPosition

An argument position represented by an integer.

Case

A case in a switch instruction.

ConditionalExpr

A conditional expression (i.e., b ? e1 : e2). This expression is desugared as part of IR generation.

ConstantExpr

A constant expression.

Expr

The Guards library uses Instructions as expressions.

IdExpr

A value preserving expression.

NonNullExpr

An expression that is guaranteed to not be null.

NonOverridableMethod

A non-overridable function.

NonOverridableMethodCall

A call to a NonOverridableMethod.

NotExpr

A (bitwise or logical) “NOT” expression.

OrExpr

A bitwise “OR” expression.

ParameterPosition

A parameter position represented by an integer.

Aliases

AstNode

A single instruction in the IR.

ConstantValue

The constant values that can be inferred.

NormalExitNode

An instruction representing the exit point of a function.

Parameter

A C/C++ function parameter, catch block parameter, or requires expression parameter. For example the function parameter p and the catch block parameter e in the following code: void myFunction(int p) { try { ... } catch (const std::exception &e) { ... } }