示例#1
0
        public override bool Equals(object obj)
        {
            MethodSigSignature other = obj as MethodSigSignature;

            if (other == null)
            {
                return(false);
            }

            if (!(
                    _callingConvention == other._callingConvention &&
                    _genericArgCount == other._genericArgCount &&
                    _parameters.Length == other._parameters.Length &&
                    Object.Equals(_returnType, other._returnType)))
            {
                return(false);
            }

            for (int i = 0; i < _parameters.Length; i++)
            {
                if (!Object.Equals(_parameters[i], other._parameters[i]))
                {
                    return(false);
                }
            }

            return(true);
        }
示例#2
0
        public Vertex GetMethodSigSignature(uint callingConvention, uint genericArgCount, Vertex returnType, Vertex[] parameters)
        {
            MethodSigSignature sig = new MethodSigSignature(callingConvention, genericArgCount, returnType, parameters);

            return(Unify(sig));
        }