def initialize(code, name, klasses = nil, getter = nil)
@debug = (name == "bool")
@code = code
@name = name
@@by_preferred ||= {}
@@by_code ||= {}
@@by_code["#{code}"] = self
@@by_name ||= {}
@@by_name[name] = self
@@by_class ||= {}
unless klasses.nil?
klasses.each do |klass|
raise "entry exists for #{klass}" if @@by_class.keys.include? klass
@@by_class[klass] = self unless klass.nil?
end
end
@put_method = (name + "=").intern
if getter.nil?
@get_method = name.intern
else
@get_method = getter.intern
end
end