activate() public method

public activate ( IoObject self, IoObject target, IoObject locals, IoMessage m ) : IoObject
self IoObject
target IoObject
locals IoObject
m IoMessage
return IoObject
コード例 #1
0
        // 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);
        }
コード例 #2
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));
        }
コード例 #3
0
ファイル: IoBlock.cs プロジェクト: stangelandcl/io-clr
 public static IoObject slotCall(IoObject target, IoObject locals, IoObject message)
 {
     return target.activate(target, locals, locals, message as IoMessage, locals);
 }
コード例 #4
0
 public virtual IoObject activate(IoObject self, IoObject target, IoObject locals, IoMessage m, IoObject slotContext)
 {
     return(self.isActivatable ? self.activate(self, target, locals, m) : self);
 }
コード例 #5
0
ファイル: IoObject.cs プロジェクト: devaspot/io
 public virtual IoObject activate(IoObject self, IoObject target, IoObject locals, IoMessage m, IoObject slotContext)
 {
     return self.isActivatable ? self.activate(self, target, locals, m) : self;
 }
コード例 #6
0
ファイル: IoBlock.cs プロジェクト: MilkTool/io-clr
 public static IoObject slotCall(IoObject target, IoObject locals, IoObject message)
 {
     return(target.activate(target, locals, locals, message as IoMessage, locals));
 }