Module Expr
Provides classes modeling C/C++ expressions.
Import path
import semmle.code.cpp.exprs.Expr
Imports
Element |
Provides the |
Classes
AddressOfExpr |
A C/C++ address-of expression. |
AssumeExpr |
A Microsoft C/C++ __assume expression. |
BinaryOperation |
A C/C++ binary operation. |
BlockExpr |
A code block expression, for example: |
CoAwaitExpr |
A C/C++ |
CoYieldExpr |
A C/C++ |
CommaExpr |
A C/C++ comma expression. |
DeleteArrayExpr |
A C++ |
DeleteExpr |
A C++ |
DeleteOrDeleteArrayExpr |
A C++ |
ErrorExpr |
A C/C++ expression that could not be resolved, or that can no longer be represented due to a database upgrade or downgrade. |
Expr |
A C/C++ expression. |
FoldExpr |
A C++17 fold expression. This will only appear in an uninstantiated template; any instantiations of the template will instead contain the sequence of expressions given by expanding the fold. |
NewArrayExpr |
A C++ |
NewExpr |
A C++ |
NewOrNewArrayExpr |
A C++ |
NoExceptExpr |
A C++11 |
Operation |
A C/C++ operation. |
ParenthesisExpr |
A C/C++ parenthesis expression. |
ParenthesizedBracedInitializerList |
A C++11 parenthesized braced initializer list within a template. |
PointerDereferenceExpr |
An instance of the built-in unary |
ReThrowExpr |
A C++ |
ReferenceDereferenceExpr |
An implicit conversion from type |
ReferenceToExpr |
An implicit conversion from type |
SpaceshipExpr |
A C++ three-way comparison operation, also known as the spaceship operation. This is specific to C++20 and later. |
StmtExpr |
A compound statement enclosed in parentheses used as an expression (a GNU extension to C/C++). In the example below, |
ThisExpr |
A C++ |
ThrowExpr |
A C++ |
UnaryOperation |
A C/C++ unary operation. |