From 5036dd68df2a7100e4b04d20abf922580968a9b5 Mon Sep 17 00:00:00 2001 From: Torsten Ruger Date: Fri, 29 Jun 2018 14:57:48 +0300 Subject: [PATCH] remove to_mom from ruby_to_vool must have slipped in affects mosty tests --- lib/vool/vool_compiler.rb | 10 +++++----- test/risc/test_risc_compiler.rb | 22 ++++++++++++++-------- test/vool/test_vool_compiler.rb | 9 ++++++--- 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/lib/vool/vool_compiler.rb b/lib/vool/vool_compiler.rb index 0c3deedf..23908780 100644 --- a/lib/vool/vool_compiler.rb +++ b/lib/vool/vool_compiler.rb @@ -4,15 +4,15 @@ module Vool class VoolCompiler def self.ruby_to_vool( ruby_source ) - statements = RubyCompiler.compile( ruby_source ) - statements = statements.normalize - statements.to_mom(nil) - statements + vool = RubyCompiler.compile( ruby_source ) + vool = vool.normalize + vool end def self.ruby_to_binary(source , platform = :arm) machine = Risc.machine.boot - self.ruby_to_vool(source) + vool = self.ruby_to_vool(source) + vool.to_mom(nil) machine.translate(platform) machine.position_all machine.create_binary diff --git a/test/risc/test_risc_compiler.rb b/test/risc/test_risc_compiler.rb index 6b0a846c..757d07b5 100644 --- a/test/risc/test_risc_compiler.rb +++ b/test/risc/test_risc_compiler.rb @@ -9,7 +9,8 @@ module Vool end def create_method - VoolCompiler.ruby_to_vool in_Test("def meth; @ivar = 5;end") + vool = VoolCompiler.ruby_to_vool in_Test("def meth; @ivar = 5;end") + vool.to_mom(nil) test = Parfait.object_space.get_class_by_name(:Test) test.get_method(:meth) end @@ -41,17 +42,20 @@ module Vool end def test_method_statement_has_class - clazz = VoolCompiler.ruby_to_vool in_Test("def meth; @ivar = 5;end") - assert clazz.body.clazz + vool = VoolCompiler.ruby_to_vool in_Test("def meth; @ivar = 5;end") + clazz = vool.to_mom(nil) + assert vool.body.clazz end def test_parfait_class_creation - clazz = VoolCompiler.ruby_to_vool in_Test("def meth; @ivar = 5;end") - assert_equal Parfait::Class , clazz.body.clazz.class + vool = VoolCompiler.ruby_to_vool in_Test("def meth; @ivar = 5;end") + clazz = vool.to_mom(nil) + assert_equal Parfait::Class , vool.body.clazz.class end def test_typed_method_instance_type - VoolCompiler.ruby_to_vool in_Test("def meth; @ivar = 5; @ibar = 4;end") + vool = VoolCompiler.ruby_to_vool in_Test("def meth; @ivar = 5; @ibar = 4;end") + vool.to_mom(nil) test = Parfait.object_space.get_class_by_name(:Test) method = test.instance_type.get_method(:meth) assert_equal 1, method.for_type.variable_index(:ivar) @@ -59,7 +63,8 @@ module Vool end def test_vool_method_has_one_local - VoolCompiler.ruby_to_vool in_Test("def meth; local = 5 ; a = 6;end") + vool = VoolCompiler.ruby_to_vool in_Test("def meth; local = 5 ; a = 6;end") + vool.to_mom(nil) test = Parfait.object_space.get_class_by_name(:Test) method = test.get_method(:meth) assert_equal 3 , method.frame_type.instance_length @@ -68,7 +73,8 @@ module Vool end def test_typed_method_has_one_local - VoolCompiler.ruby_to_vool in_Test("def meth; local = 5 ; a = 6;end") + vool = VoolCompiler.ruby_to_vool in_Test("def meth; local = 5 ; a = 6;end") + vool.to_mom(nil) test = Parfait.object_space.get_class_by_name(:Test) method = test.instance_type.get_method(:meth) assert_equal 3 , method.frame_type.instance_length diff --git a/test/vool/test_vool_compiler.rb b/test/vool/test_vool_compiler.rb index dbac3e38..78171e16 100644 --- a/test/vool/test_vool_compiler.rb +++ b/test/vool/test_vool_compiler.rb @@ -9,7 +9,8 @@ module Vool end def compile_in_test input - VoolCompiler.ruby_to_vool in_Test(input) + vool = VoolCompiler.ruby_to_vool in_Test(input) + vool.to_mom(nil) itest = Parfait.object_space.get_class_by_name(:Test) assert itest itest @@ -38,14 +39,16 @@ module Vool end def test_creates_class_without_deriviation - VoolCompiler.ruby_to_vool "class Testing ; end" + vool = VoolCompiler.ruby_to_vool "class Testing ; end" + vool.to_mom(nil) clazz = Parfait.object_space.get_class_by_name(:Testing) assert clazz , "No classes created" assert_equal :Object , clazz.super_class_name end def test_creates_class_with_deriviation - VoolCompiler.ruby_to_vool "class Test2 < List ;end" + vool = VoolCompiler.ruby_to_vool "class Test2 < List ;end" + vool.to_mom(nil) clazz = Parfait.object_space.get_class_by_name(:Test2) assert clazz, "No classes created" assert_equal :List , clazz.super_class_name