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

Predicate EscapesTree_Cached::variableAccessedAsValue

Holds if e is a fully-converted expression that evaluates to an lvalue derived from va and is used for reading from or assigning to. This is in contrast with a variable access that is used for taking an address (&x) or simply discarding its value (x;).

This analysis does not propagate across assignments or calls. The analysis is also not concerned with whether the lvalue e is converted to an rvalue – to examine that, use the relevant member predicates on Expr.

If va has reference type, the analysis concerns the value pointed to by the reference rather than the reference itself. The expression e may be a Conversion.

Import path

import semmle.code.cpp.dataflow.EscapesTree
predicate variableAccessedAsValue(VariableAccess va, Expr e)