Module Assignment

Import path

semmle.code.cpp.exprs.Assignment

Imports

Classes

AssignAddExpr

A non-overloaded += assignment expression on a non-pointer lvalue.

AssignAndExpr

A non-overloaded &= assignment expression.

AssignArithmeticOperation

A non-overloaded arithmetic assignment operation on a non-pointer lvalue: +=, -=, *=, /= and %=.

AssignBitwiseOperation

A non-overloaded bitwise assignment operation. &=, |=, ^=, <<= and >>=

AssignDivExpr

A non-overloaded /= assignment expression.

AssignExpr

A non-overloaded assignment operation with the operator =.

AssignLShiftExpr

A non-overloaded <<= assignment expression.

AssignMulExpr

A non-overloaded *= assignment expression.

AssignOperation

A non-overloaded binary assignment operation other than =.

AssignOrExpr

A non-overloaded |= assignment expression.

AssignPointerAddExpr

A non-overloaded += pointer assignment expression.

AssignPointerSubExpr

A non-overloaded -= pointer assignment expression.

AssignRShiftExpr

A non-overloaded >>= assignment expression.

AssignRemExpr

A non-overloaded %= assignment expression.

AssignSubExpr

A non-overloaded -= assignment expression on a non-pointer lvalue.

AssignXorExpr

A non-overloaded ^= assignment expression.

Assignment

A non-overloaded binary assignment operation, including =, +=, &=, etc. A C++ overloaded operation looks syntactically identical but is instead a FunctionCall.

ConditionDeclExpr

A C++ variable declaration in an expression where a condition is expected. For example, on the ConditionDeclExpr in if (bool c = x < y), getExpr() is an access to c (with possible casts), and getVariable is the variable c, which has an initializer x < y.