mpackage: Add `mpackage` importation graph
authorFlorian Deljarry <deljarry.florian@gmail.com>
Sat, 17 Aug 2019 17:34:29 +0000 (13:34 -0400)
committerFlorian Deljarry <deljarry.florian@gmail.com>
Tue, 27 Aug 2019 21:27:07 +0000 (17:27 -0400)
Add the attribute `mpackage_importation_graph`. Each package is in relation with itself.

Signed-off-by: Florian Deljarry <deljarry.florian@gmail.com>

src/model/mpackage.nit

index 1cdde49..f014ac9 100644 (file)
@@ -19,6 +19,7 @@ import model_base
 private import more_collections
 import poset
 import mdoc
+import graph::digraph
 
 # A Nit package, that encompass a product
 class MPackage
@@ -47,6 +48,8 @@ class MPackage
        init
        do
                model.mpackages.add(self)
+               # Add `self` to the importation graph
+               model.mpackage_importation_graph.add_vertex(self)
                model.mpackage_by_name.add_one(name, self)
        end
 
@@ -177,6 +180,11 @@ class MGroup
 end
 
 redef class Model
+
+       # Full package importation graph
+       # Each package is in relation with itself
+       var mpackage_importation_graph = new HashDigraph[MPackage]
+
        # packages of the model
        var mpackages = new Array[MPackage]