Extends_Relation¶
- class Extends_Relation (abstract, logical)¶
Inheritance relations between classes and interfaces.
- Direct parents:
inherits Declarative_Node
- Ancestor classes and implemented interfaces:
- Direct child classes:
subclass Direct_Extends_Relation
subclass Indirect_Extends_Relation
Field
Kind
Type
Description
Extends
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
attribute
builtin Natural
start offset for the subobject of type Base within the derived class
Offset_In_Bits
attribute
builtin UInt64
offset to the field in bits.
Optimized_Empty_Base
attribute
builtin Boolean
True for empty base classes being optimized to use a shared offset with others
Ambiguous
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
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
Parent (from Logical_IR_Root)
semantic
class Logical_IR_Root