Skip to content

Commit

Permalink
Use first sets of args as overloads
Browse files Browse the repository at this point in the history
  • Loading branch information
andyw8 committed Jun 20, 2024
1 parent 3ab4520 commit 7231abe
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
6 changes: 2 additions & 4 deletions lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb
Original file line number Diff line number Diff line change
Expand Up @@ -309,8 +309,7 @@ def on_def_node_enter(node)
node.location,
node.name_loc,
comments,
list_params(node.parameters),
[],
[list_params(node.parameters)],
current_visibility,
@owner_stack.last,
))
Expand All @@ -323,8 +322,7 @@ def on_def_node_enter(node)
node.location,
node.name_loc,
comments,
list_params(node.parameters),
[],
[list_params(node.parameters)],
current_visibility,
singleton,
))
Expand Down
12 changes: 7 additions & 5 deletions lib/ruby_indexer/lib/ruby_indexer/entry.rb
Original file line number Diff line number Diff line change
Expand Up @@ -334,8 +334,11 @@ def parameters
class Method < Member
extend T::Sig

# attr_reader :parameters
sig { override.returns(T::Array[Parameter]) }
attr_reader :parameters
def parameters
T.must(@overloads.first)
end

# Returns the location of the method name, excluding parameters or the body
sig { returns(Location) }
Expand All @@ -348,16 +351,15 @@ class Method < Member
location: T.any(Prism::Location, RubyIndexer::Location),
name_location: T.any(Prism::Location, Location),
comments: T::Array[String],
parameters: T::Array[Parameter],
overloads: T::Array[T::Array[Parameter]],
visibility: Visibility,
owner: T.nilable(Entry::Namespace),
).void
end
def initialize(name, file_path, location, name_location, comments, parameters, overloads, visibility, owner) # rubocop:disable Metrics/ParameterLists
def initialize(name, file_path, location, name_location, comments, overloads, visibility, owner) # rubocop:disable Metrics/ParameterLists
super(name, file_path, location, comments, visibility, owner)
@parameters = parameters
@overloads = parameters
@overloads = overloads
@parameters = T.let(overloads.first, T.nilable(T::Array[RubyIndexer::Entry::Parameter]))
@name_location = T.let(
if name_location.is_a?(Prism::Location)
Location.new(
Expand Down
2 changes: 1 addition & 1 deletion lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ def handle_method(member, owner)
end

real_owner = member.singleton? ? existing_or_new_singleton_klass(owner) : owner
@index.add(Entry::Method.new(name, file_path, location, location, comments, [], [], visibility, real_owner))
@index.add(Entry::Method.new(name, file_path, location, location, comments, [], visibility, real_owner))
end

sig { params(owner: Entry::Namespace).returns(T.nilable(Entry::Class)) }
Expand Down

0 comments on commit 7231abe

Please sign in to comment.