class BinData::Record
def ensure_valid_name(name)
def ensure_valid_name(name) if fields.field_names.include?(name) raise SyntaxError, "duplicate field '#{name}' in #{self}", caller(3) end if self.instance_methods.include?(name) raise NameError.new("", name), "field '#{name}' shadows an existing method", caller(3) end if self::RESERVED.include?(name) raise NameError.new("", name), "field '#{name}' is a reserved name", caller(3) end end