about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-09-16 17:55:46 -0700
committerbors <bors@rust-lang.org>2013-09-16 17:55:46 -0700
commit2f96c22a21299cfe5860b0bb6fdd1af8ac500b11 (patch)
treee59d320266889c4933d29f42cce423484133c8fd /src/libsyntax/parse
parent38d4f48f0a185cc27769a6526668baa31aeee6b9 (diff)
parentd0e0c336d081005da157882e95f4bb57f3bd70b8 (diff)
downloadrust-2f96c22a21299cfe5860b0bb6fdd1af8ac500b11.tar.gz
rust-2f96c22a21299cfe5860b0bb6fdd1af8ac500b11.zip
auto merge of #9231 : cmr/rust/enum_encoding, r=catamorphism
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/mod.rs144
1 files changed, 122 insertions, 22 deletions
diff --git a/src/libsyntax/parse/mod.rs b/src/libsyntax/parse/mod.rs
index f7c76fee180..9645dab4e8b 100644
--- a/src/libsyntax/parse/mod.rs
+++ b/src/libsyntax/parse/mod.rs
@@ -398,30 +398,130 @@ mod test {
     #[test] fn string_to_tts_1 () {
         let (tts,_ps) = string_to_tts_and_sess(@"fn a (b : int) { b; }");
         assert_eq!(to_json_str(@tts),
-                   ~"[\
-                [\"tt_tok\",null,[\"IDENT\",\"fn\",false]],\
-                [\"tt_tok\",null,[\"IDENT\",\"a\",false]],\
-                [\
-                    \"tt_delim\",\
-                    [\
-                        [\"tt_tok\",null,\"LPAREN\"],\
-                        [\"tt_tok\",null,[\"IDENT\",\"b\",false]],\
-                        [\"tt_tok\",null,\"COLON\"],\
-                        [\"tt_tok\",null,[\"IDENT\",\"int\",false]],\
-                        [\"tt_tok\",null,\"RPAREN\"]\
+        ~"[\
+    {\
+        \"variant\":\"tt_tok\",\
+        \"fields\":[\
+            null,\
+            {\
+                \"variant\":\"IDENT\",\
+                \"fields\":[\
+                    \"fn\",\
+                    false\
+                ]\
+            }\
+        ]\
+    },\
+    {\
+        \"variant\":\"tt_tok\",\
+        \"fields\":[\
+            null,\
+            {\
+                \"variant\":\"IDENT\",\
+                \"fields\":[\
+                    \"a\",\
+                    false\
+                ]\
+            }\
+        ]\
+    },\
+    {\
+        \"variant\":\"tt_delim\",\
+        \"fields\":[\
+            [\
+                {\
+                    \"variant\":\"tt_tok\",\
+                    \"fields\":[\
+                        null,\
+                        \"LPAREN\"\
                     ]\
-                ],\
-                [\
-                    \"tt_delim\",\
-                    [\
-                        [\"tt_tok\",null,\"LBRACE\"],\
-                        [\"tt_tok\",null,[\"IDENT\",\"b\",false]],\
-                        [\"tt_tok\",null,\"SEMI\"],\
-                        [\"tt_tok\",null,\"RBRACE\"]\
+                },\
+                {\
+                    \"variant\":\"tt_tok\",\
+                    \"fields\":[\
+                        null,\
+                        {\
+                            \"variant\":\"IDENT\",\
+                            \"fields\":[\
+                                \"b\",\
+                                false\
+                            ]\
+                        }\
                     ]\
-                ]\
-            ]"
-                  );
+                },\
+                {\
+                    \"variant\":\"tt_tok\",\
+                    \"fields\":[\
+                        null,\
+                        \"COLON\"\
+                    ]\
+                },\
+                {\
+                    \"variant\":\"tt_tok\",\
+                    \"fields\":[\
+                        null,\
+                        {\
+                            \"variant\":\"IDENT\",\
+                            \"fields\":[\
+                                \"int\",\
+                                false\
+                            ]\
+                        }\
+                    ]\
+                },\
+                {\
+                    \"variant\":\"tt_tok\",\
+                    \"fields\":[\
+                        null,\
+                        \"RPAREN\"\
+                    ]\
+                }\
+            ]\
+        ]\
+    },\
+    {\
+        \"variant\":\"tt_delim\",\
+        \"fields\":[\
+            [\
+                {\
+                    \"variant\":\"tt_tok\",\
+                    \"fields\":[\
+                        null,\
+                        \"LBRACE\"\
+                    ]\
+                },\
+                {\
+                    \"variant\":\"tt_tok\",\
+                    \"fields\":[\
+                        null,\
+                        {\
+                            \"variant\":\"IDENT\",\
+                            \"fields\":[\
+                                \"b\",\
+                                false\
+                            ]\
+                        }\
+                    ]\
+                },\
+                {\
+                    \"variant\":\"tt_tok\",\
+                    \"fields\":[\
+                        null,\
+                        \"SEMI\"\
+                    ]\
+                },\
+                {\
+                    \"variant\":\"tt_tok\",\
+                    \"fields\":[\
+                        null,\
+                        \"RBRACE\"\
+                    ]\
+                }\
+            ]\
+        ]\
+    }\
+]"
+        );
     }
 
     #[test] fn ret_expr() {