CodeQL library for C/C++

Member predicate Expr::hasLValueToRValueConversion

Holds if this expression has undergone an lvalue-to-rvalue conversion to extract its value. for example:

 y = x;

The VariableAccess for x is a prvalue, and hasLValueToRValueConversion() holds because the value of x was loaded from the location of x. The VariableAccess for y is an lvalue, and hasLValueToRValueConversion() does not hold because the value of y was not extracted.

See [conv.lval] for more about the lvalue-to-rvalue conversion

predicate hasLValueToRValueConversion()