13
13
#![ allow( unused_must_use) ] // everything is just a MemWriter, can't fail
14
14
#![ allow( non_camel_case_types) ]
15
15
16
- pub use self :: InlinedItemRef :: * ;
17
-
18
16
use ast_map:: { self , LinkedPath , PathElem , PathElems } ;
19
17
use back:: svh:: Svh ;
20
18
use session:: config;
21
19
use metadata:: common:: * ;
22
20
use metadata:: cstore;
23
21
use metadata:: decoder;
24
22
use metadata:: tyencode;
23
+ use metadata:: inline:: InlinedItemRef ;
25
24
use middle:: def;
26
25
use middle:: dependency_format:: Linkage ;
27
26
use middle:: stability;
@@ -48,14 +47,6 @@ use syntax::visit;
48
47
use syntax;
49
48
use rbml:: writer:: Encoder ;
50
49
51
- /// A borrowed version of `ast::InlinedItem`.
52
- pub enum InlinedItemRef < ' a > {
53
- IIItemRef ( & ' a ast:: Item ) ,
54
- IITraitItemRef ( DefId , & ' a ast:: TraitItem ) ,
55
- IIImplItemRef ( DefId , & ' a ast:: ImplItem ) ,
56
- IIForeignRef ( & ' a ast:: ForeignItem )
57
- }
58
-
59
50
pub type EncodeInlinedItem < ' a > =
60
51
Box < FnMut ( & EncodeContext , & mut Encoder , InlinedItemRef ) + ' a > ;
61
52
@@ -832,7 +823,7 @@ fn encode_info_for_associated_const(ecx: &EncodeContext,
832
823
833
824
if let Some ( ii) = impl_item_opt {
834
825
encode_attributes ( rbml_w, & ii. attrs ) ;
835
- encode_inlined_item ( ecx, rbml_w, IIImplItemRef ( local_def ( parent_id) , ii) ) ;
826
+ encode_inlined_item ( ecx, rbml_w, InlinedItemRef :: ImplItem ( local_def ( parent_id) , ii) ) ;
836
827
}
837
828
838
829
rbml_w. end_tag ( ) ;
@@ -870,7 +861,7 @@ fn encode_info_for_method<'a, 'tcx>(ecx: &EncodeContext<'a, 'tcx>,
870
861
let needs_inline = any_types || is_default_impl ||
871
862
attr:: requests_inline ( & impl_item. attrs ) ;
872
863
if needs_inline || sig. constness == ast:: Constness :: Const {
873
- encode_inlined_item ( ecx, rbml_w, IIImplItemRef ( local_def ( parent_id) ,
864
+ encode_inlined_item ( ecx, rbml_w, InlinedItemRef :: ImplItem ( local_def ( parent_id) ,
874
865
impl_item) ) ;
875
866
}
876
867
encode_constness ( rbml_w, sig. constness ) ;
@@ -1052,7 +1043,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
1052
1043
encode_name ( rbml_w, item. ident . name ) ;
1053
1044
encode_path ( rbml_w, path) ;
1054
1045
encode_attributes ( rbml_w, & item. attrs ) ;
1055
- encode_inlined_item ( ecx, rbml_w, IIItemRef ( item) ) ;
1046
+ encode_inlined_item ( ecx, rbml_w, InlinedItemRef :: Item ( item) ) ;
1056
1047
encode_visibility ( rbml_w, vis) ;
1057
1048
encode_stability ( rbml_w, stab) ;
1058
1049
rbml_w. end_tag ( ) ;
@@ -1069,7 +1060,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
1069
1060
encode_attributes ( rbml_w, & item. attrs ) ;
1070
1061
let needs_inline = tps_len > 0 || attr:: requests_inline ( & item. attrs ) ;
1071
1062
if needs_inline || constness == ast:: Constness :: Const {
1072
- encode_inlined_item ( ecx, rbml_w, IIItemRef ( item) ) ;
1063
+ encode_inlined_item ( ecx, rbml_w, InlinedItemRef :: Item ( item) ) ;
1073
1064
}
1074
1065
if tps_len == 0 {
1075
1066
encode_symbol ( ecx, rbml_w, item. id ) ;
@@ -1134,7 +1125,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
1134
1125
for v in & enum_definition. variants {
1135
1126
encode_variant_id ( rbml_w, local_def ( v. node . id ) ) ;
1136
1127
}
1137
- encode_inlined_item ( ecx, rbml_w, IIItemRef ( item) ) ;
1128
+ encode_inlined_item ( ecx, rbml_w, InlinedItemRef :: Item ( item) ) ;
1138
1129
encode_path ( rbml_w, path) ;
1139
1130
1140
1131
// Encode inherent implementations for this enumeration.
@@ -1182,7 +1173,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
1182
1173
needs to know*/
1183
1174
encode_struct_fields ( rbml_w, variant, def_id) ;
1184
1175
1185
- encode_inlined_item ( ecx, rbml_w, IIItemRef ( item) ) ;
1176
+ encode_inlined_item ( ecx, rbml_w, InlinedItemRef :: Item ( item) ) ;
1186
1177
1187
1178
// Encode inherent implementations for this structure.
1188
1179
encode_inherent_implementations ( ecx, rbml_w, def_id) ;
@@ -1457,7 +1448,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
1457
1448
match trait_item. node {
1458
1449
ast:: ConstTraitItem ( _, _) => {
1459
1450
encode_inlined_item ( ecx, rbml_w,
1460
- IITraitItemRef ( def_id, trait_item) ) ;
1451
+ InlinedItemRef :: TraitItem ( def_id, trait_item) ) ;
1461
1452
}
1462
1453
ast:: MethodTraitItem ( ref sig, ref body) => {
1463
1454
// If this is a static method, we've already
@@ -1471,7 +1462,8 @@ fn encode_info_for_item(ecx: &EncodeContext,
1471
1462
1472
1463
if body. is_some ( ) {
1473
1464
encode_item_sort ( rbml_w, 'p' ) ;
1474
- encode_inlined_item ( ecx, rbml_w, IITraitItemRef ( def_id, trait_item) ) ;
1465
+ encode_inlined_item ( ecx, rbml_w,
1466
+ InlinedItemRef :: TraitItem ( def_id, trait_item) ) ;
1475
1467
} else {
1476
1468
encode_item_sort ( rbml_w, 'r' ) ;
1477
1469
}
@@ -1510,7 +1502,7 @@ fn encode_info_for_foreign_item(ecx: &EncodeContext,
1510
1502
encode_bounds_and_type_for_item ( rbml_w, ecx, nitem. id ) ;
1511
1503
encode_name ( rbml_w, nitem. ident . name ) ;
1512
1504
if abi == abi:: RustIntrinsic {
1513
- encode_inlined_item ( ecx, rbml_w, IIForeignRef ( nitem) ) ;
1505
+ encode_inlined_item ( ecx, rbml_w, InlinedItemRef :: Foreign ( nitem) ) ;
1514
1506
}
1515
1507
encode_attributes ( rbml_w, & * nitem. attrs ) ;
1516
1508
let stab = stability:: lookup ( ecx. tcx , ast_util:: local_def ( nitem. id ) ) ;
0 commit comments