module T::Private::Sealed::NoIncludeExtend
def extended(child)
def extended(child) super caller_loc = T::Private::CallerUtils.find_caller {|loc| loc.base_label != 'extended'} T::Private::Sealed.validate_inheritance(caller_loc, self, child, 'extended') @sorbet_sealed_module_all_subclasses << child end
def included(child)
def included(child) super caller_loc = T::Private::CallerUtils.find_caller {|loc| loc.base_label != 'included'} T::Private::Sealed.validate_inheritance(caller_loc, 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