From b81ea86530dfd9dff69815b099ba10be274830ea Mon Sep 17 00:00:00 2001 From: Michael Woerister Date: Fri, 23 Aug 2013 18:45:02 +0200 Subject: debuginfo: Support for variables captured in closures and closure type descriptions. --- src/libsyntax/ast_map.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/libsyntax') diff --git a/src/libsyntax/ast_map.rs b/src/libsyntax/ast_map.rs index e3023b919f8..518d0fb0c38 100644 --- a/src/libsyntax/ast_map.rs +++ b/src/libsyntax/ast_map.rs @@ -73,7 +73,7 @@ pub enum ast_node { node_variant(variant, @item, @path), node_expr(@Expr), node_stmt(@Stmt), - node_arg, + node_arg(@pat), node_local(Ident), node_block(Block), node_struct_ctor(@struct_def, @item, @path), @@ -171,7 +171,7 @@ impl Ctx { sp: codemap::Span, id: NodeId) { for a in decl.inputs.iter() { - self.map.insert(a.id, node_arg); + self.map.insert(a.id, node_arg(a.pat)); } visit::walk_fn(self, fk, decl, body, sp, id, ()); } @@ -487,8 +487,8 @@ pub fn node_id_to_str(map: map, id: NodeId, itr: @ident_interner) -> ~str { fmt!("stmt %s (id=%?)", pprust::stmt_to_str(stmt, itr), id) } - Some(&node_arg) => { - fmt!("arg (id=%?)", id) + Some(&node_arg(pat)) => { + fmt!("arg %s (id=%?)", pprust::pat_to_str(pat, itr), id) } Some(&node_local(ident)) => { fmt!("local (id=%?, name=%s)", id, itr.get(ident.name)) -- cgit 1.4.1-3-g733a5 From 5b94ae93f3d00f5afe3f1d957aad76173ed7e705 Mon Sep 17 00:00:00 2001 From: Michael Woerister Date: Wed, 4 Sep 2013 19:31:13 +0200 Subject: debuginfo: Fixed some merge fallout --- src/librustc/middle/trans/debuginfo.rs | 2 +- src/libsyntax/ast_map.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/libsyntax') diff --git a/src/librustc/middle/trans/debuginfo.rs b/src/librustc/middle/trans/debuginfo.rs index 112595d5576..646f71ec28a 100644 --- a/src/librustc/middle/trans/debuginfo.rs +++ b/src/librustc/middle/trans/debuginfo.rs @@ -245,7 +245,7 @@ pub fn create_captured_var_metadata(bcx: @mut Block, cx.sess.span_bug(span, "debuginfo::create_captured_var_metadata() - NodeId not found"); } Some(ast_map::node_local(ident)) => ident, - Some(ast_map::node_arg(@ast::pat { node: ast::pat_ident(_, ref path, _), _ })) => { + Some(ast_map::node_arg(@ast::Pat { node: ast::PatIdent(_, ref path, _), _ })) => { ast_util::path_to_ident(path) } _ => { diff --git a/src/libsyntax/ast_map.rs b/src/libsyntax/ast_map.rs index 518d0fb0c38..be67998ac5d 100644 --- a/src/libsyntax/ast_map.rs +++ b/src/libsyntax/ast_map.rs @@ -73,7 +73,7 @@ pub enum ast_node { node_variant(variant, @item, @path), node_expr(@Expr), node_stmt(@Stmt), - node_arg(@pat), + node_arg(@Pat), node_local(Ident), node_block(Block), node_struct_ctor(@struct_def, @item, @path), -- cgit 1.4.1-3-g733a5