예제 #1
0
        public override bool Equals(object obj)
        {
            InstantiationTypeSignature other = obj as InstantiationTypeSignature;

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

            if (_args.Length != other._args.Length || !Object.Equals(_typeDef, other._typeDef))
            {
                return(false);
            }

            for (uint iArg = 0; iArg < _args.Length; iArg++)
            {
                if (!Object.Equals(_args[iArg], other._args[iArg]))
                {
                    return(false);
                }
            }

            return(true);
        }
예제 #2
0
        public Vertex GetInstantiationTypeSignature(Vertex typeDef, Vertex[] arguments)
        {
            InstantiationTypeSignature sig = new InstantiationTypeSignature(typeDef, arguments);

            return(Unify(sig));
        }