Explicit_Object_Parameter¶
- class Explicit_Object_Parameter (concrete, logical)¶
An explicit object parameter of a method.
- Direct parents:
inherits Object_Parameter
- Ancestor classes and implemented interfaces:
Declarative_Node, General_Object_Interface, Logical_IR_Root, Named_Entity, Object, Object_Parameter, Parameter, Stack_Object, Symbol, Typed_Object
Field
Kind
Type
Description
Promoted_Type (from Parameter)
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”.
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
Name (from Named_Entity)
attribute
builtin String