fix order of pops

slightly embarrassingly was popping (from the end)
rather than shifting (from the start)
This commit is contained in:
Torsten Ruger 2018-03-12 18:13:07 +05:30
parent e0f6ba7bcf
commit e6e8522b4e
3 changed files with 7 additions and 7 deletions

View File

@ -2,7 +2,7 @@ module Mom
class Statement
# flattening will change the structure from a tree to a linked list (and use
# nekst to do so)
def flatten
def flatten(options = {})
raise "not implemented for #{self}"
end
end
@ -10,10 +10,10 @@ module Mom
class Statements < Statement
include Common::Statements
def flatten( options = {} )
flat = @statements.pop.flatten
while( nekst = @statements.pop )
flat.append nekst.flatten()
def flatten( options = {} )
flat = @statements.shift.flatten(options)
while( nekst = @statements.shift )
flat.append nekst.flatten(options)
end
flat
end

View File

@ -23,7 +23,7 @@ module Mom
assert_equal 7 , @stats.length
end
def test_array
check_array [SlotMove,TruthCheck,Label,MessageSetup,SimpleCall,ArgumentTransfer,Label], @stats
check_array [SlotMove,TruthCheck,Label,MessageSetup,ArgumentTransfer,SimpleCall,Label], @stats
end
end
end

View File

@ -24,7 +24,7 @@ module Mom
assert_equal 11 , @stats.length
end
def test_array
check_array [SlotMove,TruthCheck,Label,SimpleCall,ArgumentTransfer,MessageSetup,Label,SimpleCall,ArgumentTransfer,MessageSetup,Label] , @stats
check_array [SlotMove,TruthCheck,Label,MessageSetup,ArgumentTransfer,SimpleCall,Label,MessageSetup,ArgumentTransfer,SimpleCall,Label] , @stats
end
end
end