class RubyIndexer::Entry::Namespace

@abstract

def ancestor_hash

: -> Integer
def ancestor_hash
  mixin_operation_module_names.hash
end

def initialize(nesting, uri, location, name_location, comments)

: (Array[String] nesting, URI::Generic uri, Location location, Location name_location, String? comments) -> void
def initialize(nesting, uri, location, name_location, comments)
  @name = nesting.join("::") #: String
  # The original nesting where this namespace was discovered
  @nesting = nesting
  super(@name, uri, location, comments)
  @name_location = name_location
end

def mixin_operation_module_names

: -> Array[String]
def mixin_operation_module_names
  mixin_operations.map(&:module_name)
end

def mixin_operations

: -> Array[ModuleOperation]
and prepended
code. Maintaining the order is essential to linearize ancestors the right way when a module is both included
Stores all explicit prepend, include and extend operations in the exact order they were discovered in the source
def mixin_operations
  @mixin_operations ||= [] #: Array[ModuleOperation]?
end