/// <summary> /// 将函数参数压栈,准备调用函数 /// </summary> /// <param name="parameter"></param> internal void PushFuncParameter(ScriptObject parameter) { Contract.Assert(parameter != null); int funcIndex = _funcPushStack.Peek(); FuncPart func = stack[funcIndex].Value.RefPartHandle.ConverToFuncPart(); //当前栈中的函数参数小于函数参数大小 if (Top - (funcIndex + 1) < func.ArgsCount) { Push(parameter); } else if (func.IsUncertainParameters == true) //是不定参数 { if (Top - (funcIndex + 1) == func.ArgsCount) { ScriptObject s = ScriptObject.CreateTable(); stack.Add(s); } ScriptObject args = stack[Top - 1]; args.AddInArray(parameter); } //否则,则省略掉传入参数 }
public static ScriptObject TableAddInArray(ScriptObject table, ScriptObject value) { table.AddInArray(value); return(table); }
public static ScriptObject TableAddInArray(ScriptObject table,ScriptObject value) { table.AddInArray(value); return table; }