AddSentinel() 공개 메소드

public AddSentinel ( ) : void
리턴 void
예제 #1
0
        internal override SignatureHelper GetMemberRefSignature(
            CallingConventions call,
            Type returnType,
            Type[] parameterTypes,
            Type[] optionalParameterTypes)
        {
            SignatureHelper sig = SignatureHelper.GetMethodSigHelper(call, returnType);

            if (parameterTypes != null)
            {
                foreach (Type t in parameterTypes)
                {
                    sig.AddArgument(t);
                }
            }
            if (optionalParameterTypes != null && optionalParameterTypes.Length != 0)
            {
                // add the sentinel
                sig.AddSentinel();
                foreach (Type t in optionalParameterTypes)
                {
                    sig.AddArgument(t);
                }
            }
            return(sig);
        }
예제 #2
0
        internal override SignatureHelper GetMemberRefSignature(CallingConventions call, Type returnType, Type[] parameterTypes, Type[] optionalParameterTypes)
        {
            int length;
            int num2;

            if (parameterTypes == null)
            {
                length = 0;
            }
            else
            {
                length = parameterTypes.Length;
            }
            SignatureHelper methodSigHelper = SignatureHelper.GetMethodSigHelper(call, returnType);

            for (num2 = 0; num2 < length; num2++)
            {
                methodSigHelper.AddArgument(parameterTypes[num2]);
            }
            if ((optionalParameterTypes != null) && (optionalParameterTypes.Length != 0))
            {
                methodSigHelper.AddSentinel();
                for (num2 = 0; num2 < optionalParameterTypes.Length; num2++)
                {
                    methodSigHelper.AddArgument(optionalParameterTypes[num2]);
                }
            }
            return(methodSigHelper);
        }
예제 #3
0
        internal override SignatureHelper GetMemberRefSignature(CallingConventions call, Type returnType, Type[] parameterTypes, Type[] optionalParameterTypes)
        {
            int num;

            if (parameterTypes == null)
            {
                num = 0;
            }
            else
            {
                num = parameterTypes.Length;
            }
            SignatureHelper methodSigHelper = SignatureHelper.GetMethodSigHelper(call, returnType);

            for (int i = 0; i < num; i++)
            {
                methodSigHelper.AddArgument(parameterTypes[i]);
            }
            if (optionalParameterTypes != null && optionalParameterTypes.Length != 0)
            {
                methodSigHelper.AddSentinel();
                for (int i = 0; i < optionalParameterTypes.Length; i++)
                {
                    methodSigHelper.AddArgument(optionalParameterTypes[i]);
                }
            }
            return(methodSigHelper);
        }
예제 #4
0
        internal override SignatureHelper GetMemberRefSignature(CallingConventions call, Type returnType, Type[] parameterTypes, Type[] optionalParameterTypes)
        {
            int             num             = parameterTypes != null ? parameterTypes.Length : 0;
            SignatureHelper methodSigHelper = SignatureHelper.GetMethodSigHelper(call, returnType);

            for (int index = 0; index < num; ++index)
            {
                methodSigHelper.AddArgument(parameterTypes[index]);
            }
            if (optionalParameterTypes != null && optionalParameterTypes.Length != 0)
            {
                methodSigHelper.AddSentinel();
                for (int index = 0; index < optionalParameterTypes.Length; ++index)
                {
                    methodSigHelper.AddArgument(optionalParameterTypes[index]);
                }
            }
            return(methodSigHelper);
        }