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)