public override void VisitEdgeMatcher(EdgeQueryStep.EdgeMatcher em) { _token.ThrowIfCancellationRequested(); _isVisitingRight = true; base.VisitEdgeMatcher(em); _isVisitingRight = false; }
public override async Task VisitEdgeMatcherAsync(EdgeQueryStep.EdgeMatcher em) { _writer.WritePropertyName("Next"); await VisitAsync(em._parent.Right); _writer.WriteComma(); }
//This method is only invoked from recursive step and fix the problem that we don't visit edges after recursive steps public virtual void VisitEdgeMatcher(EdgeQueryStep.EdgeMatcher em) { _token.ThrowIfCancellationRequested(); var newRight = Visit(em._parent.Right); if (ReferenceEquals(newRight, em._parent.Right) == false) { em._parent.SetRight(newRight); } }
public virtual async Task VisitEdgeMatcherAsync(EdgeQueryStep.EdgeMatcher em) { await VisitAsync(em._parent.Right); }
public virtual void VisitEdgeMatcher(EdgeQueryStep.EdgeMatcher em) { Visit(em._parent.Right); }
public override void VisitEdgeMatcher(EdgeQueryStep.EdgeMatcher em) { _writer.WritePropertyName("Next"); Visit(em._parent.Right); _writer.WriteComma(); }