module T::Private::Sealed::NoIncludeExtend
def extended(child)
def extended(child) super this_line = Kernel.caller.find {|line| !line.match(/in `extended'$/)} T::Private::Sealed.validate_inheritance(this_line, self, child, 'extended') @sorbet_sealed_module_all_subclasses << child end
def included(child)
def included(child) super this_line = Kernel.caller.find {|line| !line.match(/in `included'$/)} T::Private::Sealed.validate_inheritance(this_line, self, child, 'included') @sorbet_sealed_module_all_subclasses << child end
def sealed_subclasses
def sealed_subclasses # this will freeze the set so that you can never get into a # state where you use the subclasses list and then something # else will add to it @sorbet_sealed_module_all_subclasses_set ||= # rubocop:disable Naming/MemoizedInstanceVariableName begin require 'set' Set.new(@sorbet_sealed_module_all_subclasses).freeze end end