예제 #1
0
        public override DataType UnifyTypeVariables(TypeVariable tA, TypeVariable tB)
        {
            var dt = Unify(tA.Class.DataType, tB.Class.DataType);
            var eq = store.MergeClasses(tA, tB);

            eq.DataType = dt;
            return(eq.Representative);
        }
예제 #2
0
        public override DataType UnifyTypeVariables(TypeVariable tA, TypeVariable tB)
        {
            if (++nestedCalls > 300)        //$DEBUG
            {
                nestedCalls.ToString();
            }
            var dt = Unify(tA.Class.DataType, tB.Class.DataType);
            var eq = store.MergeClasses(tA, tB);

            eq.DataType = dt;
            --nestedCalls;
            return(eq.Representative);
        }