nitc: only serialize the type model if `json::serialization_read` is imported
authorAlexis Laferrière <alexis.laf@xymus.net>
Fri, 14 Oct 2016 20:02:41 +0000 (16:02 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Fri, 14 Oct 2016 23:55:48 +0000 (19:55 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

src/compiler/compiler_serialization.nit

index 35c37b2..2db35d3 100644 (file)
@@ -21,7 +21,18 @@ import abstract_compiler
 redef class ModelBuilder
        redef fun write_and_make(compiler)
        do
-               write_poset_to_file(compiler, "nit_class_inheritance_metamodel", compiler.mainmodule.flatten_mclass_hierarchy)
+               var uses_json_serialization_read = false
+               for mod in compiler.mainmodule.in_importation.greaters do
+                       var concern = mod.parent_concern
+                       if mod.name == "serialization_read" and concern != null and concern.name == "json" then
+                               uses_json_serialization_read = true
+                               break
+                       end
+               end
+
+               if uses_json_serialization_read then
+                       write_poset_to_file(compiler, "nit_class_inheritance_metamodel", compiler.mainmodule.flatten_mclass_hierarchy)
+               end
 
                super
        end