about summary refs log tree commit diff
path: root/src/comp/syntax
diff options
context:
space:
mode:
authorMarijn Haverbeke <marijnh@gmail.com>2011-07-26 10:53:24 +0200
committerMarijn Haverbeke <marijnh@gmail.com>2011-07-26 10:53:24 +0200
commite123366bffa69ee3877335b9ca979b0cc301d07c (patch)
tree2e3494d0303e987dce3f995af0c0b391622b67a9 /src/comp/syntax
parentce808bbc6f2ac387f2d2ab597629b81cdd0932a9 (diff)
Make the pretty-printer output new-style syntax for records
Diffstat (limited to 'src/comp/syntax')
-rw-r--r--src/comp/syntax/print/pprust.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/comp/syntax/print/pprust.rs b/src/comp/syntax/print/pprust.rs
index 6fdc4e64724..1f67be116d3 100644
--- a/src/comp/syntax/print/pprust.rs
+++ b/src/comp/syntax/print/pprust.rs
@@ -301,18 +301,18 @@ fn print_type(&ps s, &ast::ty ty) {
             pclose(s);
         }
         case (ast::ty_rec(?fields)) {
-            word(s.s, "rec");
-            popen(s);
+            word(s.s, "{");
             fn print_field(&ps s, &ast::ty_field f) {
                 cbox(s, indent_unit);
-                print_mt(s, f.node.mt);
-                space(s.s);
+                print_mutability(s, f.node.mt.mut);
                 word(s.s, f.node.ident);
+                word_space(s, ":");
+                print_type(s, *f.node.mt.ty);
                 end(s);
             }
             fn get_span(&ast::ty_field f) -> codemap::span { ret f.span; }
             commasep_cmnt(s, consistent, fields, print_field, get_span);
-            pclose(s);
+            word(s.s, "}");
         }
         case (ast::ty_fn(?proto, ?inputs, ?output, ?cf, ?constrs)) {
             print_ty_fn(s, proto, none[str], inputs, output, cf, constrs);
@@ -707,15 +707,14 @@ fn print_expr(&ps s, &@ast::expr expr) {
                 ibox(s, indent_unit);
                 if (field.node.mut == ast::mut) { word_nbsp(s, "mutable"); }
                 word(s.s, field.node.ident);
-                word(s.s, "=");
+                word_space(s, ":");
                 print_expr(s, field.node.expr);
                 end(s);
             }
             fn get_span(&ast::field field) -> codemap::span {
                 ret field.span;
             }
-            word(s.s, "rec");
-            popen(s);
+            word(s.s, "{");
             commasep_cmnt(s, consistent, fields, print_field, get_span);
             alt (wth) {
                 case (some(?expr)) {
@@ -727,7 +726,7 @@ fn print_expr(&ps s, &@ast::expr expr) {
                 }
                 case (_) { }
             }
-            pclose(s);
+            word(s.s, "}");
         }
         case (ast::expr_call(?func, ?args)) {
             print_expr(s, func);