nitg: make runtime_type_analysis nullable to enable no RTA
authorJean Privat <jean@pryen.org>
Tue, 11 Feb 2014 16:04:33 +0000 (11:04 -0500)
committerJean Privat <jean@pryen.org>
Wed, 12 Feb 2014 14:55:36 +0000 (09:55 -0500)
A lot of NPE will break, but places are ready

Signed-off-by: Jean Privat <jean@pryen.org>

src/separate_compiler.nit
src/separate_erasure_compiler.nit

index 3ba9452..b8fa7de 100644 (file)
@@ -56,7 +56,7 @@ redef class ToolContext
 end
 
 redef class ModelBuilder
-       fun run_separate_compiler(mainmodule: MModule, runtime_type_analysis: RapidTypeAnalysis)
+       fun run_separate_compiler(mainmodule: MModule, runtime_type_analysis: nullable RapidTypeAnalysis)
        do
                var time0 = get_time
                self.toolcontext.info("*** GENERATING C ***", 1)
@@ -109,7 +109,7 @@ class SeparateCompiler
        redef type VISITOR: SeparateCompilerVisitor
 
        # The result of the RTA (used to know live types and methods)
-       var runtime_type_analysis: RapidTypeAnalysis
+       var runtime_type_analysis: nullable RapidTypeAnalysis
 
        private var undead_types: Set[MType] = new HashSet[MType]
        private var partial_types: Set[MType] = new HashSet[MType]
@@ -120,7 +120,7 @@ class SeparateCompiler
        protected var method_layout: nullable Layout[PropertyLayoutElement]
        protected var attr_layout: nullable Layout[MAttribute]
 
-       init(mainmodule: MModule, mmbuilder: ModelBuilder, runtime_type_analysis: RapidTypeAnalysis) do
+       init(mainmodule: MModule, mmbuilder: ModelBuilder, runtime_type_analysis: nullable RapidTypeAnalysis) do
                super(mainmodule, mmbuilder)
                var file = new_file("nit.common")
                self.header = new CodeWriter(file)
index 7657c5c..a5d353d 100644 (file)
@@ -32,7 +32,7 @@ redef class ToolContext
 end
 
 redef class ModelBuilder
-       fun run_separate_erasure_compiler(mainmodule: MModule, runtime_type_analysis: RapidTypeAnalysis)
+       fun run_separate_erasure_compiler(mainmodule: MModule, runtime_type_analysis: nullable RapidTypeAnalysis)
        do
                var time0 = get_time
                self.toolcontext.info("*** GENERATING C ***", 1)
@@ -76,7 +76,7 @@ class SeparateErasureCompiler
        private var class_layout: nullable Layout[MClass]
        protected var vt_layout: nullable Layout[MVirtualTypeProp]
 
-       init(mainmodule: MModule, mmbuilder: ModelBuilder, runtime_type_analysis: RapidTypeAnalysis) do
+       init(mainmodule: MModule, mmbuilder: ModelBuilder, runtime_type_analysis: nullable RapidTypeAnalysis) do
                super
 
                var mclasses = new HashSet[MClass].from(mmbuilder.model.mclasses)