public void createSlots() { if (slots == null) { slots = new IoSeqObjectHashtable(state); } if (state == null) { //~//int x = 0; } }
// Call Public Raw Methods public override IoObject activate(IoObject sender, IoObject target, IoObject locals, IoMessage m, IoObject slotContext) { IoState state = sender.state; IoBlock self = sender as IoBlock; IoObjectArrayList argNames = self.argNames; IoObject scope = self.scope; IoObject blockLocals = state.localsProto.clone(state); IoObject result = null; IoObject callObject = null; blockLocals.isLocals = true; if (scope == null) { scope = target; } blockLocals.createSlots(); callObject = IoCall.with(state, locals, target, m, slotContext, self, null /*state.currentCoroutine*/); IoSeqObjectHashtable bslots = blockLocals.slots; bslots["call"] = callObject; bslots["self"] = scope; bslots["updateSlot"] = state.localsUpdateSlotCFunc; if (argNames != null) { for (int i = 0; i < argNames.Count; i++) { IoSeq name = argNames[i] as IoSeq; IoObject arg = m.localsValueArgAt(locals, i); blockLocals.slots[name] = arg; } } if (self.containedMessage != null) { result = self.containedMessage.localsPerformOn(blockLocals, blockLocals); } if (self.passStops == IoCallStatus.MESSAGE_STOP_STATUS_NORMAL) { } return(result); }
public void createSlots() { if (slots == null) slots = new IoSeqObjectHashtable(state); if (state == null) { int x = 0; } }