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));
            }
        }
 internal override TOutput Accept <TInput, TOutput>(CellTreeVisitor <TInput, TOutput> visitor, TInput param)
 {
     return(visitor.VisitLeaf(this, param));
 }
Exemplo n.º 3
0
 // Standard accept method for visitor pattern. TOutput is the return
 // type for visitor methods.
 internal abstract TOutput Accept <TInput, TOutput>(CellTreeVisitor <TInput, TOutput> visitor, TInput param);