class Sorbet::Private::GemGeneratorTracepoint::TracepointSerializer
def detect_used(gem_class_defs)
def detect_used(gem_class_defs) # subclassed, included, or extended used = {} gem_class_defs.each do |gem, klass_ids| klass_ids.each do |klass_id, class_def| klass = class_def.klass # only add an anon module if it's used as a superclass of a non-anon module, or is included/extended by a non-anon module used_value = Sorbet::Private::RealStdlib.real_is_a?(klass, Module) && !Sorbet::Private::RealStdlib.real_name(klass).nil? ? true : Sorbet::Private::RealStdlib.real_object_id(klass) # if non-anon, set it to true (used[Sorbet::Private::RealStdlib.real_object_id(klass.superclass)] ||= Set.new) << used_value if Sorbet::Private::RealStdlib.real_is_a?(klass, Class) # otherwise link to next anon class class_def.defs.each do |item| (used[item[item[:type]].object_id] ||= Set.new) << used_value if [:extend, :include].include?(item[:type]) end end end used end