pre-intern some fixed names so they can be used as constants
This commit is contained in:
parent
9a7890d73a
commit
7317bf8792
2 changed files with 20 additions and 2 deletions
|
@ -279,9 +279,18 @@ pure fn is_bar(t: token) -> bool {
|
|||
|
||||
type ident_interner = util::interner::interner<@~str>;
|
||||
|
||||
mod special_idents {
|
||||
const underscore : uint = 0u;
|
||||
const anon : uint = 1u;
|
||||
const destr : uint = 2u; // 'drop', but that's reserved
|
||||
}
|
||||
|
||||
fn mk_ident_interner() -> ident_interner {
|
||||
let rv = @interner::mk::<@~str>(|x| str::hash(*x),
|
||||
|x,y| str::eq(*x, *y));
|
||||
/* the indices here must correspond to the numbers in special_idents */
|
||||
let init_vec = ~[@~"_", @~"anon", @~"drop"];
|
||||
|
||||
let rv = @interner::mk_prefill::<@~str>(|x| str::hash(*x),
|
||||
|x,y| str::eq(*x, *y), init_vec);
|
||||
rv
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue