Alias_Type

class Alias_Type (concrete, logical)

this is very similar to a standard typedef type, syntax: using X = int

Direct parents:
Ancestor classes and implemented interfaces:

Declarative_Node, General_Alias_Type, General_Typedef_Type, Logical_IR_Root, Member, Named_Entity, Named_Type, Symbol, Template_Base_Interface, Type

Field

Kind

Type

Description

Original_Type (from General_Typedef_Type)

semantic

class Type

A in typedef A B or in using B = A

Size (from Type)

attribute

builtin Natural

Alignment_Log (from Type)

attribute

builtin Byte

log2 of the type’s alignment

Alignment (from Type)

attribute

builtin Natural

Alignment of the type (must be a power of 2)

Size_In_Bits (from Type)

attribute

builtin UInt64

Size of the type, in bits.

Parent (from Logical_IR_Root)

semantic

class Logical_IR_Root

Physical (from Logical_IR_Root)

semantic to physical

class Physical_IR_Root

Base_Template (from Template_Base_Interface)

semantic

class Symbol

usually, a Template_Interface, but could also be a normal method/nested class inside a template

Template_Arguments (from Template_Base_Interface)

syntactic

list of class Template_Argument

Is_Partial_Specialization (from Template_Base_Interface)

attribute

builtin Boolean

Is_Full_Specialization (from Template_Base_Interface)

attribute

builtin Boolean

Is_Template_Instance (from Template_Base_Interface)

attribute

builtin Boolean

Visibility (from Member)

attribute

enum Visibility_Type

Name (from Named_Entity)

attribute

builtin String