class RBI::Index
Public Class Methods
index(*node)
click to toggle source
# File lib/rbi/index.rb, line 10 def self.index(*node) index = Index.new index.visit_all(node) index end
new()
click to toggle source
Calls superclass method
# File lib/rbi/index.rb, line 17 def initialize super() @index = T.let({}, T::Hash[String, T::Array[Node]]) end
Public Instance Methods
[](id)
click to toggle source
# File lib/rbi/index.rb, line 28 def [](id) @index[id] ||= [] end
index(node)
click to toggle source
# File lib/rbi/index.rb, line 33 def index(node) node.index_ids.each { |id| self[id] << node } end
keys()
click to toggle source
# File lib/rbi/index.rb, line 23 def keys @index.keys end
visit(node)
click to toggle source
# File lib/rbi/index.rb, line 38 def visit(node) return unless node case node when Scope index(node) visit_all(node.nodes) when Tree visit_all(node.nodes) when Indexable index(node) end end