Class: RBI::Index
Class Method Summary collapse
-
.index(*node) ⇒ Object
: (*Node node) -> Index.
Instance Method Summary collapse
-
#[](id) ⇒ Object
: (String id) -> Array.
-
#index(*nodes) ⇒ Object
: (*Node nodes) -> void.
-
#initialize ⇒ Index
constructor
: -> void.
-
#keys ⇒ Object
: -> Array.
-
#visit(node) ⇒ Object
: (Node? node) -> void.
Methods inherited from Visitor
Constructor Details
#initialize ⇒ Index
: -> void
16 17 18 19 |
# File 'lib/rbi/index.rb', line 16 def initialize super @index = {} #: Hash[String, Array[Node]] end |
Class Method Details
.index(*node) ⇒ Object
: (*Node node) -> Index
8 9 10 11 12 |
# File 'lib/rbi/index.rb', line 8 def index(*node) index = Index.new index.visit_all(node) index end |
Instance Method Details
#[](id) ⇒ Object
: (String id) -> Array
27 28 29 |
# File 'lib/rbi/index.rb', line 27 def [](id) @index[id] ||= [] end |
#index(*nodes) ⇒ Object
: (*Node nodes) -> void
32 33 34 |
# File 'lib/rbi/index.rb', line 32 def index(*nodes) nodes.each { |node| visit(node) } end |
#visit(node) ⇒ Object
: (Node? node) -> void
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/rbi/index.rb', line 38 def visit(node) return unless node case node when Scope index_node(node) visit_all(node.nodes) when Tree visit_all(node.nodes) when Indexable index_node(node) end end |