public MultiContinuationBuilder(TOuterQuery outer, TAnonymousQuery anonymous, FastImmutableList <IGremlinQueryBase> continuations, ContinuationFlags flags)
 {
     _outer         = outer;
     _flags         = flags;
     _anonymous     = anonymous;
     _continuations = continuations;
 }
 public SingleContinuationBuilder(TOuterQuery outer, TAnonymousQuery anonymous, IGremlinQueryBase continuation, ContinuationFlags flags)
 {
     _outer        = outer;
     _flags        = flags;
     _anonymous    = anonymous;
     _continuation = continuation;
 }
예제 #3
0
        public static Traversal Rewrite(this Traversal traversal, ContinuationFlags flags)
        {
            if (flags.HasFlag(ContinuationFlags.Filter))
            {
                if (traversal.Count == 1 && traversal[0] is FilterStep.ByTraversalStep filterStep)
                {
                    return(filterStep.Traversal.Rewrite(flags));
                }

                if (traversal.RewriteForIsContext() is { } rewrittenTraversal)
                {
                    return(rewrittenTraversal.Rewrite(flags));
                }
            }

            return(traversal);
        }
예제 #4
0
 public ContinuationBuilder(TOuterQuery outer, TAnonymousQuery anonymous, ContinuationFlags flags)
 {
     _outer     = outer;
     _flags     = flags;
     _anonymous = anonymous;
 }