class RubyIndexer::Enhancement

@abstract

def all(listener)

: (DeclarationListener listener) -> Array[Enhancement]
def all(listener)
  @enhancements.map { |enhancement| enhancement.new(listener) }
end

def clear

: -> void
Only available for testing purposes
def clear
  @enhancements.clear
end

def inherited(child)

: (Class[Enhancement] child) -> void
def inherited(child)
  @enhancements << child
  super
end

def initialize(listener)

: (DeclarationListener listener) -> void
def initialize(listener)
  @listener = listener
end

def on_call_node_enter(node); end # rubocop:disable RubyLsp/UseRegisterWithHandlerMethod

rubocop:disable RubyLsp/UseRegisterWithHandlerMethod
: (Prism::CallNode node) -> void
@overridable
`ClassMethods` modules
register for an included callback, similar to what `ActiveSupport::Concern` does in order to auto-extend the
The `on_extend` indexing enhancement is invoked whenever an extend is encountered in the code. It can be used to
def on_call_node_enter(node); end # rubocop:disable RubyLsp/UseRegisterWithHandlerMethod

def on_call_node_leave(node); end # rubocop:disable RubyLsp/UseRegisterWithHandlerMethod

rubocop:disable RubyLsp/UseRegisterWithHandlerMethod
: (Prism::CallNode node) -> void
@overridable
def on_call_node_leave(node); end # rubocop:disable RubyLsp/UseRegisterWithHandlerMethod