Ejemplo n.º 1
0
        public virtual IGraphQueryStep VisitEdgeQueryStep(EdgeQueryStep eqs)
        {
            _token.ThrowIfCancellationRequested();
            var left  = Visit(eqs.Left);
            var right = Visit(eqs.Right);

            if (ReferenceEquals(left, eqs.Left) && ReferenceEquals(right, eqs.Right))
            {
                return(eqs);
            }

            return(new EdgeQueryStep(left, right, eqs, _token));
        }
Ejemplo n.º 2
0
 public override void VisitEdgeQueryStep(EdgeQueryStep eqs)
 {
     _writer.WriteStartObject();
     _writer.WritePropertyName("Type");
     _writer.WriteString("EdgeQueryStep");
     _writer.WriteComma();
     _writer.WritePropertyName("Left");
     Visit(eqs.Left);
     _writer.WriteComma();
     _writer.WritePropertyName("Right");
     Visit(eqs.Right);
     _writer.WriteEndObject();
 }
        public override async Task VisitEdgeQueryStepAsync(EdgeQueryStep eqs)
        {
            _writer.WriteStartObject();
            _writer.WritePropertyName("Type");
            _writer.WriteString("EdgeQueryStep");
            _writer.WriteComma();
            _writer.WritePropertyName("Left");
            await VisitAsync(eqs.Left);

            _writer.WriteComma();
            _writer.WritePropertyName("Right");
            await VisitAsync(eqs.Right);

            _writer.WriteEndObject();
        }
Ejemplo n.º 4
0
        public EdgeQueryStep(IGraphQueryStep left, IGraphQueryStep right, EdgeQueryStep eqs, OperationCancelToken token)
        {
            _left    = left;
            _right   = right;
            _aliases = new HashSet <string>();

            _aliases.UnionWith(_left.GetAllAliases());
            _aliases.UnionWith(_right.GetAllAliases());
            _aliases.Add(eqs._edgePath.Alias.Value);

            _edgePath        = eqs._edgePath;
            _queryParameters = eqs._queryParameters;
            _edgesExpression = eqs._edgesExpression;


            _outputAlias = _right.GetOutputAlias();
            _token       = token;
        }
Ejemplo n.º 5
0
 public virtual async Task VisitEdgeQueryStepAsync(EdgeQueryStep eqs)
 {
     await VisitAsync(eqs.Left);
     await VisitAsync(eqs.Right);
 }
Ejemplo n.º 6
0
 public virtual void VisitEdgeQueryStep(EdgeQueryStep eqs)
 {
     Visit(eqs.Left);
     Visit(eqs.Right);
 }