Managed_Type_Parameter

class Managed_Type_Parameter (concrete, logical)

Type parameter. Constraints in CSharp can be: class, struct, new(), or existing class / interface types.

Implemented interfaces:
Direct parents:
Ancestor classes and implemented interfaces:

Declarative_Node, Logical_IR_Root, Managed_Type_Interface, Member, Named_Entity, Named_Type, Primary_Link_Object_Interface, Symbol, Template_Parameter_Interface, Template_Type_Parameter, Type

Field

Kind

Type

Description

Constraint_Flags

attribute

bitfield Managed_Type_Constraint_Flags_Type

Type_Constraints

syntactic

set of class Managed_Type_Constraint

Default_Type (from Template_Type_Parameter)

semantic

class Type

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

Link_Flags (from Primary_Link_Object_Interface)

attribute

bitfield Link_Flags_Type

Component (from Primary_Link_Object_Interface)

attribute

builtin String

for local-to-library elements: name of DLL/.so when linked (sealed) for unit-local constexpr variables: name of file

Position (from Template_Parameter_Interface)

attribute

builtin Natural

Is_Pack (from Template_Parameter_Interface)

attribute

builtin Boolean

Whether this is parameter pack. (C++11 typename... T or int... N)

Visibility (from Member)

attribute

enum Visibility_Type

Name (from Named_Entity)

attribute

builtin String