private static IJsmExpression TryMakeInternal(Jsm.Opcode opcode, int param, IStack <IJsmExpression> stack) { switch (opcode) { case Jsm.Opcode.PSHN_L: return(new PSHN_L(param)); case Jsm.Opcode.PSHAC: return(new PSHAC(new Jsm.FieldObjectId(param))); case Jsm.Opcode.PSHI_L: return(new PSHI_L(new ScriptResultId(param))); case Jsm.Opcode.PSHM_B: return(new PSHM_B(new GlobalVariableId <byte>(param))); case Jsm.Opcode.PSHM_W: return(new PSHM_W(new GlobalVariableId <ushort>(param))); case Jsm.Opcode.PSHM_L: return(new PSHM_L(new GlobalVariableId <uint>(param))); case Jsm.Opcode.PSHSM_B: return(new PSHSM_B(new GlobalVariableId <sbyte>(param))); case Jsm.Opcode.PSHSM_W: return(new PSHSM_W(new GlobalVariableId <short>(param))); case Jsm.Opcode.PSHSM_L: return(new PSHSM_L(new GlobalVariableId <int>(param))); case Jsm.Opcode.CAL: return(CAL.Read(param, stack)); //case Opcode.MovieReady: // return new Instruction.MovieReady(stack.Pop(), stack.Pop()); } return(null); }
private static IJsmExpression TryMakeInternal(Jsm.Opcode opcode, Int32 param, IStack <IJsmExpression> stack) { switch (opcode) { case Jsm.Opcode.PSHN_L: return(new PSHN_L(param)); case Jsm.Opcode.PSHAC: return(new PSHAC(new Jsm.FieldObjectId(param))); case Jsm.Opcode.PSHI_L: return(new PSHI_L(new ScriptResultId(param))); case Jsm.Opcode.PSHM_B: return(new PSHM_B(new GlobalVariableId <Byte>(param))); case Jsm.Opcode.PSHM_W: return(new PSHM_W(new GlobalVariableId <UInt16>(param))); case Jsm.Opcode.PSHM_L: return(new PSHM_L(new GlobalVariableId <UInt32>(param))); case Jsm.Opcode.PSHSM_B: return(new PSHSM_B(new GlobalVariableId <SByte>(param))); case Jsm.Opcode.PSHSM_W: return(new PSHSM_W(new GlobalVariableId <Int16>(param))); case Jsm.Opcode.PSHSM_L: return(new PSHSM_L(new GlobalVariableId <Int32>(param))); case Jsm.Opcode.CAL: return(CAL.Read(param, stack)); //case Opcode.MOVIEREADY: // return new Instruction.MOVIEREADY(stack.Pop(), stack.Pop()); } return(null); }