internal void GenerateStore(LocalStructure local) { var lb = local.GainLocal(); if (lb.LocalIndex <= 255) { switch (lb.LocalIndex) { case 0: Generator.Emit(OpCodes.Stloc_0); break; case 1: Generator.Emit(OpCodes.Stloc_1); break; case 2: Generator.Emit(OpCodes.Stloc_2); break; case 3: Generator.Emit(OpCodes.Stloc_3); break; default: Generator.Emit(OpCodes.Stloc_S, lb); break; } } else { Generator.Emit(OpCodes.Stloc, lb); } }
internal void GenerateLoadAddress(LocalStructure local) { var lb = local.GainLocal(); if (lb.LocalIndex <= 255) { Generator.Emit(OpCodes.Ldloca_S, lb); } else { Generator.Emit(OpCodes.Ldloca, lb); } }