//^invariant select != null ^ groupBy != null; public QueryBody(List <FromWhereClause> /*!*/ fromWhere, OrderByClause orderBy, object /*!*/ selectGroupBy, IntoClause into) { Debug.Assert(fromWhere != null && (selectGroupBy is SelectClause || selectGroupBy is GroupByClause)); this.fromWhere = fromWhere; this.orderBy = orderBy; this.select = selectGroupBy as SelectClause; this.groupBy = selectGroupBy as GroupByClause; this.into = into; }
virtual public void VisitIntoClause(Linq.IntoClause x) { VisitElement(x.KeyVar); VisitElement(x.ValueVar); VisitQueryBody(x.NextQuery); }
//^invariant select != null ^ groupBy != null; public QueryBody(List<FromWhereClause>/*!*/ fromWhere, OrderByClause orderBy, object/*!*/ selectGroupBy, IntoClause into) { Debug.Assert(fromWhere != null && (selectGroupBy is SelectClause || selectGroupBy is GroupByClause)); this.fromWhere = fromWhere; this.orderBy = orderBy; this.select = selectGroupBy as SelectClause; this.groupBy = selectGroupBy as GroupByClause; this.into = into; }