Class TranslatedCall::TranslatedCall

The IR translation of a call to a function. The call may be from an actual call in the source code, or could be a call that is part of the translation of a higher-level constructor (e.g. the allocator call in a NewExpr).

Direct supertypes

Indirect supertypes

Known direct subtypes

Inherited fields

Predicates

getArgument

Gets the argument with the specified index. Does not include the this argument.

getCallResultType

Gets the result type of the call.

getCallTarget

Gets the TranslatedExpr for the indirect target of the call, if any.

getCallTargetResult

Gets the instruction whose result value is the target of the call. By default, this is just the result of getCallTarget(), but it can be overridden by a subclass for cases where there is a call target that is not computed from an expression (e.g. a direct call).

getChild

Gets the immediate child element of this element. The id is unique among all children of this element, but the values are not necessarily consecutive.

getChildSuccessor

Gets the successor instruction to which control should flow after the child element specified by child has finished execution.

getFirstArgumentOrCallInstruction

If there are any arguments, gets the first instruction of the first argument. Otherwise, returns the call instruction.

getFirstCallTargetInstruction

Gets the first instruction of the sequence to evaluate the call target. By default, this is just the first instruction of getCallTarget(), but it can be overridden by a subclass for cases where there is a call target that is not computed from an expression (e.g. a direct call).

getFirstInstruction

Get the first instruction to be executed in the evaluation of this element.

getInstructionOperand

Gets the instruction whose result is consumed as an operand of the instruction specified by tag, with the operand specified by operandTag.

getInstructionOperandType

Gets the type of the memory operand specified by operandTag on the the instruction specified by tag.

getInstructionSuccessor

Gets the successor instruction of the instruction that was generated by this element for tag tag. The successor edge kind is specified by kind.

getPrimaryInstructionForSideEffect

Gets the primary instruction for the side effect instruction that was generated by this element for tag tag.

getQualifier

Gets the TranslatedExpr for the qualifier of the call (i.e. the value that is passed as the this argument.

getQualifierResult

Gets the instruction whose result value is the this argument of the call. By default, this is just the result of getQualifier(), but it can be overridden by a subclass for cases where there is a this argument that is not computed from a child expression (e.g. a constructor call).

getResult

Gets the instruction that produces the result of the expression.

hasArguments

Holds if the call has any arguments, not counting the this argument.

hasInstruction

Holds if this element generates an instruction with opcode opcode and result type resultType. tag must be unique for each instruction generated from the same AST node (not just from the same TranslatedElement). If the instruction does not return a result, resultType should be VoidType.

hasQualifier

Holds if the call has a this argument.

hasReadSideEffect
hasWriteSideEffect

Inherited predicates

getAChild

Get the immediate child elements of this element.

from TranslatedElement
getAST

Gets the AST node being translated.

from TranslatedExpr
getEnclosingFunction

Gets the TranslatedFunction containing this expression.

from TranslatedExpr
getExceptionSuccessorInstruction

Gets the instruction to which control should flow if an exception is thrown within this element. This will generally return first catch block of the nearest enclosing try, or the Unwind instruction for the function if there is no enclosing try.

from TranslatedElement
getExpr

Gets the expression from which this TranslatedExpr is generated.

from TranslatedExpr
getFunction

Gets the Function that contains this element.

from TranslatedExpr
getId

Gets the an identifier string for the element. This string is unique within the scope of the element’s function.

from TranslatedElement
getInstruction

Gets the instruction generated by this element with tag tag.

from TranslatedElement
getInstructionConstantValue

If the instruction specified by tag is a ConstantValueInstruction, gets the constant value for that instruction.

from TranslatedElement
getInstructionElementSize

If the instruction specified by tag is a PointerArithmeticInstruction, gets the size of the type pointed to by the pointer.

from TranslatedElement
getInstructionExceptionType

If the instruction specified by tag is a CatchByTypeInstruction, gets the type of the exception to be caught.

from TranslatedElement
getInstructionField

If the instruction specified by tag is a FieldInstruction, gets the Field for that instruction.

from TranslatedElement
getInstructionFunction

If the instruction specified by tag is a FunctionInstruction, gets the Function for that instruction.

from TranslatedElement
getInstructionInheritance

If the instruction specified by tag is an InheritanceConversionInstruction, gets the inheritance relationship for that instruction.

from TranslatedElement
getInstructionOperandSize

Gets the size of the memory operand specified by operandTag on the the instruction specified by tag. Only holds for operands whose type is UnknownType.

from TranslatedElement
getInstructionResultSize

If the instruction specified by tag has a result of type UnknownType, gets the size of the result in bytes. If the result does not have a knonwn constant size, this predicate does not hold.

from TranslatedElement
getInstructionStringLiteral

If the instruction specified by tag is a StringConstantInstruction, gets the StringLiteral for that instruction.

from TranslatedElement
getInstructionVariable

If the instruction specified by tag is a VariableInstruction, gets the IRVariable for that instruction.

from TranslatedElement
getParent

Gets the parent element of this element.

from TranslatedElement
getResultType

Gets the type of the result produced by this expression.

from TranslatedExpr
getTempVariable

Gets the temporary variable generated by this element with tag tag.

from TranslatedElement
hasTempVariable

Holds if this element generates a temporary variable with type type. tag must be unique for each variable generated from the same AST node (not just from the same TranslatedElement).

from TranslatedElement
producesExprResult

Holds if this TranslatedExpr produces the final result of the original expression from the AST.

from TranslatedExpr
toStringfrom TranslatedElement