# File lib/puppet/parser/ast/definition.rb, line 56
56:     def initialize(hash = {})
57:         @arguments = nil
58:         @parentclass = nil
59:         super
60: 
61:         # Convert the arguments to a hash for ease of later use.
62:         if @arguments
63:             unless @arguments.is_a? Array
64:                 @arguments = [@arguments]
65:             end
66:             oldargs = @arguments
67:             @arguments = {}
68:             oldargs.each do |arg, val|
69:                 @arguments[arg] = val
70:             end
71:         else
72:             @arguments = {}
73:         end
74: 
75:         # Deal with metaparams in the argument list.
76:         @arguments.each do |arg, defvalue|
77:             next unless Puppet::Type.metaparamclass(arg)
78:             if defvalue
79:                 warnonce "%s is a metaparam; this value will inherit to all contained resources" % arg
80:             else
81:                 raise Puppet::ParseError, "%s is a metaparameter; please choose another parameter name in the %s definition" % [arg, self.classname]
82:             end
83:         end
84:     end