Skip to content

Commit 3e954dc

Browse files
pcwaltonhuonw
authored andcommitted
---
yaml --- r: 102535 b: refs/heads/auto c: daf5e6f h: refs/heads/master i: 102533: 474c91e 102531: ae54909 102527: 17c407c v: v3
1 parent fa59fa5 commit 3e954dc

File tree

3 files changed

+48
-34
lines changed

3 files changed

+48
-34
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
1313
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1414
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1515
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
16-
refs/heads/auto: 986937425636c3174dfe11bb6309865e8a1e0350
16+
refs/heads/auto: daf5e6f6f4b268b70bfd0b03225cae909dcd374c
1717
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1818
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1919
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336

branches/auto/src/librustc/metadata/encoder.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ fn encode_reexported_static_methods(ecx: &EncodeContext,
490490
exp: &middle::resolve::Export2) {
491491
match ecx.tcx.items.find(exp.def_id.node) {
492492
Some(ast_map::NodeItem(item, path)) => {
493-
let original_name = ecx.tcx.sess.str_of(item.ident);
493+
let original_name = token::get_ident(item.ident.name);
494494

495495
//
496496
// We don't need to reexport static methods on items
@@ -502,7 +502,7 @@ fn encode_reexported_static_methods(ecx: &EncodeContext,
502502
// encoded metadata for static methods relative to Bar,
503503
// but not yet for Foo.
504504
//
505-
if mod_path != *path || exp.name != original_name {
505+
if mod_path != *path || original_name.get() != exp.name {
506506
if !encode_reexported_static_base_methods(ecx, ebml_w, exp) {
507507
if encode_reexported_static_trait_methods(ecx, ebml_w, exp) {
508508
debug!("(encode reexported static methods) {} \

branches/auto/src/librustc/middle/resolve.rs

Lines changed: 45 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ use syntax::ast::*;
2020
use syntax::ast;
2121
use syntax::ast_util::{def_id_of_def, local_def, mtwt_resolve};
2222
use syntax::ast_util::{path_to_ident, walk_pat, trait_method_to_ty_method};
23+
use syntax::parse::token::{IdentInterner, special_idents};
2324
use syntax::parse::token;
24-
use syntax::parse::token::{IdentInterner, interner_get};
25-
use syntax::parse::token::special_idents;
2625
use syntax::print::pprust::path_to_str;
2726
use syntax::codemap::{Span, DUMMY_SP, Pos};
2827
use syntax::opt_vec::OptVec;
@@ -53,7 +52,7 @@ pub type TraitMap = HashMap<NodeId,@RefCell<~[DefId]>>;
5352
pub type ExportMap2 = @RefCell<HashMap<NodeId, ~[Export2]>>;
5453

5554
pub struct Export2 {
56-
name: @str, // The name of the target.
55+
name: ~str, // The name of the target.
5756
def_id: DefId, // The definition of the target.
5857
}
5958

@@ -2114,24 +2113,26 @@ impl Resolver {
21142113
}
21152114

21162115
fn import_directive_subclass_to_str(&mut self,
2117-
subclass: ImportDirectiveSubclass)
2118-
-> @str {
2116+
subclass: ImportDirectiveSubclass)
2117+
-> ~str {
21192118
match subclass {
2120-
SingleImport(_target, source) => self.session.str_of(source),
2121-
GlobImport => @"*"
2119+
SingleImport(_target, source) => {
2120+
self.session.str_of(source).to_str()
2121+
}
2122+
GlobImport => ~"*"
21222123
}
21232124
}
21242125
21252126
fn import_path_to_str(&mut self,
2126-
idents: &[Ident],
2127-
subclass: ImportDirectiveSubclass)
2128-
-> @str {
2127+
idents: &[Ident],
2128+
subclass: ImportDirectiveSubclass)
2129+
-> ~str {
21292130
if idents.is_empty() {
21302131
self.import_directive_subclass_to_str(subclass)
21312132
} else {
21322133
(format!("{}::{}",
2133-
self.idents_to_str(idents),
2134-
self.import_directive_subclass_to_str(subclass))).to_managed()
2134+
self.idents_to_str(idents),
2135+
self.import_directive_subclass_to_str(subclass)))
21352136
}
21362137
}
21372138
@@ -2584,7 +2585,7 @@ impl Resolver {
25842585

25852586
debug!("(resolving glob import) writing resolution `{}` in `{}` \
25862587
to `{}`",
2587-
interner_get(name),
2588+
token::get_ident(name).get().to_str(),
25882589
self.module_to_str(containing_module),
25892590
self.module_to_str(module_));
25902591

@@ -3354,10 +3355,10 @@ impl Resolver {
33543355
match namebindings.def_for_namespace(ns) {
33553356
Some(d) => {
33563357
debug!("(computing exports) YES: export '{}' => {:?}",
3357-
interner_get(name),
3358+
token::get_ident(name).get().to_str(),
33583359
def_id_of_def(d));
33593360
exports2.push(Export2 {
3360-
name: interner_get(name),
3361+
name: token::get_ident(name).get().to_str(),
33613362
def_id: def_id_of_def(d)
33623363
});
33633364
}
@@ -3380,7 +3381,7 @@ impl Resolver {
33803381
match importresolution.target_for_namespace(ns) {
33813382
Some(target) => {
33823383
debug!("(computing exports) maybe export '{}'",
3383-
interner_get(*name));
3384+
token::get_ident(*name).get().to_str());
33843385
self.add_exports_of_namebindings(exports2,
33853386
*name,
33863387
target.bindings,
@@ -4155,31 +4156,37 @@ impl Resolver {
41554156
for (&key, &binding_0) in map_0.iter() {
41564157
match map_i.find(&key) {
41574158
None => {
4159+
let string = token::get_ident(key);
41584160
self.resolve_error(
41594161
p.span,
41604162
format!("variable `{}` from pattern \\#1 is \
41614163
not bound in pattern \\#{}",
4162-
interner_get(key), i + 1));
4164+
string.get(),
4165+
i + 1));
41634166
}
41644167
Some(binding_i) => {
41654168
if binding_0.binding_mode != binding_i.binding_mode {
4169+
let string = token::get_ident(key);
41664170
self.resolve_error(
41674171
binding_i.span,
41684172
format!("variable `{}` is bound with different \
41694173
mode in pattern \\#{} than in pattern \\#1",
4170-
interner_get(key), i + 1));
4174+
string.get(),
4175+
i + 1));
41714176
}
41724177
}
41734178
}
41744179
}
41754180

41764181
for (&key, &binding) in map_i.iter() {
41774182
if !map_0.contains_key(&key) {
4183+
let string = token::get_ident(key);
41784184
self.resolve_error(
41794185
binding.span,
41804186
format!("variable `{}` from pattern \\#{} is \
41814187
not bound in pattern \\#1",
4182-
interner_get(key), i + 1));
4188+
string.get(),
4189+
i + 1));
41834190
}
41844191
}
41854192
}
@@ -4371,9 +4378,10 @@ impl Resolver {
43714378
match self.resolve_bare_identifier_pattern(ident) {
43724379
FoundStructOrEnumVariant(def, lp)
43734380
if mode == RefutableMode => {
4381+
let string = token::get_ident(renamed);
43744382
debug!("(resolving pattern) resolving `{}` to \
43754383
struct or enum variant",
4376-
interner_get(renamed));
4384+
string.get());
43774385

43784386
self.enforce_default_binding_mode(
43794387
pattern,
@@ -4382,17 +4390,19 @@ impl Resolver {
43824390
self.record_def(pattern.id, (def, lp));
43834391
}
43844392
FoundStructOrEnumVariant(..) => {
4393+
let string = token::get_ident(renamed);
43854394
self.resolve_error(pattern.span,
43864395
format!("declaration of `{}` \
43874396
shadows an enum \
43884397
variant or unit-like \
43894398
struct in scope",
4390-
interner_get(renamed)));
4399+
string.get()));
43914400
}
43924401
FoundConst(def, lp) if mode == RefutableMode => {
4402+
let string = token::get_ident(renamed);
43934403
debug!("(resolving pattern) resolving `{}` to \
43944404
constant",
4395-
interner_get(renamed));
4405+
string.get());
43964406

43974407
self.enforce_default_binding_mode(
43984408
pattern,
@@ -4406,8 +4416,9 @@ impl Resolver {
44064416
allowed here");
44074417
}
44084418
BareIdentifierPatternUnresolved => {
4419+
let string = token::get_ident(renamed);
44094420
debug!("(resolving pattern) binding `{}`",
4410-
interner_get(renamed));
4421+
string.get());
44114422

44124423
let def = match mode {
44134424
RefutableMode => {
@@ -5009,10 +5020,10 @@ impl Resolver {
50095020
}
50105021

50115022
fn find_best_match_for_name(&mut self, name: &str, max_distance: uint)
5012-
-> Option<@str> {
5023+
-> Option<~str> {
50135024
let this = &mut *self;
50145025

5015-
let mut maybes: ~[@str] = ~[];
5026+
let mut maybes: ~[~str] = ~[];
50165027
let mut values: ~[uint] = ~[];
50175028

50185029
let mut j = {
@@ -5024,14 +5035,15 @@ impl Resolver {
50245035
let value_ribs = this.value_ribs.borrow();
50255036
let bindings = value_ribs.get()[j].bindings.borrow();
50265037
for (&k, _) in bindings.get().iter() {
5027-
maybes.push(interner_get(k));
5038+
let string = token::get_ident(k);
5039+
maybes.push(string.get().to_str());
50285040
values.push(uint::MAX);
50295041
}
50305042
}
50315043

50325044
let mut smallest = 0;
5033-
for (i, &other) in maybes.iter().enumerate() {
5034-
values[i] = name.lev_distance(other);
5045+
for (i, other) in maybes.iter().enumerate() {
5046+
values[i] = name.lev_distance(*other);
50355047

50365048
if values[i] <= values[smallest] {
50375049
smallest = i;
@@ -5190,7 +5202,9 @@ impl Resolver {
51905202
self.resolve_error(expr.span,
51915203
format!("use of undeclared label \
51925204
`{}`",
5193-
interner_get(label))),
5205+
token::get_ident(label)
5206+
.get()
5207+
.to_str())),
51945208
Some(DlDef(def @ DefLabel(_))) => {
51955209
// FIXME: is AllPublic correct?
51965210
self.record_def(expr.id, (def, AllPublic))
@@ -5510,7 +5524,7 @@ impl Resolver {
55105524
self.populate_module_if_necessary(module_);
55115525
let children = module_.children.borrow();
55125526
for (&name, _) in children.get().iter() {
5513-
debug!("* {}", interner_get(name));
5527+
debug!("* {}", token::get_ident(name).get().to_str());
55145528
}
55155529

55165530
debug!("Import resolutions:");
@@ -5534,7 +5548,7 @@ impl Resolver {
55345548
}
55355549
}
55365550

5537-
debug!("* {}:{}{}", interner_get(*name),
5551+
debug!("* {}:{}{}", token::get_ident(*name).get().to_str(),
55385552
value_repr, type_repr);
55395553
}
55405554
}

0 commit comments

Comments
 (0)