# File lib/puppet/resource/type.rb, line 81
81:   def initialize(type, name, options = {})
82:     @type = type.to_s.downcase.to_sym
83:     raise ArgumentError, "Invalid resource supertype '#{type}'" unless RESOURCE_SUPERTYPES.include?(@type)
84: 
85:     name = convert_from_ast(name) if name.is_a?(Puppet::Parser::AST::HostName)
86: 
87:     set_name_and_namespace(name)
88: 
89:     [:code, :doc, :line, :file, :parent].each do |param|
90:       next unless value = options[param]
91:       send(param.to_s + "=", value)
92:     end
93: 
94:     set_arguments(options[:arguments])
95:   end