diff options
| author | bors <bors@rust-lang.org> | 2013-07-17 09:49:43 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-07-17 09:49:43 -0700 |
| commit | 9c1e530bde3a8123f4da645a92b8a2b12fd3ecab (patch) | |
| tree | e440e06f5647de72b7d7c8b44ab2b29eb47b1ea2 /src/libsyntax/parse | |
| parent | 93c270c63d158805a068b8e7ced660df1051c3ca (diff) | |
| parent | 0cc70743d2cf6edb782c1daa9b0f554484ed21eb (diff) | |
| download | rust-9c1e530bde3a8123f4da645a92b8a2b12fd3ecab.tar.gz rust-9c1e530bde3a8123f4da645a92b8a2b12fd3ecab.zip | |
auto merge of #7826 : michaelwoerister/rust/end_of_spanned, r=cmr
This is the first of a series of refactorings to get rid of the `codemap::spanned<T>` struct (see this thread for more information: https://mail.mozilla.org/pipermail/rust-dev/2013-July/004798.html). The changes in this PR should not change any semantics, just rename `ast::blk_` to `ast::blk` and add a span field to it. 95% of the changes were of the form `block.node.id` -> `block.id`. Only some transformations in `libsyntax::fold` where not entirely trivial.
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/classify.rs | 4 | ||||
| -rw-r--r-- | src/libsyntax/parse/mod.rs | 39 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 26 |
3 files changed, 32 insertions, 37 deletions
diff --git a/src/libsyntax/parse/classify.rs b/src/libsyntax/parse/classify.rs index 62b36b12f26..44497f72003 100644 --- a/src/libsyntax/parse/classify.rs +++ b/src/libsyntax/parse/classify.rs @@ -13,7 +13,6 @@ */ use ast; -use codemap; // does this expression require a semicolon to be treated // as a statement? The negation of this: 'can this expression @@ -40,8 +39,7 @@ pub fn expr_requires_semi_to_be_stmt(e: @ast::expr) -> bool { pub fn expr_is_simple_block(e: @ast::expr) -> bool { match e.node { ast::expr_block( - codemap::spanned { - node: ast::blk_ { rules: ast::default_blk, _ }, _ } + ast::blk { rules: ast::default_blk, _ } ) => true, _ => false } diff --git a/src/libsyntax/parse/mod.rs b/src/libsyntax/parse/mod.rs index 75d1f35bf38..40f1964bc9c 100644 --- a/src/libsyntax/parse/mod.rs +++ b/src/libsyntax/parse/mod.rs @@ -557,27 +557,26 @@ mod test { lifetimes: opt_vec::Empty, ty_params: opt_vec::Empty, }, - spanned{ + ast::blk { + view_items: ~[], + stmts: ~[@spanned{ + node: ast::stmt_semi(@ast::expr{ + id: 6, + node: ast::expr_path( + ast::Path{ + span:sp(17,18), + global:false, + idents:~[str_to_ident("b")], + rp:None, + types: ~[]}), + span: sp(17,18)}, + 7), // fixme + span: sp(17,18)}], + expr: None, + id: 8, // fixme + rules: ast::default_blk, // no idea span: sp(15,21), - node: ast::blk_{ - view_items: ~[], - stmts: ~[@spanned{ - node: ast::stmt_semi(@ast::expr{ - id: 6, - node: ast::expr_path( - ast::Path{ - span:sp(17,18), - global:false, - idents:~[str_to_ident("b")], - rp:None, - types: ~[]}), - span: sp(17,18)}, - 7), // fixme - span: sp(17,18)}], - expr: None, - id: 8, // fixme - rules: ast::default_blk // no idea - }}), + }), vis: ast::inherited, span: sp(0,21)})); } diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 05dda16214a..9e9071d6b8c 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -2245,15 +2245,15 @@ impl Parser { let lo = self.last_span.lo; let decl = parse_decl(); let body = parse_body(); - let fakeblock = ast::blk_ { + let fakeblock = ast::blk { view_items: ~[], stmts: ~[], expr: Some(body), id: self.get_id(), rules: default_blk, + span: body.span, }; - let fakeblock = spanned(body.span.lo, body.span.hi, - fakeblock); + return self.mk_expr(lo, body.span.hi, expr_fn_block(decl, fakeblock)); } @@ -2402,14 +2402,12 @@ impl Parser { self.eat(&token::COMMA); } - let blk = codemap::spanned { - node: ast::blk_ { - view_items: ~[], - stmts: ~[], - expr: Some(expr), - id: self.get_id(), - rules: default_blk, - }, + let blk = ast::blk { + view_items: ~[], + stmts: ~[], + expr: Some(expr), + id: self.get_id(), + rules: default_blk, span: expr.span, }; @@ -3120,14 +3118,14 @@ impl Parser { let hi = self.span.hi; self.bump(); - let bloc = ast::blk_ { + ast::blk { view_items: view_items, stmts: stmts, expr: expr, id: self.get_id(), rules: s, - }; - spanned(lo, hi, bloc) + span: mk_sp(lo, hi), + } } fn parse_optional_purity(&self) -> ast::purity { |
