class Steep::Index::SourceIndex::MethodEntry
def add_definition(node)
def add_definition(node) case node.type when :def, :defs @definitions << node else raise "Unexpected method definition: #{node.type}" end self end
def add_reference(node)
def add_reference(node) case node.type when :send, :block @references << node else raise "Unexpected method reference: #{node.type}" end self end
def initialize(name:)
def initialize(name:) @name = name @definitions = Set[].compare_by_identity @references = Set[].compare_by_identity end
def merge!(other)
def merge!(other) definitions.merge(other.definitions) references.merge(other.references) self end