# File lib/puppet/type.rb, line 414
414:     def [](name)
415:         name = attr_alias(name)
416: 
417:         unless self.class.validattr?(name)
418:             fail("Invalid parameter %s(%s)" % [name, name.inspect])
419:         end
420: 
421:         if name == :name
422:             name = self.class.namevar
423:         end
424: 
425:         if obj = @parameters[name]
426:             # Note that if this is a property, then the value is the "should" value,
427:             # not the current value.
428:             obj.value
429:         else
430:             return nil
431:         end
432:     end