clrGetSlot() public method

public clrGetSlot ( IoMessage message ) : IoObject
message IoMessage
return IoObject
コード例 #1
0
        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));
        }
コード例 #2
0
ファイル: IoObject.cs プロジェクト: devaspot/io
        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);
        }