about summary refs log tree commit diff
path: root/src/libsyntax/print
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2012-10-08 09:00:23 -0700
committerTim Chevalier <chevalier@alum.wellesley.edu>2012-10-08 09:00:23 -0700
commit7bdab1e4a45bf734e4b25a2d58f4ee21ee5c9fdc (patch)
treeb24c818211cffeb1f2b8cc7bf7bc31fe3eecfdc9 /src/libsyntax/print
parent79603f573e504163db7b5c2afa0917c27e3f98ed (diff)
downloadrust-7bdab1e4a45bf734e4b25a2d58f4ee21ee5c9fdc.tar.gz
rust-7bdab1e4a45bf734e4b25a2d58f4ee21ee5c9fdc.zip
Revert "remove ctor from ast"
This reverts commit ed3689d57c988e1dd477930d957c4308c37d1a64.
Diffstat (limited to 'src/libsyntax/print')
-rw-r--r--src/libsyntax/print/pprust.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index b98014f421b..bff356e5cb7 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -653,6 +653,18 @@ fn print_struct(s: ps, struct_def: @ast::struct_def, tps: ~[ast::ty_param],
     }
     bopen(s);
     hardbreak_if_not_bol(s);
+    do struct_def.ctor.iter |ctor| {
+      maybe_print_comment(s, ctor.span.lo);
+      print_outer_attributes(s, ctor.node.attrs);
+      // Doesn't call head because there shouldn't be a space after new.
+      cbox(s, indent_unit);
+      ibox(s, 4);
+      word(s.s, ~"new(");
+      print_fn_args(s, ctor.node.dec, ~[], None);
+      word(s.s, ~")");
+      space(s.s);
+      print_block(s, ctor.node.body);
+    }
     do struct_def.dtor.iter |dtor| {
       hardbreak_if_not_bol(s);
       maybe_print_comment(s, dtor.span.lo);