module RuboCop::AST::NodePattern::Sets

def self.[](set)

def self.[](set)
  REGISTRY[set]
end

def self.name(set)

def self.name(set)
  elements = set
  elements = set.first(MAX - 1) << :etc if set.size > MAX
  name = elements.to_a.join('_').upcase.gsub(/[^A-Z0-9_]/, '')
  uniq("SET_#{name}")
end

def self.uniq(name)

def self.uniq(name)
  return name unless Sets.const_defined?(name)
  (2..Float::INFINITY).each do |i|
    uniq = "#{name}_#{i}"
    return uniq unless Sets.const_defined?(uniq)
  end
end