Skip to content

Commit 6375b77

Browse files
committed
Add Span to ast::WhereClause
1 parent 4a42ff4 commit 6375b77

File tree

6 files changed

+13
-2
lines changed

6 files changed

+13
-2
lines changed

src/libsyntax/ast.rs

+2
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,7 @@ impl Default for Generics {
321321
where_clause: WhereClause {
322322
id: DUMMY_NODE_ID,
323323
predicates: Vec::new(),
324+
span: DUMMY_SP,
324325
},
325326
span: DUMMY_SP,
326327
}
@@ -332,6 +333,7 @@ impl Default for Generics {
332333
pub struct WhereClause {
333334
pub id: NodeId,
334335
pub predicates: Vec<WherePredicate>,
336+
pub span: Span,
335337
}
336338

337339
/// A single predicate in a `where` clause

src/libsyntax/fold.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -736,14 +736,15 @@ pub fn noop_fold_generics<T: Folder>(Generics {ty_params, lifetimes, where_claus
736736
}
737737

738738
pub fn noop_fold_where_clause<T: Folder>(
739-
WhereClause {id, predicates}: WhereClause,
739+
WhereClause {id, predicates, span}: WhereClause,
740740
fld: &mut T)
741741
-> WhereClause {
742742
WhereClause {
743743
id: fld.new_id(id),
744744
predicates: predicates.move_map(|predicate| {
745745
fld.fold_where_predicate(predicate)
746-
})
746+
}),
747+
span: span,
747748
}
748749
}
749750

src/libsyntax/parse/mod.rs

+1
Original file line numberDiff line numberDiff line change
@@ -885,6 +885,7 @@ mod tests {
885885
where_clause: ast::WhereClause {
886886
id: ast::DUMMY_NODE_ID,
887887
predicates: Vec::new(),
888+
span: syntax_pos::DUMMY_SP,
888889
},
889890
span: syntax_pos::DUMMY_SP,
890891
},

src/libsyntax/parse/parser.rs

+4
Original file line numberDiff line numberDiff line change
@@ -4373,6 +4373,7 @@ impl<'a> Parser<'a> {
43734373
where_clause: WhereClause {
43744374
id: ast::DUMMY_NODE_ID,
43754375
predicates: Vec::new(),
4376+
span: syntax_pos::DUMMY_SP,
43764377
},
43774378
span: span_lo.to(self.prev_span),
43784379
})
@@ -4440,11 +4441,13 @@ impl<'a> Parser<'a> {
44404441
let mut where_clause = WhereClause {
44414442
id: ast::DUMMY_NODE_ID,
44424443
predicates: Vec::new(),
4444+
span: syntax_pos::DUMMY_SP,
44434445
};
44444446

44454447
if !self.eat_keyword(keywords::Where) {
44464448
return Ok(where_clause);
44474449
}
4450+
let lo = self.prev_span;
44484451

44494452
// This is a temporary future proofing.
44504453
//
@@ -4522,6 +4525,7 @@ impl<'a> Parser<'a> {
45224525
}
45234526
}
45244527

4528+
where_clause.span = lo.to(self.prev_span);
45254529
Ok(where_clause)
45264530
}
45274531

src/libsyntax/print/pprust.rs

+2
Original file line numberDiff line numberDiff line change
@@ -1041,6 +1041,7 @@ impl<'a> State<'a> {
10411041
where_clause: ast::WhereClause {
10421042
id: ast::DUMMY_NODE_ID,
10431043
predicates: Vec::new(),
1044+
span: syntax_pos::DUMMY_SP,
10441045
},
10451046
span: syntax_pos::DUMMY_SP,
10461047
};
@@ -2983,6 +2984,7 @@ impl<'a> State<'a> {
29832984
where_clause: ast::WhereClause {
29842985
id: ast::DUMMY_NODE_ID,
29852986
predicates: Vec::new(),
2987+
span: syntax_pos::DUMMY_SP,
29862988
},
29872989
span: syntax_pos::DUMMY_SP,
29882990
};

src/libsyntax_ext/deriving/generic/ty.rs

+1
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ fn mk_generics(lifetimes: Vec<ast::LifetimeDef>, ty_params: Vec<ast::TyParam>, s
216216
where_clause: ast::WhereClause {
217217
id: ast::DUMMY_NODE_ID,
218218
predicates: Vec::new(),
219+
span: span,
219220
},
220221
span: span,
221222
}

0 commit comments

Comments
 (0)