rta: add `RapidTypeAnalysis::live_mmodules`
authorJean Privat <jean@pryen.org>
Fri, 12 Jun 2015 20:47:15 +0000 (16:47 -0400)
committerJean Privat <jean@pryen.org>
Wed, 17 Jun 2015 00:46:04 +0000 (20:46 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

src/rapid_type_analysis.nit

index 9010dde..a89798f 100644 (file)
@@ -82,6 +82,10 @@ class RapidTypeAnalysis
        # Live methods.
        var live_methods = new HashSet[MMethod]
 
+       # Live mmodules.
+       # Those with a live method definitions (see `live_methoddefs`)
+       var live_mmodules = new HashSet[MModule]
+
        # Live callsites.
        var live_callsites = new HashSet[CallSite]
 
@@ -389,6 +393,7 @@ class RapidTypeAnalysis
        do
                if live_methoddefs.has(mpropdef) then return
                live_methoddefs.add(mpropdef)
+               live_mmodules.add(mpropdef.mclassdef.mmodule)
                todo.add(mpropdef)
 
                var mproperty = mpropdef.mproperty