diff options
| author | John Clements <clements@racket-lang.org> | 2013-05-07 12:34:52 -0700 |
|---|---|---|
| committer | John Clements <clements@racket-lang.org> | 2013-05-20 11:49:21 -0700 |
| commit | 999f6926459294136b623b101c8a033ec8ec29db (patch) | |
| tree | 8d2acae15a07f0db03cd20a00b5e14f717ed10a2 /src/libsyntax/util/parser_testing.rs | |
| parent | fc4f304ef9916d691166592b3e49998594535c57 (diff) | |
| download | rust-999f6926459294136b623b101c8a033ec8ec29db.tar.gz rust-999f6926459294136b623b101c8a033ec8ec29db.zip | |
getting rid of interner_key! macro
Diffstat (limited to 'src/libsyntax/util/parser_testing.rs')
| -rw-r--r-- | src/libsyntax/util/parser_testing.rs | 48 |
1 files changed, 3 insertions, 45 deletions
diff --git a/src/libsyntax/util/parser_testing.rs b/src/libsyntax/util/parser_testing.rs index 12c28f096f6..1c2210c96b6 100644 --- a/src/libsyntax/util/parser_testing.rs +++ b/src/libsyntax/util/parser_testing.rs @@ -9,64 +9,22 @@ // except according to those terms. use core::option::{Option,None}; -use core::int; -use core::num::NumCast; -use codemap::CodeMap; use ast; use parse::parser::Parser; -use parse::token::{ident_interner, mk_fresh_ident_interner}; -use diagnostic::{mk_handler, mk_span_handler}; +use parse::{new_parse_sess}; use syntax::parse::{ParseSess,string_to_filemap,filemap_to_tts}; use syntax::parse::{new_parser_from_source_str}; -// add known names to interner for testing -fn mk_testing_interner() -> @ident_interner { - let i = mk_fresh_ident_interner(); - // baby hack; in order to put the identifiers - // 'a' and 'b' at known locations, we're going - // to fill up the interner to length 100. If - // the # of preloaded items on the interner - // ever gets larger than 100, we'll have to - // adjust this number (say, to 200) and - // change the numbers in the identifier - // test cases below. - - assert!(i.len() < 100); - for int::range(0,100-((i.len()).to_int())) |_dc| { - i.gensym(~"dontcare"); - } - i.intern("a"); - i.intern("b"); - i.intern("c"); - i.intern("d"); - i.intern("return"); - assert!(i.get(ast::ident{repr:101,ctxt:0}) == @~"b"); - i -} - -// make a parse_sess that's closed over a -// testing interner (where a -> 100, b -> 101) -fn mk_testing_parse_sess() -> @mut ParseSess { - let interner = mk_testing_interner(); - let cm = @CodeMap::new(); - @mut ParseSess { - cm: cm, - next_id: 1, - span_diagnostic: mk_span_handler(mk_handler(None), cm), - interner: interner, - } -} - // map a string to tts, using a made-up filename: return both the token_trees // and the ParseSess pub fn string_to_tts_and_sess (source_str : @~str) -> (~[ast::token_tree],@mut ParseSess) { - let ps = mk_testing_parse_sess(); + let ps = new_parse_sess(None); (filemap_to_tts(ps,string_to_filemap(ps,source_str,~"bogofile")),ps) } pub fn string_to_parser_and_sess(source_str: @~str) -> (Parser,@mut ParseSess) { - let ps = mk_testing_parse_sess(); + let ps = new_parse_sess(None); (new_parser_from_source_str(ps,~[],~"bogofile",source_str),ps) } |
