Skip to content

Commit

Permalink
Map parameters to updated module functions.
Browse files Browse the repository at this point in the history
  • Loading branch information
castwide committed Apr 26, 2020
1 parent 34e5d6c commit 9be3eb2
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
2 changes: 2 additions & 0 deletions lib/solargraph/parser/legacy/node_processors/send_node.rb
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ def process_module_function
location: ref.location,
closure: ref.closure,
name: ref.name,
parameters: ref.parameters,
comments: ref.comments,
scope: :class,
visibility: :public,
Expand All @@ -162,6 +163,7 @@ def process_module_function
location: ref.location,
closure: ref.closure,
name: ref.name,
parameters: ref.parameters,
comments: ref.comments,
scope: :instance,
visibility: :private,
Expand Down
19 changes: 19 additions & 0 deletions spec/source_map/mapper_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1274,4 +1274,23 @@ def foo(bar); end
))
expect(map.first_pin('#foo').explicit?).to be(false)
end

it 'maps parameters to updated module_function methods' do
map = Solargraph::SourceMap.load_string(%(
module Foo
def bar(baz)
end
module_function :bar
end
))

cpin = map.first_pin('Foo.bar')
expect(cpin.parameters).to be_one
expect(cpin.parameters.first.name).to eq('baz')

ipin = map.first_pin('Foo#bar')
expect(ipin.parameters).to be_one
expect(ipin.parameters.first.name).to eq('baz')
end
end

0 comments on commit 9be3eb2

Please sign in to comment.