Indirect_Extends_Relation

class Indirect_Extends_Relation (abstract, logical)
Direct parents:
Ancestor classes and implemented interfaces:

Declarative_Node, Extends_Relation, Logical_IR_Root

Direct child classes:

Field

Kind

Type

Description

Parent (from Logical_IR_Root)

semantic

class Extends_Relation

Extends (from Extends_Relation)

semantic

class Type

The type which is extended by the type referencing an object of this class. The base class may be a class or a struct definition, a template parameter or nonreal composite, or a managed reference type (which is unnamed).

Offset (from Extends_Relation)

attribute

builtin Natural

start offset for the subobject of type Base within the derived class

Offset_In_Bits (from Extends_Relation)

attribute

builtin UInt64

offset to the field in bits.

Optimized_Empty_Base (from Extends_Relation)

attribute

builtin Boolean

True for empty base classes being optimized to use a shared offset with others

Ambiguous (from Extends_Relation)

attribute

builtin Boolean

True if a direct cast from derived_class to this base class would be ambiguous, because the base class appears multiple times in the inheritance hierarchy.

Nested_Extends (from Extends_Relation)

syntactic

list of class Indirect_Extends_Relation

Indirect base classes (direct base classes of this base class) excluding virtual bases which have been seen already from a different derivation path in the pre-order traversal of the inheritance DAG for the most-derived type, or which also appear as direct base class

Physical (from Logical_IR_Root)

semantic to physical

class Physical_IR_Root