Ejemplo n.º 1
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)
        {
            var fs = callConv as FieldSig;

            if (fs != null)
            {
                return(ContainsGenericParameter(fs));
            }

            var mbs = callConv as MethodBaseSig;

            if (mbs != null)
            {
                return(ContainsGenericParameter(mbs));
            }

            var ls = callConv as LocalSig;

            if (ls != null)
            {
                return(ContainsGenericParameter(ls));
            }

            var gim = callConv as GenericInstMethodSig;

            if (gim != null)
            {
                return(ContainsGenericParameter(gim));
            }

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

            var fs = sig as FieldSig;

            if (fs != null)
            {
                Add(fs);
                return;
            }

            var mbs = sig as MethodBaseSig;

            if (mbs != null)
            {
                Add(mbs);
                return;
            }

            var ls = sig as LocalSig;

            if (ls != null)
            {
                Add(ls);
                return;
            }

            var gims = sig as GenericInstMethodSig;

            if (gims != null)
            {
                Add(gims);
                return;
            }
        }
Ejemplo n.º 3
0
        private void Add(CallingConventionSig sig)
        {
            var msig = sig as MethodBaseSig;

            if (msig != null)
            {
                Add(msig);
                return;
            }

            var fsig = sig as FieldSig;

            if (fsig != null)
            {
                Add(fsig);
                return;
            }

            var lsig = sig as LocalSig;

            if (lsig != null)
            {
                Add(lsig);
                return;
            }

            var gsig = sig as GenericInstMethodSig;

            if (gsig != null)
            {
                Add(gsig);
                return;
            }

            Debug.Assert(sig == null);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Gets the <see cref="CallingConventionSig.IsDefault"/> property
 /// </summary>
 /// <param name="sig">this</param>
 /// <returns>The type's <see cref="CallingConventionSig.IsDefault"/> property or
 /// <c>false</c> if input is<c>null</c></returns>
 public static bool GetIsDefault(this CallingConventionSig sig)
 {
     return(sig == null ? false : sig.IsDefault);
 }