From 3b56b1d68289ae63bafbeb299762f79c52a25699 Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Tue, 11 Feb 2014 11:04:33 -0500 Subject: [PATCH] nitg: make runtime_type_analysis nullable to enable no RTA A lot of NPE will break, but places are ready Signed-off-by: Jean Privat --- src/separate_compiler.nit | 6 +++--- src/separate_erasure_compiler.nit | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/separate_compiler.nit b/src/separate_compiler.nit index 3ba9452..b8fa7de 100644 --- a/src/separate_compiler.nit +++ b/src/separate_compiler.nit @@ -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) diff --git a/src/separate_erasure_compiler.nit b/src/separate_erasure_compiler.nit index 7657c5c..a5d353d 100644 --- a/src/separate_erasure_compiler.nit +++ b/src/separate_erasure_compiler.nit @@ -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) -- 1.7.9.5