public override IoObject proto(IoState state) { IoList pro = new IoList(); pro.state = state; // pro.tag.cloneFunc = new IoTagCloneFunc(pro.clone); pro.createSlots(); pro.createProtos(); pro.list = new IoObjectArrayList(); state.registerProtoWithFunc(pro.name, new IoStateProto(pro.name, pro, new IoStateProtoFunc(pro.proto))); pro.protos.Add(state.protoWithInitFunc("Object")); IoCFunction[] methodTable = new IoCFunction[] { new IoCFunction("indexOf", new IoMethodFunc(IoList.slotIndexOf)), new IoCFunction("capacity", new IoMethodFunc(IoList.slotSize)), new IoCFunction("size", new IoMethodFunc(IoList.slotSize)), new IoCFunction("removeAll", new IoMethodFunc(IoList.slotRemoveAll)), new IoCFunction("append", new IoMethodFunc(IoList.slotAppend)), new IoCFunction("appendSeq", new IoMethodFunc(IoList.slotAppendSeq)), new IoCFunction("with", new IoMethodFunc(IoList.slotWith)), new IoCFunction("prepend", new IoMethodFunc(IoList.slotPrepend)), new IoCFunction("push", new IoMethodFunc(IoList.slotAppend)), new IoCFunction("at", new IoMethodFunc(IoList.slotAt)), new IoCFunction("last", new IoMethodFunc(IoList.slotLast)), new IoCFunction("pop", new IoMethodFunc(IoList.slotPop)), new IoCFunction("removeAt", new IoMethodFunc(IoList.slotRemoveAt)), new IoCFunction("reverseForeach", new IoMethodFunc(IoList.slotReverseForeach)), }; pro.addTaglessMethodTable(state, methodTable); return(pro); }
public override IoObject clone(IoState state) { IoObject proto = state.protoWithInitFunc(name); IoList result = new IoList(); uniqueIdCounter++; result.uniqueId = uniqueIdCounter; result.list = new IoObjectArrayList(); result.state = state; result.createProtos(); result.createSlots(); result.protos.Add(proto); return(result); }
public override IoObject proto(IoState state) { IoList pro = new IoList(); pro.state = state; // pro.tag.cloneFunc = new IoTagCloneFunc(pro.clone); pro.createSlots(); pro.createProtos(); pro.list = new IoObjectList(); state.registerProtoWithFunc(pro.name, new IoStateProto(pro.name, pro, new IoStateProtoFunc(pro.proto))); pro.protos.Add(state.protoWithInitFunc("Object")); IoCFunction[] methodTable = new IoCFunction[] { new IoCFunction("indexOf", new IoMethodFunc(IoList.slotIndexOf)), new IoCFunction("capacity", new IoMethodFunc(IoList.slotSize)), new IoCFunction("size", new IoMethodFunc(IoList.slotSize)), new IoCFunction("removeAll", new IoMethodFunc(IoList.slotRemoveAll)), new IoCFunction("append", new IoMethodFunc(IoList.slotAppend)), new IoCFunction("appendStr", new IoMethodFunc(IoList.slotAppendStr)), new IoCFunction("with", new IoMethodFunc(IoList.slotWith)), new IoCFunction("prepend", new IoMethodFunc(IoList.slotPrepend)), new IoCFunction("push", new IoMethodFunc(IoList.slotAppend)), new IoCFunction("at", new IoMethodFunc(IoList.slotAt)), new IoCFunction("last", new IoMethodFunc(IoList.slotLast)), new IoCFunction("pop", new IoMethodFunc(IoList.slotPop)), new IoCFunction("removeAt", new IoMethodFunc(IoList.slotRemoveAt)), new IoCFunction("reverseForeach", new IoMethodFunc(IoList.slotReverseForeach)), }; pro.addTaglessMethodTable(state, methodTable); return pro; }
public override IoObject clone(IoState state) { IoObject proto = state.protoWithInitFunc(name); IoList result = new IoList(); uniqueIdCounter++; result.uniqueId = uniqueIdCounter; result.list = new IoObjectList(); result.state = state; result.createProtos(); result.createSlots(); result.protos.Add(proto); return result; }