loader: introduce `MGroup::mmodule_paths_by_name` to search for modules
authorJean Privat <jean@pryen.org>
Mon, 24 Aug 2015 19:40:35 +0000 (15:40 -0400)
committerJean Privat <jean@pryen.org>
Mon, 24 Aug 2015 19:40:35 +0000 (15:40 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

src/loader.nit

index bd01e9c..000f91b 100644 (file)
@@ -996,6 +996,23 @@ redef class MGroup
        #
        # See `ModelBuilder::scan_group`.
        var scanned = false
+
+       # Return the modules in self and subgroups named `name`.
+       #
+       # If `self` is not scanned (see `ModelBuilder::scan_group`) the
+       # results might be partial.
+       fun mmodule_paths_by_name(name: String): Array[ModulePath]
+       do
+               var res = new Array[ModulePath]
+               for g in in_nesting.smallers do
+                       for mp in g.module_paths do
+                               if mp.name == name then
+                                       res.add mp
+                               end
+                       end
+               end
+               return res
+       end
 end
 
 redef class SourceFile