TriAxis.RunSharp.CodeGen.EmitLdargHelper C# (CSharp) 메소드

EmitLdargHelper() 보호된 메소드

protected EmitLdargHelper ( ushort index ) : void
index ushort
리턴 void
        protected internal void EmitLdargHelper(ushort index)
        {
            OpCode opCode;

            switch (index)
            {
                case 0: opCode = OpCodes.Ldarg_0; break;
                case 1: opCode = OpCodes.Ldarg_1; break;
                case 2: opCode = OpCodes.Ldarg_2; break;
                case 3: opCode = OpCodes.Ldarg_3; break;
                default:
                    if (index <= byte.MaxValue)
                        IL.Emit(OpCodes.Ldarg_S, (byte)index);
                    else
                        IL.Emit(OpCodes.Ldarg, index);
                    return;
            }

            IL.Emit(opCode);
        }

Usage Example

예제 #1
0
            internal override void EmitGet(CodeGen g)
            {
                g.EmitLdargHelper(index);

                if (IsReference)
                {
                    g.EmitLdindHelper(Type);
                }
            }
All Usage Examples Of TriAxis.RunSharp.CodeGen::EmitLdargHelper