Unnamed_Field¶
- class Unnamed_Field (abstract, logical)¶
unions in structs can be unnamed fields, for example
- Direct parents:
inherits Normal_Field
- Ancestor classes and implemented interfaces:
Declarative_Node, Field, General_Object_Interface, Logical_IR_Root, Member, Named_Entity, Normal_Field, Object, Symbol, Typed_Object
- Direct child classes:
subclass Mutable_Unnamed_Field
subclass Unmutable_Unnamed_Field
Field
Kind
Type
Description
Offset (from Field)
attribute
builtin Natural
Starting position of this field inside the parent composite. Equal to the value of
offsetof(Parent, Field). The Offset does not include the Bit_Position for bit-fields.Note: multiple fields can share the same offset in these circumstances:
In a union, all fields will have offset 0.
Neighboring bit-fields will have the same offset if they are stored together.
C++20
[[no_unique_address]]
Offset_In_Bits (from Field)
attribute
builtin UInt64
Offset to the field in bits. This is equal to
offsetof(Parent, Field) * CHAR_BIT. The Offset_In_Bits does not include the Bit_Position for bit-fields.Its_Type (from Typed_Object)
semantic
class Type
the normalized, ‘underlying’ type
Object_Flags (from Typed_Object)
attribute
bitfield Object_Flags_Type
bits like “address taken” and “is pointer”
Parent (from Logical_IR_Root)
semantic
class Logical_IR_Root
Physical (from Logical_IR_Root)
semantic to physical
class Physical_IR_Root
Visibility (from Member)
attribute
enum Visibility_Type
Name (from Named_Entity)
attribute
builtin String