class RBI::Include

def compatible_with?(other)

: (Node other) -> bool
@override
def compatible_with?(other)
  other.is_a?(Include) && super
end

def index_ids

: -> Array[String]
@override
def index_ids
  names.map { |name| "#{parent_scope&.fully_qualified_name}.include(#{name})" }
end

def initialize(name, *names, loc: nil, comments: [], &block)

: (String name, *String names, ?loc: Loc?, ?comments: Array[Comment]) ?{ (Include node) -> void } -> void
def initialize(name, *names, loc: nil, comments: [], &block)
  super(name, names, loc: loc, comments: comments)
  block&.call(self)
end

def to_s

: -> String
@override
def to_s
  "#{parent_scope&.fully_qualified_name}.include(#{names.join(", ")})"
end