Class: Solargraph::Source::Chain::Array
- Defined in:
- lib/solargraph/source/chain/array.rb
Instance Attribute Summary
Attributes inherited from Link
Instance Method Summary collapse
-
#initialize(children) ⇒ Array
constructor
A new instance of Array.
- #resolve(api_map, name_pin, locals) ⇒ Object
- #word ⇒ Object
Methods inherited from Link
#==, #clone_body, #clone_head, #constant?, #head?, #inspect, #nullable?, #undefined?
Constructor Details
#initialize(children) ⇒ Array
Returns a new instance of Array.
6 7 8 9 |
# File 'lib/solargraph/source/chain/array.rb', line 6 def initialize children super('::Array') @children = children end |
Instance Method Details
#resolve(api_map, name_pin, locals) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/solargraph/source/chain/array.rb', line 18 def resolve api_map, name_pin, locals child_types = @children.map do |child| child.infer(api_map, name_pin, locals).tag end type = if child_types.uniq.length == 1 && child_types.first != 'undefined' "::Array<#{child_types.first}>" else '::Array' end [Pin::ProxyType.anonymous(ComplexType.try_parse(type))] end |
#word ⇒ Object
11 12 13 |
# File 'lib/solargraph/source/chain/array.rb', line 11 def word @word ||= "<#{@type}>" end |