# File lib/puppet/type.rb, line 561
561:     def set_default(attr)
562:         return unless klass = self.class.attrclass(attr)
563:         return unless klass.method_defined?(:default)
564:         return if @parameters.include?(klass.name)
565: 
566:         return unless parameter = newattr(klass.name)
567: 
568:         if value = parameter.default and ! value.nil?
569:             parameter.value = value
570:         else
571:             @parameters.delete(parameter.name)
572:         end
573:     end