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); }