Ejemplo n.º 1
0
        void Add(CallingConventionSig sig)
        {
            if (sig == null)
            {
                return;
            }

            if (sig is FieldSig fs)
            {
                Add(fs);
                return;
            }

            if (sig is MethodBaseSig mbs)
            {
                Add(mbs);
                return;
            }

            if (sig is LocalSig ls)
            {
                Add(ls);
                return;
            }

            if (sig is GenericInstMethodSig gims)
            {
                Add(gims);
                return;
            }
        }
Ejemplo n.º 2
0
        void Add(CallingConventionSig sig)
        {
            if (sig is MethodBaseSig msig)
            {
                Add(msig);
                return;
            }

            if (sig is FieldSig fsig)
            {
                Add(fsig);
                return;
            }

            if (sig is LocalSig lsig)
            {
                Add(lsig);
                return;
            }

            if (sig is GenericInstMethodSig gsig)
            {
                Add(gsig);
                return;
            }

            Debug.Assert(sig == null);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Checks whether <paramref name="callConv"/> contains a <see cref="GenericVar"/> or a
        /// <see cref="GenericMVar"/>.
        /// </summary>
        /// <param name="callConv">Calling convention signature</param>
        /// <returns><c>true</c> if <paramref name="callConv"/> contains a <see cref="GenericVar"/>
        /// or a <see cref="GenericMVar"/>.</returns>
        public static bool ContainsGenericParameter(CallingConventionSig callConv)
        {
            if (callConv is FieldSig fs)
            {
                return(ContainsGenericParameter(fs));
            }

            if (callConv is MethodBaseSig mbs)
            {
                return(ContainsGenericParameter(mbs));
            }

            if (callConv is LocalSig ls)
            {
                return(ContainsGenericParameter(ls));
            }

            if (callConv is GenericInstMethodSig gim)
            {
                return(ContainsGenericParameter(gim));
            }

            return(false);
        }