module GraphQL::Schema::Member::HasArguments::ClassConfigured::InheritedArguments

def all_argument_definitions

def all_argument_definitions
  all_defns = {}
  ancestors.reverse_each do |ancestor|
    if ancestor.respond_to?(:own_arguments)
      all_defns.merge!(ancestor.own_arguments)
    end
  end
  all_defns = all_defns.values
  all_defns.flatten!
  all_defns
end

def any_arguments?

def any_arguments?
  super || superclass.any_arguments?
end

def arguments(context = GraphQL::Query::NullContext.instance, require_defined_arguments = true)

def arguments(context = GraphQL::Query::NullContext.instance, require_defined_arguments = true)
  own_arguments = super(context, require_defined_arguments)
  inherited_arguments = superclass.arguments(context, false)
  if !own_arguments.empty?
    if !inherited_arguments.empty?
      # Local definitions override inherited ones
      inherited_arguments.merge(own_arguments)
    else
      own_arguments
    end
  else
    inherited_arguments
  end
end

def get_argument(argument_name, context = GraphQL::Query::NullContext.instance)

def get_argument(argument_name, context = GraphQL::Query::NullContext.instance)
  warden = Warden.from_context(context)
  skip_visible = context.respond_to?(:types) && context.types.is_a?(GraphQL::Schema::Visibility::Profile)
  for ancestor in ancestors
    if ancestor.respond_to?(:own_arguments) &&
      (a = ancestor.own_arguments[argument_name]) &&
      (skip_visible || (a = Warden.visible_entry?(:visible_argument?, a, context, warden)))
      return a
    end
  end
  nil
end