@@ -23,7 +23,6 @@ use metadata::cstore;
23
23
use metadata:: decoder;
24
24
use metadata:: tyencode;
25
25
use middle:: def;
26
- use middle:: ty:: lookup_item_type;
27
26
use middle:: ty:: { self , Ty } ;
28
27
use middle:: stability;
29
28
use util:: nodemap:: { FnvHashMap , NodeMap , NodeSet } ;
@@ -133,7 +132,7 @@ pub fn def_to_string(did: DefId) -> String {
133
132
fn encode_item_variances ( rbml_w : & mut Encoder ,
134
133
ecx : & EncodeContext ,
135
134
id : NodeId ) {
136
- let v = ty :: item_variances ( ecx. tcx , ast_util:: local_def ( id) ) ;
135
+ let v = ecx. tcx . item_variances ( ast_util:: local_def ( id) ) ;
137
136
rbml_w. start_tag ( tag_item_variances) ;
138
137
v. encode ( rbml_w) ;
139
138
rbml_w. end_tag ( ) ;
@@ -144,8 +143,8 @@ fn encode_bounds_and_type_for_item<'a, 'tcx>(rbml_w: &mut Encoder,
144
143
id : ast:: NodeId ) {
145
144
encode_bounds_and_type ( rbml_w,
146
145
ecx,
147
- & ty :: lookup_item_type ( ecx. tcx , local_def ( id) ) ,
148
- & ty :: lookup_predicates ( ecx. tcx , local_def ( id) ) ) ;
146
+ & ecx. tcx . lookup_item_type ( local_def ( id) ) ,
147
+ & ecx. tcx . lookup_predicates ( local_def ( id) ) ) ;
149
148
}
150
149
151
150
fn encode_bounds_and_type < ' a , ' tcx > ( rbml_w : & mut Encoder ,
@@ -293,8 +292,7 @@ fn encode_enum_variant_info(ecx: &EncodeContext,
293
292
294
293
let mut disr_val = 0 ;
295
294
let mut i = 0 ;
296
- let vi = ty:: enum_variants ( ecx. tcx ,
297
- DefId { krate : ast:: LOCAL_CRATE , node : id } ) ;
295
+ let vi = ecx. tcx . enum_variants ( local_def ( id) ) ;
298
296
for variant in variants {
299
297
let def_id = local_def ( variant. node . id ) ;
300
298
index. push ( entry {
@@ -319,7 +317,7 @@ fn encode_enum_variant_info(ecx: &EncodeContext,
319
317
match variant. node . kind {
320
318
ast:: TupleVariantKind ( _) => { } ,
321
319
ast:: StructVariantKind ( _) => {
322
- let fields = ty :: lookup_struct_fields ( ecx. tcx , def_id) ;
320
+ let fields = ecx. tcx . lookup_struct_fields ( def_id) ;
323
321
let idx = encode_info_for_struct ( ecx,
324
322
rbml_w,
325
323
& fields[ ..] ,
@@ -328,9 +326,10 @@ fn encode_enum_variant_info(ecx: &EncodeContext,
328
326
encode_index ( rbml_w, idx, write_i64) ;
329
327
}
330
328
}
331
- if ( * vi) [ i] . disr_val != disr_val {
332
- encode_disr_val ( ecx, rbml_w, ( * vi) [ i] . disr_val ) ;
333
- disr_val = ( * vi) [ i] . disr_val ;
329
+ let specified_disr_val = vi[ i] . disr_val ;
330
+ if specified_disr_val != disr_val {
331
+ encode_disr_val ( ecx, rbml_w, specified_disr_val) ;
332
+ disr_val = specified_disr_val;
334
333
}
335
334
encode_bounds_and_type_for_item ( rbml_w, ecx, def_id. local_id ( ) ) ;
336
335
@@ -379,9 +378,7 @@ fn encode_reexported_static_base_methods(ecx: &EncodeContext,
379
378
Some ( implementations) => {
380
379
for base_impl_did in implementations. iter ( ) {
381
380
for & method_did in impl_items. get ( base_impl_did) . unwrap ( ) {
382
- let impl_item = ty:: impl_or_trait_item (
383
- ecx. tcx ,
384
- method_did. def_id ( ) ) ;
381
+ let impl_item = ecx. tcx . impl_or_trait_item ( method_did. def_id ( ) ) ;
385
382
if let ty:: MethodTraitItem ( ref m) = impl_item {
386
383
encode_reexported_static_method ( rbml_w,
387
384
exp,
@@ -875,7 +872,7 @@ fn encode_info_for_method<'a, 'tcx>(ecx: &EncodeContext<'a, 'tcx>,
875
872
if let Some ( impl_item) = impl_item_opt {
876
873
if let ast:: MethodImplItem ( ref sig, _) = impl_item. node {
877
874
encode_attributes ( rbml_w, & impl_item. attrs ) ;
878
- let scheme = ty :: lookup_item_type ( ecx. tcx , m. def_id ) ;
875
+ let scheme = ecx. tcx . lookup_item_type ( m. def_id ) ;
879
876
let any_types = !scheme. generics . types . is_empty ( ) ;
880
877
let needs_inline = any_types || is_default_impl ||
881
878
attr:: requests_inline ( & impl_item. attrs ) ;
@@ -923,7 +920,7 @@ fn encode_info_for_associated_type<'a, 'tcx>(ecx: &EncodeContext<'a, 'tcx>,
923
920
encode_attributes ( rbml_w, & ii. attrs ) ;
924
921
} else {
925
922
encode_predicates ( rbml_w, ecx,
926
- & ty :: lookup_predicates ( ecx. tcx , associated_type. def_id ) ,
923
+ & ecx. tcx . lookup_predicates ( associated_type. def_id ) ,
927
924
tag_item_generics) ;
928
925
}
929
926
@@ -995,7 +992,7 @@ fn encode_extension_implementations(ecx: &EncodeContext,
995
992
rbml_w : & mut Encoder ,
996
993
trait_def_id : DefId ) {
997
994
assert ! ( ast_util:: is_local( trait_def_id) ) ;
998
- let def = ty :: lookup_trait_def ( ecx. tcx , trait_def_id) ;
995
+ let def = ecx. tcx . lookup_trait_def ( trait_def_id) ;
999
996
1000
997
def. for_each_impl ( ecx. tcx , |impl_def_id| {
1001
998
rbml_w. start_tag ( tag_items_data_item_extension_impl) ;
@@ -1161,7 +1158,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
1161
1158
index) ;
1162
1159
}
1163
1160
ast:: ItemStruct ( ref struct_def, _) => {
1164
- let fields = ty :: lookup_struct_fields ( tcx , def_id) ;
1161
+ let fields = tcx . lookup_struct_fields ( def_id) ;
1165
1162
1166
1163
/* First, encode the fields
1167
1164
These come first because we need to write them to make
@@ -1220,7 +1217,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
1220
1217
encode_name ( rbml_w, item. ident . name ) ;
1221
1218
encode_unsafety ( rbml_w, unsafety) ;
1222
1219
1223
- let trait_ref = ty :: impl_trait_ref ( tcx , local_def ( item. id ) ) . unwrap ( ) ;
1220
+ let trait_ref = tcx . impl_trait_ref ( local_def ( item. id ) ) . unwrap ( ) ;
1224
1221
encode_trait_ref ( rbml_w, ecx, trait_ref, tag_item_trait_ref) ;
1225
1222
rbml_w. end_tag ( ) ;
1226
1223
}
@@ -1274,7 +1271,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
1274
1271
}
1275
1272
rbml_w. end_tag ( ) ;
1276
1273
}
1277
- if let Some ( trait_ref) = ty :: impl_trait_ref ( tcx , local_def ( item. id ) ) {
1274
+ if let Some ( trait_ref) = tcx . impl_trait_ref ( local_def ( item. id ) ) {
1278
1275
encode_trait_ref ( rbml_w, ecx, trait_ref, tag_item_trait_ref) ;
1279
1276
}
1280
1277
encode_path ( rbml_w, path. clone ( ) ) ;
@@ -1298,7 +1295,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
1298
1295
pos : rbml_w. mark_stable_position ( ) ,
1299
1296
} ) ;
1300
1297
1301
- match ty :: impl_or_trait_item ( tcx , trait_item_def_id. def_id ( ) ) {
1298
+ match tcx . impl_or_trait_item ( trait_item_def_id. def_id ( ) ) {
1302
1299
ty:: ConstTraitItem ( ref associated_const) => {
1303
1300
encode_info_for_associated_const ( ecx,
1304
1301
rbml_w,
@@ -1333,22 +1330,22 @@ fn encode_info_for_item(ecx: &EncodeContext,
1333
1330
encode_def_id ( rbml_w, def_id) ;
1334
1331
encode_family ( rbml_w, 'I' ) ;
1335
1332
encode_item_variances ( rbml_w, ecx, item. id ) ;
1336
- let trait_def = ty :: lookup_trait_def ( tcx , def_id) ;
1337
- let trait_predicates = ty :: lookup_predicates ( tcx , def_id) ;
1333
+ let trait_def = tcx . lookup_trait_def ( def_id) ;
1334
+ let trait_predicates = tcx . lookup_predicates ( def_id) ;
1338
1335
encode_unsafety ( rbml_w, trait_def. unsafety ) ;
1339
1336
encode_paren_sugar ( rbml_w, trait_def. paren_sugar ) ;
1340
- encode_defaulted ( rbml_w, ty :: trait_has_default_impl ( tcx , def_id) ) ;
1337
+ encode_defaulted ( rbml_w, tcx . trait_has_default_impl ( def_id) ) ;
1341
1338
encode_associated_type_names ( rbml_w, & trait_def. associated_type_names ) ;
1342
1339
encode_generics ( rbml_w, ecx, & trait_def. generics , & trait_predicates,
1343
1340
tag_item_generics) ;
1344
- encode_predicates ( rbml_w, ecx, & ty :: lookup_super_predicates ( tcx , def_id) ,
1341
+ encode_predicates ( rbml_w, ecx, & tcx . lookup_super_predicates ( def_id) ,
1345
1342
tag_item_super_predicates) ;
1346
1343
encode_trait_ref ( rbml_w, ecx, trait_def. trait_ref , tag_item_trait_ref) ;
1347
1344
encode_name ( rbml_w, item. ident . name ) ;
1348
1345
encode_attributes ( rbml_w, & item. attrs ) ;
1349
1346
encode_visibility ( rbml_w, vis) ;
1350
1347
encode_stability ( rbml_w, stab) ;
1351
- for & method_def_id in ty :: trait_item_def_ids ( tcx , def_id) . iter ( ) {
1348
+ for & method_def_id in tcx . trait_item_def_ids ( def_id) . iter ( ) {
1352
1349
rbml_w. start_tag ( tag_item_trait_item) ;
1353
1350
match method_def_id {
1354
1351
ty:: ConstTraitItemId ( const_def_id) => {
@@ -1380,7 +1377,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
1380
1377
rbml_w. end_tag ( ) ;
1381
1378
1382
1379
// Now output the trait item info for each trait item.
1383
- let r = ty :: trait_item_def_ids ( tcx , def_id) ;
1380
+ let r = tcx . trait_item_def_ids ( def_id) ;
1384
1381
for ( i, & item_def_id) in r. iter ( ) . enumerate ( ) {
1385
1382
assert_eq ! ( item_def_id. def_id( ) . krate, ast:: LOCAL_CRATE ) ;
1386
1383
@@ -1397,7 +1394,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
1397
1394
encode_stability ( rbml_w, stab) ;
1398
1395
1399
1396
let trait_item_type =
1400
- ty :: impl_or_trait_item ( tcx , item_def_id. def_id ( ) ) ;
1397
+ tcx . impl_or_trait_item ( item_def_id. def_id ( ) ) ;
1401
1398
let is_nonstatic_method;
1402
1399
match trait_item_type {
1403
1400
ty:: ConstTraitItem ( associated_const) => {
0 commit comments