private static void loadVar(CILInstructions code, int stackType, int index, int paramCount) { if (index < paramCount) { switch (index) { case 0: code.Inst(Op.ldarg_0); break; case 1: code.Inst(Op.ldarg_1); break; case 2: code.Inst(Op.ldarg_2); break; case 3: code.Inst(Op.ldarg_3); break; default: code.IntInst(IntOp.ldarg, index); break; } } else { index -= paramCount; switch (index) { case 0: code.Inst(Op.ldloc_0); break; case 1: code.Inst(Op.ldloc_1); break; case 2: code.Inst(Op.ldloc_2); break; case 3: code.Inst(Op.ldloc_3); break; default: code.IntInst(IntOp.ldloc, index); break; } } }