+ # Top level module
+ var toplevel_module = p.mmmodule.toplevel_owner
+ if not redefs.has_key(toplevel_module) then
+ redefs[toplevel_module] = new HashMap[MMModule, Array[MMMethod]]
+ end
+ # Nested module
+ var nested_module = p.mmmodule
+ if not redefs[toplevel_module].has_key(nested_module) then
+ redefs[toplevel_module][nested_module] = new Array[MMMethod]
+ end
+ # Props
+ redefs[toplevel_module][nested_module].add(p)
+
+ # Redefs
+ if p.mmmodule.toplevel_owner != p.intro_module then
+ toplevel_module = p.intro_module
+ nested_module = p.global.intro.mmmodule
+
+ if not redefs.has_key(toplevel_module) then
+ redefs[toplevel_module] = new HashMap[MMModule, Array[MMMethod]]
+ end
+ if not redefs[toplevel_module].has_key(nested_module) then
+ redefs[toplevel_module][nested_module] = new Array[MMMethod]
+ end
+
+ redefs[toplevel_module][nested_module].add(p.global.intro.as(MMMethod))
+ end