예제 #1
0
		public virtual object VisitQueryExpressionJoinVBClause(QueryExpressionJoinVBClause queryExpressionJoinVBClause, object data) {
			Debug.Assert((queryExpressionJoinVBClause != null));
			Debug.Assert((queryExpressionJoinVBClause.JoinVariable != null));
			Debug.Assert((queryExpressionJoinVBClause.SubJoin != null));
			Debug.Assert((queryExpressionJoinVBClause.Conditions != null));
			queryExpressionJoinVBClause.JoinVariable.AcceptVisitor(this, data);
			queryExpressionJoinVBClause.SubJoin.AcceptVisitor(this, data);
			foreach (QueryExpressionJoinConditionVB o in queryExpressionJoinVBClause.Conditions) {
				Debug.Assert(o != null);
				o.AcceptVisitor(this, data);
			}
			return null;
		}
예제 #2
0
		public virtual object VisitQueryExpressionJoinVBClause(QueryExpressionJoinVBClause queryExpressionJoinVBClause, object data) {
			Debug.Assert((queryExpressionJoinVBClause != null));
			Debug.Assert((queryExpressionJoinVBClause.JoinVariable != null));
			Debug.Assert((queryExpressionJoinVBClause.SubJoin != null));
			Debug.Assert((queryExpressionJoinVBClause.Conditions != null));
			nodeStack.Push(queryExpressionJoinVBClause.JoinVariable);
			queryExpressionJoinVBClause.JoinVariable.AcceptVisitor(this, data);
			queryExpressionJoinVBClause.JoinVariable = ((CollectionRangeVariable)(nodeStack.Pop()));
			nodeStack.Push(queryExpressionJoinVBClause.SubJoin);
			queryExpressionJoinVBClause.SubJoin.AcceptVisitor(this, data);
			queryExpressionJoinVBClause.SubJoin = ((QueryExpressionJoinVBClause)(nodeStack.Pop()));
			for (int i = 0; i < queryExpressionJoinVBClause.Conditions.Count; i++) {
				QueryExpressionJoinConditionVB o = queryExpressionJoinVBClause.Conditions[i];
				Debug.Assert(o != null);
				nodeStack.Push(o);
				o.AcceptVisitor(this, data);
				o = (QueryExpressionJoinConditionVB)nodeStack.Pop();
				if (o == null)
					queryExpressionJoinVBClause.Conditions.RemoveAt(i--);
				else
					queryExpressionJoinVBClause.Conditions[i] = o;
			}
			return null;
		}
		public virtual object VisitQueryExpressionJoinVBClause(QueryExpressionJoinVBClause queryExpressionJoinVBClause, object data) {
			throw new global::System.NotImplementedException("QueryExpressionJoinVBClause");
		}
예제 #4
0
	void JoinQueryOperator(out QueryExpressionJoinVBClause joinClause) {
		joinClause = new QueryExpressionJoinVBClause();
		joinClause.StartLocation = la.Location;
		CollectionRangeVariable joinVariable = null;
		QueryExpressionJoinVBClause subJoin = null;
		QueryExpressionJoinConditionVB condition = null;


		Expect(146);
		CollectionRangeVariableDeclaration(out joinVariable);
		joinClause.JoinVariable = joinVariable;
		if (la.kind == 146) {
			JoinQueryOperator(out subJoin);
			joinClause.SubJoin = subJoin;
		}
		Expect(171);
		JoinCondition(out condition);
		SafeAdd(joinClause, joinClause.Conditions, condition);
		while (la.kind == 60) {
			Get();
			JoinCondition(out condition);
			SafeAdd(joinClause, joinClause.Conditions, condition);
		}
		joinClause.EndLocation = t.EndLocation;

	}
예제 #5
0
		public QueryExpressionJoinVBClause() {
			joinVariable = CollectionRangeVariable.Null;
			subJoin = QueryExpressionJoinVBClause.Null;
			conditions = new List<QueryExpressionJoinConditionVB>();
		}
예제 #6
0
		public QueryExpressionGroupJoinVBClause() {
			joinClause = QueryExpressionJoinVBClause.Null;
			intoVariables = new List<ExpressionRangeVariable>();
		}
예제 #7
0
		public sealed override object VisitQueryExpressionJoinVBClause(QueryExpressionJoinVBClause queryExpressionJoinVBClause, object data) {
			this.BeginVisit(queryExpressionJoinVBClause);
			object result = this.TrackedVisitQueryExpressionJoinVBClause(queryExpressionJoinVBClause, data);
			this.EndVisit(queryExpressionJoinVBClause);
			return result;
		}
예제 #8
0
		public virtual object TrackedVisitQueryExpressionJoinVBClause(QueryExpressionJoinVBClause queryExpressionJoinVBClause, object data) {
			return base.VisitQueryExpressionJoinVBClause(queryExpressionJoinVBClause, data);
		}