Inheritance: QueryExpressionFromOrJoinClause
示例#1
0
	void QueryExpressionJoinClause(
#line  2487 "cs.ATG" 
out QueryExpressionJoinClause jc) {

#line  2488 "cs.ATG" 
		jc = new QueryExpressionJoinClause(); jc.StartLocation = la.Location; 
		Expression expr;
		CollectionRangeVariable variable;
		
		Expect(142);
		QueryExpressionFromOrJoinClause(
#line  2494 "cs.ATG" 
out variable);
		Expect(143);
		Expr(
#line  2496 "cs.ATG" 
out expr);

#line  2496 "cs.ATG" 
		jc.OnExpression = expr; 
		Expect(144);
		Expr(
#line  2498 "cs.ATG" 
out expr);

#line  2498 "cs.ATG" 
		jc.EqualsExpression = expr; 
		if (la.kind == 136) {
			lexer.NextToken();
			Identifier();

#line  2500 "cs.ATG" 
			jc.IntoIdentifier = t.val; 
		}

#line  2503 "cs.ATG" 
		jc.EndLocation = t.EndLocation;
		jc.Source = variable;
		
	}
		public override object VisitQueryExpressionJoinClause(QueryExpressionJoinClause joinClause, object data)
		{
			if (string.IsNullOrEmpty(joinClause.IntoIdentifier)) {
				AddVariable(joinClause.Type, joinClause.Identifier,
				            joinClause.StartLocation, CurrentEndLocation,
				            false, true, joinClause.InExpression, null, false, joinClause.StartLocation);
			} else {
				AddVariable(joinClause.Type, joinClause.Identifier,
				            joinClause.StartLocation, joinClause.EndLocation,
				            false, true, joinClause.InExpression, null, false, joinClause.StartLocation);
				
				AddVariable(joinClause.Type, joinClause.IntoIdentifier,
				            joinClause.StartLocation, CurrentEndLocation,
				            false, false, joinClause.InExpression, null, false, joinClause.StartLocation);
			}
			return base.VisitQueryExpressionJoinClause(joinClause, data);
		}
		public object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data)
		{
			AddError(queryExpressionJoinClause, "QueryExpressionJoinClause is not supported.");
			return null;
		}
示例#4
0
	void QueryExpressionJoinClause(
//#line  2445 "cs.ATG" 
out QueryExpressionJoinClause jc) {

//#line  2446 "cs.ATG" 
		jc = new QueryExpressionJoinClause(); jc.StartLocation = la.Location; 
		Expression expr;
		CollectionRangeVariable variable;
		
		Expect(142);
		QueryExpressionFromOrJoinClause(
//#line  2452 "cs.ATG" 
out variable);
		Expect(143);
		Expr(
//#line  2454 "cs.ATG" 
out expr);

//#line  2454 "cs.ATG" 
		jc.OnExpression = expr; 
		Expect(144);
		Expr(
//#line  2456 "cs.ATG" 
out expr);

//#line  2456 "cs.ATG" 
		jc.EqualsExpression = expr; 
		if (la.kind == 136) {
			lexer.NextToken();
			Identifier();

//#line  2458 "cs.ATG" 
			jc.IntoIdentifier = t.val; 
		}

//#line  2461 "cs.ATG" 
		jc.EndLocation = t.EndLocation;
		jc.Source = variable;
		
	}
		public virtual object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) {
			Debug.Assert((queryExpressionJoinClause != null));
			Debug.Assert((queryExpressionJoinClause.OnExpression != null));
			Debug.Assert((queryExpressionJoinClause.EqualsExpression != null));
			Debug.Assert((queryExpressionJoinClause.Source != null));
			nodeStack.Push(queryExpressionJoinClause.OnExpression);
			queryExpressionJoinClause.OnExpression.AcceptVisitor(this, data);
			queryExpressionJoinClause.OnExpression = ((Expression)(nodeStack.Pop()));
			nodeStack.Push(queryExpressionJoinClause.EqualsExpression);
			queryExpressionJoinClause.EqualsExpression.AcceptVisitor(this, data);
			queryExpressionJoinClause.EqualsExpression = ((Expression)(nodeStack.Pop()));
			nodeStack.Push(queryExpressionJoinClause.Source);
			queryExpressionJoinClause.Source.AcceptVisitor(this, data);
			queryExpressionJoinClause.Source = ((CollectionRangeVariable)(nodeStack.Pop()));
			return null;
		}
示例#6
0
	void QueryExpressionJoinClause(
#line  2450 "Frames/cs.ATG" 
out QueryExpressionJoinClause jc) {

#line  2451 "Frames/cs.ATG" 
		jc = new QueryExpressionJoinClause(); jc.StartLocation = la.Location; 
		Expression expr;
		
		Expect(142);
		QueryExpressionFromOrJoinClause(
#line  2456 "Frames/cs.ATG" 
jc);
		Expect(143);
		Expr(
#line  2458 "Frames/cs.ATG" 
out expr);

#line  2458 "Frames/cs.ATG" 
		jc.OnExpression = expr; 
		Expect(144);
		Expr(
#line  2460 "Frames/cs.ATG" 
out expr);

#line  2460 "Frames/cs.ATG" 
		jc.EqualsExpression = expr; 
		if (la.kind == 136) {
			lexer.NextToken();
			Identifier();

#line  2462 "Frames/cs.ATG" 
			jc.IntoIdentifier = t.val; 
		}

#line  2464 "Frames/cs.ATG" 
		jc.EndLocation = t.EndLocation; 
	}
示例#7
0
	void QueryExpressionJoinClause(
#line  2415 "cs.ATG" 
out QueryExpressionJoinClause jc) {

#line  2416 "cs.ATG" 
		jc = new QueryExpressionJoinClause(); jc.StartLocation = la.Location; 
		Expression expr;
		
		Expect(142);
		QueryExpressionFromOrJoinClause(
#line  2421 "cs.ATG" 
jc);
		Expect(143);
		Expr(
#line  2423 "cs.ATG" 
out expr);

#line  2423 "cs.ATG" 
		jc.OnExpression = expr; 
		Expect(144);
		Expr(
#line  2425 "cs.ATG" 
out expr);

#line  2425 "cs.ATG" 
		jc.EqualsExpression = expr; 
		if (la.kind == 136) {
			lexer.NextToken();
			Identifier();

#line  2427 "cs.ATG" 
			jc.IntoIdentifier = t.val; 
		}

#line  2429 "cs.ATG" 
		jc.EndLocation = t.EndLocation; 
	}
		public sealed override object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) {
			this.BeginVisit(queryExpressionJoinClause);
			object result = this.TrackedVisitQueryExpressionJoinClause(queryExpressionJoinClause, data);
			this.EndVisit(queryExpressionJoinClause);
			return result;
		}
 public object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data)
 {
     throw new NotImplementedException ();
 }
示例#10
0
 public virtual object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data)
 {
     Debug.Assert((queryExpressionJoinClause != null));
     Debug.Assert((queryExpressionJoinClause.Type != null));
     Debug.Assert((queryExpressionJoinClause.InExpression != null));
     Debug.Assert((queryExpressionJoinClause.OnExpression != null));
     Debug.Assert((queryExpressionJoinClause.EqualsExpression != null));
     queryExpressionJoinClause.Type.AcceptVisitor(this, data);
     queryExpressionJoinClause.InExpression.AcceptVisitor(this, data);
     queryExpressionJoinClause.OnExpression.AcceptVisitor(this, data);
     return queryExpressionJoinClause.EqualsExpression.AcceptVisitor(this, data);
 }
 public virtual bool VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object d)
 {
     if ((queryExpressionJoinClause == null)) {
         return SetFailure();
     }
     if ((d == null)) {
         return SetFailure();
     }
     if ((queryExpressionJoinClause.Type == null)) {
         return SetFailure();
     }
     if ((queryExpressionJoinClause.InExpression == null)) {
         return SetFailure();
     }
     if ((queryExpressionJoinClause.OnExpression == null)) {
         return SetFailure();
     }
     if ((queryExpressionJoinClause.EqualsExpression == null)) {
         return SetFailure();
     }
     if(queryExpressionJoinClause.GetType() != d.GetType()) {return SetFailure();}
     var data = (QueryExpressionJoinClause)d;
     if (!IsMatch(queryExpressionJoinClause, data)) {
         return SetFailure();
     }
     queryExpressionJoinClause.Type.AcceptVisitor(this, data.Type);
     queryExpressionJoinClause.InExpression.AcceptVisitor(this, data.InExpression);
     queryExpressionJoinClause.OnExpression.AcceptVisitor(this, data.OnExpression);
     return queryExpressionJoinClause.EqualsExpression.AcceptVisitor(this, data.EqualsExpression);
 }
示例#12
0
        public override object VisitQueryExpressionJoinClause(QueryExpressionJoinClause joinClause, object data)
        {
            if (string.IsNullOrEmpty(joinClause.IntoIdentifier)) {
                QueryExpression parentExpression = joinClause.Parent as QueryExpression;
                if (parentExpression != null) {
                    AddVariable(joinClause.Type, joinClause.Identifier,
                                parentExpression.StartLocation, parentExpression.EndLocation,
                                false, true, joinClause.InExpression);
                }
            } else {
                AddVariable(joinClause.Type, joinClause.Identifier,
                            joinClause.StartLocation, joinClause.EndLocation,
                            false, true, joinClause.InExpression);

                QueryExpression parentExpression = joinClause.Parent as QueryExpression;
                if (parentExpression != null) {
                    AddVariable(joinClause.Type, joinClause.IntoIdentifier,
                                parentExpression.StartLocation, parentExpression.EndLocation,
                                false, false, joinClause.InExpression);
                }
            }
            return base.VisitQueryExpressionJoinClause(joinClause, data);
        }
示例#13
0
		public override object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data)
		{
			return base.VisitQueryExpressionJoinClause(queryExpressionJoinClause, data);
		}
示例#14
0
		public virtual object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) {
			throw new global::System.NotImplementedException("QueryExpressionJoinClause");
		}
		public virtual object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) {
			Debug.Assert((queryExpressionJoinClause != null));
			Debug.Assert((queryExpressionJoinClause.Type != null));
			Debug.Assert((queryExpressionJoinClause.InExpression != null));
			Debug.Assert((queryExpressionJoinClause.OnExpression != null));
			Debug.Assert((queryExpressionJoinClause.EqualsExpression != null));
			nodeStack.Push(queryExpressionJoinClause.Type);
			queryExpressionJoinClause.Type.AcceptVisitor(this, data);
			queryExpressionJoinClause.Type = ((TypeReference)(nodeStack.Pop()));
			nodeStack.Push(queryExpressionJoinClause.InExpression);
			queryExpressionJoinClause.InExpression.AcceptVisitor(this, data);
			queryExpressionJoinClause.InExpression = ((Expression)(nodeStack.Pop()));
			nodeStack.Push(queryExpressionJoinClause.OnExpression);
			queryExpressionJoinClause.OnExpression.AcceptVisitor(this, data);
			queryExpressionJoinClause.OnExpression = ((Expression)(nodeStack.Pop()));
			nodeStack.Push(queryExpressionJoinClause.EqualsExpression);
			queryExpressionJoinClause.EqualsExpression.AcceptVisitor(this, data);
			queryExpressionJoinClause.EqualsExpression = ((Expression)(nodeStack.Pop()));
			return null;
		}
		public virtual object TrackedVisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) {
			return base.VisitQueryExpressionJoinClause(queryExpressionJoinClause, data);
		}
示例#17
0
 public virtual object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) {
     throw CreateException(queryExpressionJoinClause);
 }
 public override object TrackedVisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data)
 {
     return null;
 }
 private bool IsMatch(QueryExpressionJoinClause left, QueryExpressionJoinClause data)
 {
     return left.IntoIdentifier == data.IntoIdentifier;
 }