module GraphQL::StaticValidation::FragmentNamesAreUnique

def initialize(*)

def initialize(*)
  super
  @fragments_by_name = Hash.new { |h, k| h[k] = [] }
end

def on_document(_n, _p)

def on_document(_n, _p)
  super
  @fragments_by_name.each do |name, fragments|
    if fragments.length > 1
      add_error(GraphQL::StaticValidation::FragmentNamesAreUniqueError.new(
        %|Fragment name "#{name}" must be unique|,
        nodes: fragments,
        name: name
      ))
    end
  end
end

def on_fragment_definition(node, parent)

def on_fragment_definition(node, parent)
  @fragments_by_name[node.name] << node
  super
end