2015-06-20 23:21:42 +02:00
|
|
|
module Virtual
|
|
|
|
|
|
|
|
# The next Message is one of four objects the virtual machine knows
|
|
|
|
#
|
|
|
|
# Slots represent instance variables of objects, so NextMessageSlots
|
|
|
|
# represent instance variables of NextMessage objects.
|
|
|
|
# The Message has a layout as per the constant above
|
|
|
|
|
|
|
|
class NextMessageSlot < Slot
|
|
|
|
def initialize index , type = Unknown, value = nil
|
|
|
|
super(index , type , value )
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# named classes exist for slots that often accessed
|
|
|
|
|
2015-06-21 20:09:15 +02:00
|
|
|
# NextReturn is the NextMessageSlot(RETURN_INDEX)
|
2015-06-20 23:21:42 +02:00
|
|
|
class NextReturn < NextMessageSlot
|
|
|
|
def initialize type = Unknown, value = nil
|
2015-06-21 20:09:15 +02:00
|
|
|
super( RETURN_INDEX, type , value )
|
2015-06-20 23:21:42 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2015-06-21 20:09:15 +02:00
|
|
|
# NextSelf is the NextMessageSlot(SELF_INDEX)
|
2015-06-20 23:21:42 +02:00
|
|
|
class NextSelf < NextMessageSlot
|
|
|
|
def initialize type = Unknown, value = nil
|
2015-06-21 20:09:15 +02:00
|
|
|
super( SELF_INDEX , type , value )
|
2015-06-20 23:21:42 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# NextMessageName of the next message
|
|
|
|
class NextMessageName < NextMessageSlot
|
|
|
|
def initialize type = Unknown, value = nil
|
2015-06-21 20:09:15 +02:00
|
|
|
super( NAME_INDEX, type , value )
|
2015-06-20 23:21:42 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|