getting the symbols to work
This commit is contained in:
@ -14,9 +14,12 @@ module Virtual
|
||||
unless object.has_layout?
|
||||
object.init_layout
|
||||
end
|
||||
if( object.is_a? Parfait::Method)
|
||||
object.info.constants.each{|c| keep(c) }
|
||||
end
|
||||
layout = object.get_layout
|
||||
#puts "Layout #{layout.get_object_class.name} #{Machine.instance.objects.include?(layout)}"
|
||||
keep layout
|
||||
#puts "Layout #{layout.get_object_class.name} #{Machine.instance.objects.include?(layout)}"
|
||||
layout.each do |name|
|
||||
inst = object.instance_variable_get "@#{name}".to_sym
|
||||
keep inst
|
||||
|
@ -21,9 +21,9 @@ module Virtual
|
||||
def run block
|
||||
block.codes.dup.each do |code|
|
||||
if code.is_a?(NewFrame)
|
||||
kind = "next_frame"
|
||||
kind = :next_frame
|
||||
elsif code.is_a?(NewMessage)
|
||||
kind = "next_message"
|
||||
kind = :next_message
|
||||
else
|
||||
next
|
||||
end
|
||||
|
@ -22,13 +22,13 @@ module Virtual
|
||||
puts "function was already removed #{ function.name}"
|
||||
return
|
||||
end
|
||||
#puts "stayer #{function.name}"
|
||||
@gonners.delete function
|
||||
function.info.blocks.each do |block|
|
||||
block.codes.each do |code|
|
||||
if code.is_a? Virtual::MessageSend
|
||||
str_name = code.name.to_s
|
||||
@gonners.each do |stay|
|
||||
remove stay if(stay.name == str_name)
|
||||
remove stay if(stay.name == code.name)
|
||||
end
|
||||
end
|
||||
remove code.method if code.is_a? Virtual::MethodCall
|
||||
|
Reference in New Issue
Block a user