last test fixed, ruby layer complete

This commit is contained in:
Torsten Ruger 2018-07-20 21:27:55 +03:00
parent b00b0cf064
commit f620f0fd74
3 changed files with 2 additions and 19 deletions

View File

@ -14,6 +14,7 @@ module Risc
assert !@pos.valid?
end
def test_next_slot
Parfait.boot!
mov = Arm::ArmMachine.mov(:r1 , :r1)
position = Position.new(mov ).set(0)
assert_equal 4, position.next_slot

View File

@ -61,22 +61,4 @@ module Ruby
assert_nil lst.name
end
end
class TestSendReceiverType < MiniTest::Test
include RubyTests
def setup
Parfait.boot!
end
def test_int_receiver
sent = compile( "5.div4")
assert_equal Parfait::Type , sent.receiver.ct_type.class
assert_equal "Integer_Type" , sent.receiver.ct_type.name
end
def test_string_receiver
sent = compile( "'5'.putstring")
assert_equal Parfait::Type , sent.receiver.ct_type.class
assert_equal "Word_Type" , sent.receiver.ct_type.name
end
end
end

View File

@ -39,7 +39,7 @@ module MomCompile
end
def compile_first_block( block_input , method_input = "main_local = 5")
source = "#{method_input} ; self.main{|val| #{block_input}}"
vool = RubyX::RubyCompiler.compile( as_test_main(source) ).normalize
vool = Ruby::RubyCompiler.compile( as_test_main(source) ).to_vool
mom_c = vool.to_mom(nil)
compiler = mom_c.method_compilers.find{|c| c.get_method.name == :main and c.get_method.self_type.object_class.name == :Test}
block = nil