fix use of slot_constant vs slot_move
wip
This commit is contained in:
@ -24,7 +24,7 @@ module Mom
|
||||
assert_equal 9 , @stats.length
|
||||
end
|
||||
def test_array
|
||||
check_array [SlotConstant,TruthCheck,Label,SimpleCall,SlotConstant,Label,SimpleCall,SlotConstant,Label] , @stats
|
||||
check_array [SlotMove,TruthCheck,Label,SimpleCall,SlotMove,Label,SimpleCall,SlotMove,Label] , @stats
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -24,7 +24,7 @@ module Mom
|
||||
assert_equal 4 , @stats.length
|
||||
end
|
||||
def test_array
|
||||
check_array [Label,SlotConstant,TruthCheck,Label] , @stats
|
||||
check_array [Label,SlotMove,TruthCheck,Label] , @stats
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -39,10 +39,12 @@ module MomCompile
|
||||
index = 0
|
||||
test = is
|
||||
while(test)
|
||||
assert_equal should[index] , test.class , "Wrong class for #{index+1}, #{dump(is)}"
|
||||
# if we assert here, we get output pointing here. Without stack, not useful
|
||||
raise "Wrong class for #{index+1}, #{dump(is)}" if should[index] != test.class
|
||||
index += 1
|
||||
test = test.next
|
||||
end
|
||||
assert 1 #just to get an assertion in the output.
|
||||
end
|
||||
def dump(is)
|
||||
res =[]
|
||||
|
@ -10,7 +10,7 @@ module Vool
|
||||
end
|
||||
|
||||
def test_class_compiles
|
||||
assert_equal Mom::SlotConstant , @stats.first.class , @stats
|
||||
assert_equal Mom::SlotMove , @stats.first.class , @stats
|
||||
end
|
||||
def test_slot_is_set
|
||||
assert @stats.first.left
|
||||
@ -19,7 +19,7 @@ module Vool
|
||||
assert_equal 3 , @stats.length
|
||||
end
|
||||
def test_receiver_move_class
|
||||
assert_equal Mom::SlotConstant, @stats.first.class
|
||||
assert_equal Mom::SlotMove, @stats.first.class
|
||||
end
|
||||
def test_receiver_move
|
||||
assert_equal :receiver, @stats.first.left[2]
|
||||
|
@ -13,7 +13,7 @@ module Vool
|
||||
assert Array != @stats.class , @stats
|
||||
end
|
||||
def test_class_compiles
|
||||
assert_equal Mom::SlotConstant , @stats.first.class , @stats
|
||||
assert_equal Mom::SlotMove , @stats.first.class , @stats
|
||||
end
|
||||
def test_slot_is_set
|
||||
assert @stats.first.left
|
||||
@ -22,7 +22,7 @@ module Vool
|
||||
assert_equal 2 , @stats.length
|
||||
end
|
||||
def test_receiver_move_class
|
||||
assert_equal Mom::SlotConstant, @stats.first.class
|
||||
assert_equal Mom::SlotMove, @stats.first.class
|
||||
end
|
||||
def test_receiver_move
|
||||
assert_equal :receiver, @stats.first.left[2]
|
||||
|
@ -13,13 +13,13 @@ module Vool
|
||||
assert_equal Mom::Statements , @stats.class
|
||||
end
|
||||
def test_class_compiles
|
||||
assert_equal Mom::SlotConstant , @stats.first.class , @stats
|
||||
assert_equal Mom::SlotMove , @stats.first.class , @stats
|
||||
end
|
||||
def test_four_instructions_are_returned
|
||||
assert_equal 4 , @stats.length
|
||||
end
|
||||
def test_receiver_move
|
||||
assert_equal Mom::SlotConstant, @stats[0].class
|
||||
assert_equal Mom::SlotMove, @stats[0].class
|
||||
assert_equal :receiver, @stats[0].left[2]
|
||||
end
|
||||
def test_receiver
|
||||
|
@ -13,13 +13,13 @@ module Vool
|
||||
assert Array != @stats.class , @stats
|
||||
end
|
||||
def test_class_compiles
|
||||
assert_equal Mom::SlotConstant , @stats.first.class , @stats
|
||||
assert_equal Mom::SlotMove , @stats.first.class , @stats
|
||||
end
|
||||
def test_four_instructions_are_returned
|
||||
assert_equal 3 , @stats.length
|
||||
end
|
||||
def test_receiver_move
|
||||
assert_equal Mom::SlotConstant, @stats.first.class
|
||||
assert_equal Mom::SlotMove, @stats.first.class
|
||||
assert_equal :receiver, @stats[0].left[2]
|
||||
end
|
||||
def test_receiver
|
||||
|
@ -11,7 +11,7 @@ module Vool
|
||||
end
|
||||
|
||||
def test_class_compiles
|
||||
assert_equal Mom::SlotConstant , @first.class , @stats
|
||||
assert_equal Mom::SlotMove , @first.class , @stats
|
||||
end
|
||||
def test_slot_is_set
|
||||
assert @first.left
|
||||
@ -44,7 +44,7 @@ module Vool
|
||||
end
|
||||
|
||||
def test_class_compiles
|
||||
assert_equal Mom::SlotConstant , @first.class , @stats
|
||||
assert_equal Mom::SlotMove , @first.class , @stats
|
||||
end
|
||||
def test_slot_is_set
|
||||
assert @first.left
|
||||
|
@ -21,7 +21,7 @@ module Vool
|
||||
assert_equal Mom::SlotDefinition , @first.condition.condition.class , @stats
|
||||
end
|
||||
def test_hoisetd
|
||||
assert_equal Mom::SlotConstant , @first.hoisted.class
|
||||
assert_equal Mom::SlotMove , @first.hoisted.class
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -14,7 +14,7 @@ module Vool
|
||||
assert Array != @stats.class , @stats
|
||||
end
|
||||
def test_class_compiles
|
||||
assert_equal Mom::SlotConstant , @first.class , @stats
|
||||
assert_equal Mom::SlotMove , @first.class , @stats
|
||||
end
|
||||
def test_slot_is_set
|
||||
assert @first.left
|
||||
|
@ -21,7 +21,7 @@ module Vool
|
||||
assert_equal Mom::SlotDefinition , @first.condition.condition.class , @stats
|
||||
end
|
||||
def test_hoisetd
|
||||
assert_equal Mom::SlotConstant , @first.hoisted.class
|
||||
assert_equal Mom::SlotMove , @first.hoisted.class
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user