Explicit_Object_Parameter

class Explicit_Object_Parameter (concrete, logical)

An explicit object parameter of a method.

Direct parents:
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