Method: TypeProf::Core::MethodCallBox#resolve_subclasses
- Defined in:
- lib/typeprof/core/graph/box.rb
#resolve_subclasses(genv, changes) ⇒ Object
925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 |
# File 'lib/typeprof/core/graph/box.rb', line 925 def resolve_subclasses(genv, changes) # TODO: This does not follow new subclasses @recv.each_type do |ty| next if ty == Type::Bot.new(genv) base_ty = ty.base_type(genv) singleton = base_ty.is_a?(Type::Singleton) mod = base_ty.mod mod.each_descendant do |desc_mod| next if mod == desc_mod me = desc_mod.get_method(singleton, @mid) changes.add_depended_method_entity(me) if me && me.exist? yield ty, me end end end end |