about summary refs log tree commit diff
path: root/src/libsyntax/parse/parser.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-08-07 15:34:07 -0700
committerPatrick Walton <pcwalton@mimiga.net>2012-08-07 15:35:05 -0700
commitdeaef48675c34f3a63ded090058dfe6cbe60c3c6 (patch)
treee4b3f23226443637b19d5fb0c30a4f84232e5383 /src/libsyntax/parse/parser.rs
parent1a6dadad5bc7a0bb85f67ddaa9d38d9d4f741057 (diff)
downloadrust-deaef48675c34f3a63ded090058dfe6cbe60c3c6.tar.gz
rust-deaef48675c34f3a63ded090058dfe6cbe60c3c6.zip
rustc: Split out struct bodies into a separate "struct_def" type in the AST
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
-rw-r--r--src/libsyntax/parse/parser.rs16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 5feb753657d..52a93a60361 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -2581,18 +2581,28 @@ class parser {
         match the_ctor {
           some((ct_d, ct_attrs, ct_b, ct_s)) => {
             (class_name,
-             item_class(ty_params, traits, ms, some({
+             item_class({
+                traits: traits,
+                members: ms,
+                ctor: some({
                  node: {id: ctor_id,
                         attrs: ct_attrs,
                         self_id: self.get_id(),
                         dec: ct_d,
                         body: ct_b},
-                 span: ct_s}), actual_dtor),
+                 span: ct_s}),
+                dtor: actual_dtor
+             }, ty_params),
              none)
           }
           none => {
             (class_name,
-             item_class(ty_params, traits, ms, none, actual_dtor),
+             item_class({
+                    traits: traits,
+                    members: ms,
+                    ctor: none,
+                    dtor: actual_dtor
+             }, ty_params),
              none)
           }
         }