Class TranslatedExpr
The IR translation of some part of an expression.
A single Expr
may consist of multiple TranslatedExpr
objects. Every
Expr
has a single TranslatedCoreExpr
, which produces the result of the
expression before any implicit lvalue-to-rvalue conversion. Any expression
with an lvalue-to-rvalue conversion will also have a TranslatedLoad
to
perform that conversion on the original result. A few expressions have
additional TranslatedExpr
objects that compute intermediate values, such
as the TranslatedAllocatorCall
and TranslatedAllocationSize
within the
translation of a NewExpr
.
Import path
import semmle.code.cpp.ir.implementation.raw.internal.TranslatedExpr
Direct supertypes
Indirect supertypes
Known direct subtypes
Fields
Predicates
getAst | Gets the AST node being translated. |
getChild | Gets the immediate child element of this element. The |
getChildInternal | Gets the immediate child element of this element. The |
getEnclosingFunction | Gets the |
getExpr | Gets the expression from which this |
getFirstDestructorCallIndex | Gets the child index of the first destructor call that should be executed after this |
getFunction | Gets the |
getResult | Gets the instruction that produces the result of the expression. |
getResultType | |
hasAnImplicitDestructorCall | Holds if this element has implicit destructor calls that should follow it. |
isResultGLValue | Holds if the result of this |
producesExprResult | Holds if this |
Inherited predicates
getAChild | Get the immediate child elements of this element. | from TranslatedElement |
getALastInstruction | Gets an instruction within this | from TranslatedElement |
getALastInstructionInternal | Gets an instruction within this | from TranslatedElement |
getAST | DEPRECATED: Alias for getAst | from TranslatedElement |
getChildSuccessor | Gets the successor instruction to which control should flow after the child element specified by | from TranslatedElement |
getChildSuccessorInternal | Gets the successor instruction to which control should flow after the child element specified by | from TranslatedElement |
getExceptionSuccessorInstruction | Gets the instruction to which control should flow if an exception is thrown within this element. This will generally return first | from TranslatedElement |
getFirstInstruction | Get the first instruction to be executed in the evaluation of this element when the edge kind is | from TranslatedElement |
getId | Gets the an identifier string for the element. This id is unique within the scope of the element’s function. | from TranslatedElement |
getInstruction | Gets the instruction generated by this element with tag | from TranslatedElement |
getInstructionBuiltInOperation | If the instruction specified by | from TranslatedElement |
getInstructionConstantValue | If the instruction specified by | from TranslatedElement |
getInstructionElementSize | If the instruction specified by | from TranslatedElement |
getInstructionExceptionType | If the instruction specified by | from TranslatedElement |
getInstructionField | If the instruction specified by | from TranslatedElement |
getInstructionFunction | If the instruction specified by | from TranslatedElement |
getInstructionIndex | If the instruction specified by | from TranslatedElement |
getInstructionInheritance | If the instruction specified by | from TranslatedElement |
getInstructionMemoryOperandType | Gets the type of the memory operand specified by | from TranslatedElement |
getInstructionOperandSize | Gets the size of the memory operand specified by | from TranslatedElement |
getInstructionRegisterOperand | Gets the instruction whose result is consumed as an operand of the instruction specified by | from TranslatedElement |
getInstructionStringLiteral | If the instruction specified by | from TranslatedElement |
getInstructionSuccessor | Gets the successor instruction of the instruction that was generated by this element for tag | from TranslatedElement |
getInstructionSuccessorInternal | Gets the successor instruction of the instruction that was generated by this element for tag | from TranslatedElement |
getInstructionVariable | If the instruction specified by | from TranslatedElement |
getLastChild | from TranslatedElement | |
getLocation | Gets the location of this element. | from TranslatedElement |
getParent | Gets the parent element of this element. | from TranslatedElement |
getPrimaryInstructionForSideEffect | Gets the primary instruction for the side effect instruction that was generated by this element for tag | from TranslatedElement |
getTempVariable | Gets the temporary variable generated by this element with tag | from TranslatedElement |
handlesDestructorsExplicitly | Holds if this | from TranslatedElement |
hasInstruction | Holds if this element generates an instruction with opcode | from TranslatedElement |
hasTempVariable | Holds if this element generates a temporary variable with type | from TranslatedElement |
needsUnknownOpaqueType | Holds if the generated IR refers to an opaque type with size | from TranslatedElement |
toString | from TranslatedElement |