// Object Public Raw Methods public IoObject initClone(IoObject target, IoObject locals, IoMessage m, IoObject newObject) { IoObject context = null; IoObject initSlot = target.rawGetSlotContext(target.state.initMessage.messageName, out context); if (initSlot != null) { initSlot.activate(initSlot, newObject, locals, target.state.initMessage, context); } return(newObject); }
public IoObject forward(IoObject target, IoObject locals, IoObject message) { IoMessage m = message as IoMessage; IoObject context = null; IoObject forwardSlot = target.rawGetSlotContext(target.state.forwardMessage.messageName, out context); //if (forwardSlot != null) // return forwardSlot.activate(forwardSlot, locals, m, context); Console.WriteLine("Exception: '{0}' does not respond to message '{1}'", target.name, m.messageName.ToString()); return(target); }
public IoObject activate(IoObject self, IoObject target, IoObject locals, IoMessage m) { if (self.isActivatable) { IoObject context = null; IoObject slotValue = self.rawGetSlotContext(self.state.activateMessage.messageName, out context); if (slotValue != null) { // ?? �� �� � ����� ??? return(activate(slotValue, target, locals, m, context)); } return(state.ioNil); } else { return(self); } }
public IoObject perform(IoObject target, IoObject locals, IoObject message) { IoMessage msg = message as IoMessage; IoObject context = null; IoObject slotValue = target.rawGetSlotContext(msg.messageName, out context); if (slotValue == null) { slotValue = target.clrGetSlot(msg); } if (slotValue != null) { return(slotValue.activate(slotValue, target, locals, msg, context)); } if (target.isLocals) { return(IoObject.slotLocalsForward(target, locals, message)); } return(target.forward(target, locals, message)); }
public IoObject perform(IoObject target, IoObject locals, IoObject message) { IoMessage msg = message as IoMessage; IoObject context = null; IoObject slotValue = target.rawGetSlotContext(msg.messageName, out context); if (slotValue == null) slotValue = target.clrGetSlot(msg); if (slotValue != null) { return slotValue.activate(slotValue, target, locals, msg, context); } if (target.isLocals) { return IoObject.slotLocalsForward(target, locals, message); } return target.forward(target, locals, message); }
// Object Public Raw Methods public IoObject initClone(IoObject target, IoObject locals, IoMessage m, IoObject newObject) { IoObject context = null; IoObject initSlot = target.rawGetSlotContext(target.state.initMessage.messageName, out context); if (initSlot != null) initSlot.activate(initSlot, newObject, locals, target.state.initMessage, context); return newObject; }
public IoObject forward(IoObject target, IoObject locals, IoObject message) { IoMessage m = message as IoMessage; IoObject context = null; IoObject forwardSlot = target.rawGetSlotContext(target.state.forwardMessage.messageName, out context); //if (forwardSlot != null) // return forwardSlot.activate(forwardSlot, locals, m, context); Console.WriteLine("'{0}' does not respond to message '{1}'", target.name, m.messageName.ToString()); return target; }
public IoObject activate(IoObject self, IoObject target, IoObject locals, IoMessage m) { if (self.isActivatable) { IoObject context = null; IoObject slotValue = self.rawGetSlotContext(self.state.activateMessage.messageName, out context); if (slotValue != null) { // ?? мы шо в цикле ??? return activate(slotValue, target, locals, m, context); } return state.ioNil; } else return self; }