public virtual void Visit(ISingleGraphStep step) { switch (step) { case EdgeQueryStep.EdgeMatcher em: VisitEdgeMatcher(em); break; case null: case QueryQueryStep.QuerySingleStep _: case RecursionQueryStep.RecursionSingleStep _: break; } }
public virtual void Visit(ISingleGraphStep step) { _token.ThrowIfCancellationRequested(); switch (step) { case EdgeQueryStep.EdgeMatcher em: VisitEdgeMatcher(em); break; case null: case QueryQueryStep.QuerySingleStep _: case RecursionQueryStep.RecursionSingleStep _: break; } }
public virtual async Task VisitAsync(ISingleGraphStep step) { switch (step) { case EdgeQueryStep.EdgeMatcher em: await VisitEdgeMatcherAsync(em); break; case null: case QueryQueryStep.QuerySingleStep _: case RecursionQueryStep.RecursionSingleStep _: break; } }
public RecursionQueryStep(RecursionQueryStep rqs, IGraphQueryStep left, List <SingleEdgeMatcher> steps, OperationCancelToken token) { _left = left; _steps = steps; _recursive = rqs._recursive; _options = rqs._options; _next = rqs._next; _stepAliases.Add(left.GetOutputAlias()); foreach (var step in _steps) { if (step.Right == null) { continue; } _stepAliases.Add(step.Right.GetOutputAlias()); } _outputAlias = _stepAliases.Last(); _token = token; }
public void SetNext(ISingleGraphStep next) { _next = next; _next.AddAliases(_allLliases); }