Method: Puppet::Pops::Types::PObjectType::PAnnotatedMember#initialize

Defined in:
lib/puppet/pops/types/p_object_type.rb

#initialize(name, container, init_hash) ⇒ PAnnotatedMember

Returns a new instance of PAnnotatedMember.

Parameters:

  • name (String)

    The name of the member

  • container (PObjectType)

    The containing object type

  • init_hash (Hash{String=>Object})

    Hash containing feature options

Options Hash (init_hash):

  • 'type' (PAnyType)

    The member type (required)

  • 'override' (Boolean)

    ‘true` if this feature must override an inherited feature. Default is `false`.

  • 'final' (Boolean)

    ‘true` if this feature cannot be overridden. Default is `false`.

  • 'annotations' (Hash{PTypeType => Hash})

    Annotations hash. Default is ‘nil`.



126
127
128
129
130
131
132
133
134
135
# File 'lib/puppet/pops/types/p_object_type.rb', line 126

def initialize(name, container, init_hash)
  @name = name
  @container = container
  @type = init_hash[KEY_TYPE]
  @override = init_hash[KEY_OVERRIDE]
  @override = false if @override.nil?
  @final = init_hash[KEY_FINAL]
  @final = false if @final.nil?
  init_annotatable(init_hash)
end