Parameter¶
- class Parameter (abstract, logical)¶
A procedure/function parameter.
- Direct parents:
inherits Stack_Object
- Ancestor classes and implemented interfaces:
Declarative_Node, General_Object_Interface, Logical_IR_Root, Named_Entity, Object, Stack_Object, Symbol, Typed_Object
- Direct child classes:
subclass Standard_Parameter
subclass Object_Parameter
subclass Ellipsis_Parameter
Field
Kind
Type
Description
Promoted_Type
semantic
class Type
This is the type that callers should provide for the parameter (they can also use a compatible type instead). It is also used by the linker to determine if two functions are different overloads. For the type of the parameter within the function definition, see Its_Type. Note that array/function decay applies to both Its_Type+Promoted_Type. Top-level cv-qualifiers are available only in Its_Type, and stripped from Promoted_Type. For old K&R function definitions without prototype, Promoted_Type is the type after the “default argument promotions”.
Parent (from Logical_IR_Root)
semantic
interface Parameters_Interface
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”
Physical (from Logical_IR_Root)
semantic to physical
class Physical_IR_Root
Name (from Named_Entity)
attribute
builtin String