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