Exemplo n.º 1
0
        internal override TOutput Accept <TInput, TOutput>(CellTreeVisitor <TInput, TOutput> visitor, TInput param)
        {
            switch (OpType)
            {
            case CellTreeOpType.IJ:
                return(visitor.VisitInnerJoin(this, param));

            case CellTreeOpType.LOJ:
                return(visitor.VisitLeftOuterJoin(this, param));

            case CellTreeOpType.Union:
                return(visitor.VisitUnion(this, param));

            case CellTreeOpType.FOJ:
                return(visitor.VisitFullOuterJoin(this, param));

            case CellTreeOpType.LASJ:
                return(visitor.VisitLeftAntiSemiJoin(this, param));

            default:
                Debug.Fail("Unexpected optype: " + OpType);
                // To satsfy the compiler
                return(visitor.VisitInnerJoin(this, param));
            }
        }