Indirect_Operand

class Indirect_Operand (abstract, logical)

Operand that involves a pointer indirection. The_Object is a pointer variable, the operand refers to the object obtained by dereferencing the pointer (or to one of its subobjects). Subclasses distinguish: read/write/address, or full object/subobject.

Direct parents:
Ancestor classes and implemented interfaces:

Execution_Node, Logical_IR_Root, Operand

Direct child classes:

Field

Kind

Type

Description

The_Object (from Operand)

semantic

class Object

The object of pointer type that is being dereferenced.

Its_Type (from Operand)

semantic

class Type

The type of the operand. WARNING: For address operands, this field returns the pointed-to-type. That is, for int i, the operand &i will report Its_Type=int. Code using this field must check the read/write/address kind to avoid bugs!

Parent (from Logical_IR_Root)

semantic

class Logical_IR_Root

Physical (from Logical_IR_Root)

semantic to physical

class Physical_IR_Root