Class: Solargraph::Source::Chain::Call

Inherits:
Link
  • Object
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

#argumentsArray<Chain> (readonly)

Returns:



9
10
11
# File 'lib/solargraph/source/chain/call.rb', line 9

def arguments
  @arguments
end

#wordString (readonly)

Returns:

  • (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