diff options
| author | Seiichi Uchida <seuchida@gmail.com> | 2018-01-27 16:15:00 +0900 |
|---|---|---|
| committer | Seiichi Uchida <seuchida@gmail.com> | 2018-02-18 00:10:40 +0900 |
| commit | 0bddba9248674fe9fde68d3e31fcc9afee7b505c (patch) | |
| tree | f4f331479bbc1cfe706d9b167dfbfcf560fb95a1 /src/libsyntax/parse/parser.rs | |
| parent | 01a70c65892eea8cdf9d6a5f72ea003897eb61c6 (diff) | |
| download | rust-0bddba9248674fe9fde68d3e31fcc9afee7b505c.tar.gz rust-0bddba9248674fe9fde68d3e31fcc9afee7b505c.zip | |
Add a span field to Visibility::Restricted
This span covers the whole visibility expression: e.g. `pub (in path)`.
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index effc5f75f6a..230c0bff917 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -5710,8 +5710,12 @@ impl<'a> Parser<'a> { self.bump(); // `(` self.bump(); // `in` let path = self.parse_path(PathStyle::Mod)?.default_to_global(); // `path` - let vis = Visibility::Restricted { path: P(path), id: ast::DUMMY_NODE_ID }; self.expect(&token::CloseDelim(token::Paren))?; // `)` + let vis = Visibility::Restricted { + path: P(path), + id: ast::DUMMY_NODE_ID, + span: self.prev_span, + }; return Ok(vis) } else if self.look_ahead(2, |t| t == &token::CloseDelim(token::Paren)) && self.look_ahead(1, |t| t.is_keyword(keywords::Super) || @@ -5720,8 +5724,12 @@ impl<'a> Parser<'a> { // `pub(self)` or `pub(super)` self.bump(); // `(` let path = self.parse_path(PathStyle::Mod)?.default_to_global(); // `super`/`self` - let vis = Visibility::Restricted { path: P(path), id: ast::DUMMY_NODE_ID }; self.expect(&token::CloseDelim(token::Paren))?; // `)` + let vis = Visibility::Restricted { + path: P(path), + id: ast::DUMMY_NODE_ID, + span: self.prev_span, + }; return Ok(vis) } else if !can_take_tuple { // Provide this diagnostic if this is not a tuple struct // `pub(something) fn ...` or `struct X { pub(something) y: Z }` |
