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;
}
}
}