Class: Solargraph::Source::Chain::Call
- Inherits:
-
Link
- Object
- Link
- Solargraph::Source::Chain::Call
show all
- Defined in:
- lib/solargraph/source/chain/call.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from Link
#==, #constant?, #undefined?
Constructor Details
#initialize(word, arguments = []) ⇒ Call
Returns a new instance of Call.
11
12
13
14
|
# File 'lib/solargraph/source/chain/call.rb', line 11
def initialize word, arguments = []
@word = word
@arguments = arguments
end
|
Instance Attribute Details
#arguments ⇒ Array<Chain>
9
10
11
|
# File 'lib/solargraph/source/chain/call.rb', line 9
def arguments
@arguments
end
|
#word ⇒ String
6
7
8
|
# File 'lib/solargraph/source/chain/call.rb', line 6
def word
@word
end
|
Instance Method Details
#resolve(api_map, name_pin, locals) ⇒ Object
16
17
18
19
20
21
22
23
|
# File 'lib/solargraph/source/chain/call.rb', line 16
def resolve api_map, name_pin, locals
found = locals.select{|p| p.name == word}
return inferred_pins(found, api_map, name_pin.context, locals) unless found.empty?
pins = api_map.get_method_stack(name_pin.context.namespace, word, scope: name_pin.context.scope)
return [] if pins.empty?
pins.unshift virtual_new_pin(pins.first, name_pin.context) if external_constructor?(pins.first, name_pin.context)
inferred_pins(pins, api_map, name_pin.context, locals)
end
|