diff options
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/mod.rs | 144 |
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() { |
