slot docs and rename

This commit is contained in:
Torsten Ruger
2015-06-21 00:21:42 +03:00
parent eeaf2d97de
commit 6867175bd1
9 changed files with 56 additions and 40 deletions

View File

@ -21,20 +21,24 @@ module Virtual
end
end
# named classes exist for slots that often accessed
# Return is the MessageSlot(MESSAGE_RETURN_VALUE)
class Return < MessageSlot
def initialize type = Unknown, value = nil
super( MESSAGE_RETURN_VALUE , type , value )
end
end
# Self is the MessageSlot(MESSAGE_SELF)
class Self < MessageSlot
def initialize type = Unknown, value = nil
super( MESSAGE_SELF , type , value )
end
end
# Name of the current message
class Name < MessageSlot
# MessageName of the current message
class MessageName < MessageSlot
def initialize type = Unknown, value = nil
super( MESSAGE_NAME , type , value )
end

View File

@ -1,25 +0,0 @@
module Virtual
class NewMessageSlot < Slot
def initialize index , type = Unknown, value = nil
super(index , type , value )
end
end
class NewReturn < NewMessageSlot
def initialize type = Unknown, value = nil
super( MESSAGE_RETURN_VALUE, type , value )
end
end
class NewSelf < NewMessageSlot
def initialize type = Unknown, value = nil
super( MESSAGE_SELF , type , value )
end
end
class NewName < NewMessageSlot
def initialize type = Unknown, value = nil
super( MESSAGE_NAME, type , value )
end
end
end

View File

@ -0,0 +1,37 @@
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
# NextReturn is the NextMessageSlot(MESSAGE_RETURN_VALUE)
class NextReturn < NextMessageSlot
def initialize type = Unknown, value = nil
super( MESSAGE_RETURN_VALUE, type , value )
end
end
# NextSelf is the NextMessageSlot(MESSAGE_SELF)
class NextSelf < NextMessageSlot
def initialize type = Unknown, value = nil
super( MESSAGE_SELF , type , value )
end
end
# NextMessageName of the next message
class NextMessageName < NextMessageSlot
def initialize type = Unknown, value = nil
super( MESSAGE_NAME, type , value )
end
end
end

View File

@ -5,7 +5,7 @@ module Virtual
# want to send a message it puts the new self into the next_message.
#
# The slot in the Message is represented by instances of class Self
# (and slots in the next_message by instances of NewSelf)
# (and slots in the next_message by instances of NextSelf)
#
# Additionally the current Self is represented as it's own top-level object.
# If self is an Object one can refer to it's instance variables as Slots in SelfSlot

View File

@ -8,7 +8,7 @@ module Virtual
# - the message that has been received: MessageSlot
# - the frame of the method that is executing (local variables): FrameSlot
# - self as an object: SelfSlot
# - a message that will be sent, NewMessageSlot
# - a message that will be sent, NextMessageSlot
# additionally frame, self and return are slots in Message and NewMessage