Skip to content

Commit 4c03e23

Browse files
committed
---
yaml --- r: 13396 b: refs/heads/master c: 21087bf h: refs/heads/master v: v3
1 parent 8f71e36 commit 4c03e23

File tree

6 files changed

+22
-19
lines changed

6 files changed

+22
-19
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 8fea5260c2f62fe24e9d86b461d5580d3f217952
2+
refs/heads/master: 21087bf1a5120739dc865e18d4500a16a8a16648
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
55
refs/heads/try: 2898dcc5d97da9427ac367542382b6239d9c0bbf

trunk/src/libsyntax/parse.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ fn new_parser_from_source_str(sess: parse_sess, cfg: ast::crate_cfg,
134134
let filemap = codemap::new_filemap_w_substr
135135
(name, ss, source, sess.chpos, sess.byte_pos);
136136
sess.cm.files.push(filemap);
137-
let itr = @interner::mk(str::hash, str::eq);
137+
let itr = @interner::mk::<@str>({|x|str::hash(*x)}, {|x,y|str::eq(*x, *y)});
138138
let rdr = lexer::new_reader(sess.span_diagnostic,
139139
filemap, itr);
140140
ret parser(sess, cfg, rdr, ftype);
@@ -152,7 +152,7 @@ fn new_parser_from_file(sess: parse_sess, cfg: ast::crate_cfg, +path: str,
152152
let src = @copy result::unwrap(res);
153153
let filemap = codemap::new_filemap(path, src, sess.chpos, sess.byte_pos);
154154
sess.cm.files.push(filemap);
155-
let itr = @interner::mk(str::hash, str::eq);
155+
let itr = @interner::mk::<@str>({|x|str::hash(*x)}, {|x,y|str::eq(*x, *y)});
156156
let rdr = lexer::new_reader(sess.span_diagnostic, filemap, itr);
157157
ret parser(sess, cfg, rdr, ftype);
158158
}

trunk/src/libsyntax/parse/comments.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,10 @@ fn gather_comments_and_literals(span_diagnostic: diagnostic::span_handler,
169169
srdr: io::reader) ->
170170
{cmnts: [cmnt], lits: [lit]} {
171171
let src = @str::from_bytes(srdr.read_whole_stream());
172-
let itr = @interner::mk::<str>(str::hash, str::eq);
172+
let itr = @interner::mk::<@str>(
173+
{|x|str::hash(*x)},
174+
{|x,y|str::eq(*x, *y)}
175+
);
173176
let rdr = new_reader(span_diagnostic,
174177
codemap::new_filemap(path, src, 0u, 0u), itr);
175178
let mut comments: [cmnt] = [];

trunk/src/libsyntax/parse/lexer.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ type reader = @{
1212
mut curr: char,
1313
mut chpos: uint,
1414
filemap: codemap::filemap,
15-
interner: @interner::interner<str>
15+
interner: @interner::interner<@str>
1616
};
1717

1818
impl reader for reader {
@@ -55,7 +55,7 @@ impl reader for reader {
5555

5656
fn new_reader(span_diagnostic: diagnostic::span_handler,
5757
filemap: codemap::filemap,
58-
itr: @interner::interner<str>) -> reader {
58+
itr: @interner::interner<@str>) -> reader {
5959
let r = @{span_diagnostic: span_diagnostic, src: filemap.src,
6060
mut col: 0u, mut pos: 0u, mut curr: -1 as char,
6161
mut chpos: filemap.start_pos.ch,
@@ -260,12 +260,12 @@ fn scan_number(c: char, rdr: reader) -> token::token {
260260
if c == '3' && n == '2' {
261261
rdr.bump();
262262
rdr.bump();
263-
ret token::LIT_FLOAT(intern(*rdr.interner, num_str),
263+
ret token::LIT_FLOAT(intern(*rdr.interner, @num_str),
264264
ast::ty_f32);
265265
} else if c == '6' && n == '4' {
266266
rdr.bump();
267267
rdr.bump();
268-
ret token::LIT_FLOAT(intern(*rdr.interner, num_str),
268+
ret token::LIT_FLOAT(intern(*rdr.interner, @num_str),
269269
ast::ty_f64);
270270
/* FIXME: if this is out of range for either a 32-bit or
271271
64-bit float, it won't be noticed till the back-end (Issue #2252)
@@ -275,7 +275,7 @@ fn scan_number(c: char, rdr: reader) -> token::token {
275275
}
276276
}
277277
if is_float {
278-
ret token::LIT_FLOAT(interner::intern(*rdr.interner, num_str),
278+
ret token::LIT_FLOAT(intern(*rdr.interner, @num_str),
279279
ast::ty_f);
280280
} else {
281281
if str::len(num_str) == 0u {
@@ -329,8 +329,8 @@ fn next_token_inner(rdr: reader) -> token::token {
329329
let is_mod_name = c == ':' && rdr.next() == ':';
330330

331331
// FIXME: perform NFKC normalization here. (Issue #2253)
332-
ret token::IDENT(interner::intern::<str>(*rdr.interner,
333-
accum_str), is_mod_name);
332+
ret token::IDENT(interner::intern(*rdr.interner,
333+
@accum_str), is_mod_name);
334334
}
335335
if is_dec_digit(c) {
336336
ret scan_number(c, rdr);
@@ -494,8 +494,8 @@ fn next_token_inner(rdr: reader) -> token::token {
494494
}
495495
}
496496
rdr.bump();
497-
ret token::LIT_STR(interner::intern::<str>(*rdr.interner,
498-
accum_str));
497+
ret token::LIT_STR(interner::intern(*rdr.interner,
498+
@accum_str));
499499
}
500500
'-' {
501501
if rdr.next() == '>' {

trunk/src/libsyntax/parse/parser.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import lexer::reader;
1010
import prec::{as_prec, token_to_binop};
1111
import attr::parser_attr;
1212
import common::{seq_sep, seq_sep_opt, seq_sep_none, token_to_str};
13-
import common::{parser_common};
13+
import common::*;//{parser_common};
1414
import dvec::{dvec, extensions};
1515

1616
export file_type;
@@ -151,7 +151,7 @@ class parser {
151151
self.sess.span_diagnostic.span_warn(copy self.span, m)
152152
}
153153
fn get_str(i: token::str_num) -> str {
154-
interner::get(*self.reader.interner, i)
154+
*interner::get(*self.reader.interner, i)
155155
}
156156
fn get_id() -> node_id { next_node_id(self.sess) }
157157

trunk/src/libsyntax/parse/token.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ fn binop_to_str(o: binop) -> str {
8383
}
8484
}
8585
86-
fn to_str(in: interner<str>, t: token) -> str {
86+
fn to_str(in: interner<@str>, t: token) -> str {
8787
alt t {
8888
EQ { ret "="; }
8989
LT { ret "<"; }
@@ -133,17 +133,17 @@ fn to_str(in: interner<str>, t: token) -> str {
133133
ret uint::to_str(u as uint, 10u) + ast_util::uint_ty_to_str(t);
134134
}
135135
LIT_FLOAT(s, t) {
136-
ret interner::get::<str>(in, s) +
136+
ret *interner::get(in, s) +
137137
ast_util::float_ty_to_str(t);
138138
}
139139
LIT_STR(s) {
140140
ret "\""
141-
+ str::escape_default(interner::get::<str>(in, s))
141+
+ str::escape_default(*interner::get(in, s))
142142
+ "\"";
143143
}
144144
/* Name components */
145145
IDENT(s, _) {
146-
ret interner::get::<str>(in, s);
146+
ret *interner::get(in, s);
147147
}
148148
UNDERSCORE { ret "_"; }
149149
EOF { ret "<eof>"; }

0 commit comments

Comments
 (0)