fix argument transfer (to be logical)

This commit is contained in:
2020-02-27 18:19:27 +02:00
parent 685022a6e0
commit 393f0d9a60
9 changed files with 31 additions and 36 deletions

View File

@ -45,7 +45,7 @@ module Sol
assert_equal Parfait::Class, @ins.next.receiver.known_object.class
end
def test_arg_one
assert_equal SlotLoad, @ins.next(1).arguments[0].class
assert_equal SlottedConstant, @ins.next(1).arguments[0].class
end
def test_receiver_move_class
assert_equal ArgumentTransfer, @ins.next(1).class

View File

@ -11,7 +11,7 @@ module Sol
assert_equal SlottedMessage, @ins.next.receiver.class
end
def test_arg_one
assert_equal SlotLoad, @ins.next(1).arguments[0].class
assert_equal SlottedConstant, @ins.next(1).arguments[0].class
end
def test_call_two
assert_equal SimpleCall, @ins.next(2).class

View File

@ -12,12 +12,11 @@ module Sol
[SlotMachine::IntegerConstant , 5]
end
def test_args_two_move
assert_equal :next_message, @ins.next(1).arguments[1].left.slots.name
assert_equal :arg2, @ins.next(1).arguments[1].left.slots.next_slot.name
assert_equal SlottedConstant, @ins.next(1).arguments[1].class
end
def test_args_two_str
assert_equal SlotMachine::IntegerConstant, @ins.next(1).arguments[1].right.known_object.class
assert_equal 2, @ins.next(1).arguments[1].right.known_object.value
assert_equal SlottedConstant, @ins.next(1).arguments[1].class
assert_equal 2, @ins.next(1).arguments[1].known_object.value
end
def test_array
check_array [MessageSetup,ArgumentTransfer,SimpleCall, SlotLoad, ReturnJump,

View File

@ -22,10 +22,8 @@ module Sol
assert_equal 1, @ins.next(3).arguments.length
end
def test_args_one_l
left = @ins.next(3).arguments[0].left
assert_equal Symbol, left.known_object.class
assert_equal :message, left.known_object
assert_equal "message.next_message.arg1", left.to_s
left = @ins.next(3).arguments[0]
assert_equal SlotMachine::IntegerConstant, left.known_object.class
end
def test_check_left
assert_equal SlottedObject, @ins.left.class