Skip to content

Commit c8e6b8f

Browse files
committed
Switch from serialization to std::serialize. (snapshot)
1 parent 8a2e7d7 commit c8e6b8f

File tree

19 files changed

+421
-435
lines changed

19 files changed

+421
-435
lines changed

src/librustc/README.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ front/ - front-end: attributes, conditional compilation
2323
middle/ - middle-end: name resolution, typechecking, LLVM code
2424
generation
2525
back/ - back-end: linking and ABI
26-
metadata/ - serializer and deserializer for data required by
26+
metadata/ - encoder and decoder for data required by
2727
separate compilation
2828
driver/ - command-line processing, main() entrypoint
2929
util/ - ubiquitous types and helper functions

src/librustc/metadata/decoder.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
use std::ebml;
1414
use std::map;
1515
use std::map::HashMap;
16-
use std::serialization::deserialize;
16+
use std::serialize::decode;
1717
use reader = ebml::reader;
1818
use io::WriterUtil;
1919
use dvec::DVec;
@@ -283,7 +283,7 @@ fn item_ty_param_bounds(item: ebml::Doc, tcx: ty::ctxt, cdata: cmd)
283283

284284
fn item_ty_region_param(item: ebml::Doc) -> Option<ty::region_variance> {
285285
reader::maybe_get_doc(item, tag_region_param).map(|doc| {
286-
deserialize(&reader::Deserializer(*doc))
286+
decode(&reader::Decoder(*doc))
287287
})
288288
}
289289

src/librustc/metadata/encoder.rs

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export encode_def_id;
5050
type abbrev_map = map::HashMap<ty::t, tyencode::ty_abbrev>;
5151

5252
type encode_inlined_item = fn@(ecx: @encode_ctxt,
53-
ebml_w: writer::Serializer,
53+
ebml_w: writer::Encoder,
5454
path: ast_map::path,
5555
ii: ast::inlined_item);
5656

@@ -96,31 +96,31 @@ fn reachable(ecx: @encode_ctxt, id: node_id) -> bool {
9696
ecx.reachable.contains_key(id)
9797
}
9898

99-
fn encode_name(ecx: @encode_ctxt, ebml_w: writer::Serializer, name: ident) {
99+
fn encode_name(ecx: @encode_ctxt, ebml_w: writer::Encoder, name: ident) {
100100
ebml_w.wr_tagged_str(tag_paths_data_name, ecx.tcx.sess.str_of(name));
101101
}
102102

103-
fn encode_impl_type_basename(ecx: @encode_ctxt, ebml_w: writer::Serializer,
103+
fn encode_impl_type_basename(ecx: @encode_ctxt, ebml_w: writer::Encoder,
104104
name: ident) {
105105
ebml_w.wr_tagged_str(tag_item_impl_type_basename,
106106
ecx.tcx.sess.str_of(name));
107107
}
108108

109-
fn encode_def_id(ebml_w: writer::Serializer, id: def_id) {
109+
fn encode_def_id(ebml_w: writer::Encoder, id: def_id) {
110110
ebml_w.wr_tagged_str(tag_def_id, def_to_str(id));
111111
}
112112

113-
fn encode_region_param(ecx: @encode_ctxt, ebml_w: writer::Serializer,
113+
fn encode_region_param(ecx: @encode_ctxt, ebml_w: writer::Encoder,
114114
it: @ast::item) {
115115
let opt_rp = ecx.tcx.region_paramd_items.find(it.id);
116116
for opt_rp.each |rp| {
117117
do ebml_w.wr_tag(tag_region_param) {
118-
(*rp).serialize(&ebml_w);
118+
(*rp).encode(&ebml_w);
119119
}
120120
}
121121
}
122122

123-
fn encode_mutability(ebml_w: writer::Serializer, mt: struct_mutability) {
123+
fn encode_mutability(ebml_w: writer::Encoder, mt: struct_mutability) {
124124
do ebml_w.wr_tag(tag_struct_mut) {
125125
let val = match mt {
126126
struct_immutable => 'a',
@@ -132,7 +132,7 @@ fn encode_mutability(ebml_w: writer::Serializer, mt: struct_mutability) {
132132

133133
type entry<T> = {val: T, pos: uint};
134134

135-
fn add_to_index(ecx: @encode_ctxt, ebml_w: writer::Serializer, path: &[ident],
135+
fn add_to_index(ecx: @encode_ctxt, ebml_w: writer::Encoder, path: &[ident],
136136
index: &mut ~[entry<~str>], name: ident) {
137137
let mut full_path = ~[];
138138
full_path.push_all(path);
@@ -143,7 +143,7 @@ fn add_to_index(ecx: @encode_ctxt, ebml_w: writer::Serializer, path: &[ident],
143143
pos: ebml_w.writer.tell()});
144144
}
145145

146-
fn encode_trait_ref(ebml_w: writer::Serializer, ecx: @encode_ctxt,
146+
fn encode_trait_ref(ebml_w: writer::Encoder, ecx: @encode_ctxt,
147147
t: @trait_ref) {
148148
ebml_w.start_tag(tag_impl_trait);
149149
encode_type(ecx, ebml_w, node_id_to_type(ecx.tcx, t.ref_id));
@@ -152,15 +152,15 @@ fn encode_trait_ref(ebml_w: writer::Serializer, ecx: @encode_ctxt,
152152

153153

154154
// Item info table encoding
155-
fn encode_family(ebml_w: writer::Serializer, c: char) {
155+
fn encode_family(ebml_w: writer::Encoder, c: char) {
156156
ebml_w.start_tag(tag_items_data_item_family);
157157
ebml_w.writer.write(&[c as u8]);
158158
ebml_w.end_tag();
159159
}
160160

161161
fn def_to_str(did: def_id) -> ~str { fmt!("%d:%d", did.crate, did.node) }
162162

163-
fn encode_ty_type_param_bounds(ebml_w: writer::Serializer, ecx: @encode_ctxt,
163+
fn encode_ty_type_param_bounds(ebml_w: writer::Encoder, ecx: @encode_ctxt,
164164
params: @~[ty::param_bounds]) {
165165
let ty_str_ctxt = @{diag: ecx.diag,
166166
ds: def_to_str,
@@ -174,21 +174,21 @@ fn encode_ty_type_param_bounds(ebml_w: writer::Serializer, ecx: @encode_ctxt,
174174
}
175175
}
176176

177-
fn encode_type_param_bounds(ebml_w: writer::Serializer, ecx: @encode_ctxt,
177+
fn encode_type_param_bounds(ebml_w: writer::Encoder, ecx: @encode_ctxt,
178178
params: ~[ty_param]) {
179179
let ty_param_bounds =
180180
@params.map(|param| ecx.tcx.ty_param_bounds.get(param.id));
181181
encode_ty_type_param_bounds(ebml_w, ecx, ty_param_bounds);
182182
}
183183

184184

185-
fn encode_variant_id(ebml_w: writer::Serializer, vid: def_id) {
185+
fn encode_variant_id(ebml_w: writer::Encoder, vid: def_id) {
186186
ebml_w.start_tag(tag_items_data_item_variant);
187187
ebml_w.writer.write(str::to_bytes(def_to_str(vid)));
188188
ebml_w.end_tag();
189189
}
190190

191-
fn write_type(ecx: @encode_ctxt, ebml_w: writer::Serializer, typ: ty::t) {
191+
fn write_type(ecx: @encode_ctxt, ebml_w: writer::Encoder, typ: ty::t) {
192192
let ty_str_ctxt =
193193
@{diag: ecx.diag,
194194
ds: def_to_str,
@@ -198,7 +198,7 @@ fn write_type(ecx: @encode_ctxt, ebml_w: writer::Serializer, typ: ty::t) {
198198
tyencode::enc_ty(ebml_w.writer, ty_str_ctxt, typ);
199199
}
200200

201-
fn write_vstore(ecx: @encode_ctxt, ebml_w: writer::Serializer,
201+
fn write_vstore(ecx: @encode_ctxt, ebml_w: writer::Encoder,
202202
vstore: ty::vstore) {
203203
let ty_str_ctxt =
204204
@{diag: ecx.diag,
@@ -209,13 +209,13 @@ fn write_vstore(ecx: @encode_ctxt, ebml_w: writer::Serializer,
209209
tyencode::enc_vstore(ebml_w.writer, ty_str_ctxt, vstore);
210210
}
211211

212-
fn encode_type(ecx: @encode_ctxt, ebml_w: writer::Serializer, typ: ty::t) {
212+
fn encode_type(ecx: @encode_ctxt, ebml_w: writer::Encoder, typ: ty::t) {
213213
ebml_w.start_tag(tag_items_data_item_type);
214214
write_type(ecx, ebml_w, typ);
215215
ebml_w.end_tag();
216216
}
217217

218-
fn encode_symbol(ecx: @encode_ctxt, ebml_w: writer::Serializer, id: node_id) {
218+
fn encode_symbol(ecx: @encode_ctxt, ebml_w: writer::Encoder, id: node_id) {
219219
ebml_w.start_tag(tag_items_data_item_symbol);
220220
let sym = match ecx.item_symbols.find(id) {
221221
Some(ref x) => (*x),
@@ -228,27 +228,27 @@ fn encode_symbol(ecx: @encode_ctxt, ebml_w: writer::Serializer, id: node_id) {
228228
ebml_w.end_tag();
229229
}
230230

231-
fn encode_discriminant(ecx: @encode_ctxt, ebml_w: writer::Serializer,
231+
fn encode_discriminant(ecx: @encode_ctxt, ebml_w: writer::Encoder,
232232
id: node_id) {
233233
ebml_w.start_tag(tag_items_data_item_symbol);
234234
ebml_w.writer.write(str::to_bytes(ecx.discrim_symbols.get(id)));
235235
ebml_w.end_tag();
236236
}
237237

238-
fn encode_disr_val(_ecx: @encode_ctxt, ebml_w: writer::Serializer,
238+
fn encode_disr_val(_ecx: @encode_ctxt, ebml_w: writer::Encoder,
239239
disr_val: int) {
240240
ebml_w.start_tag(tag_disr_val);
241241
ebml_w.writer.write(str::to_bytes(int::to_str(disr_val,10u)));
242242
ebml_w.end_tag();
243243
}
244244

245-
fn encode_parent_item(ebml_w: writer::Serializer, id: def_id) {
245+
fn encode_parent_item(ebml_w: writer::Encoder, id: def_id) {
246246
ebml_w.start_tag(tag_items_data_parent_item);
247247
ebml_w.writer.write(str::to_bytes(def_to_str(id)));
248248
ebml_w.end_tag();
249249
}
250250

251-
fn encode_enum_variant_info(ecx: @encode_ctxt, ebml_w: writer::Serializer,
251+
fn encode_enum_variant_info(ecx: @encode_ctxt, ebml_w: writer::Encoder,
252252
id: node_id, variants: ~[variant],
253253
path: ast_map::path, index: @mut ~[entry<int>],
254254
ty_params: ~[ty_param]) {
@@ -285,9 +285,9 @@ fn encode_enum_variant_info(ecx: @encode_ctxt, ebml_w: writer::Serializer,
285285
}
286286
}
287287

288-
fn encode_path(ecx: @encode_ctxt, ebml_w: writer::Serializer,
288+
fn encode_path(ecx: @encode_ctxt, ebml_w: writer::Encoder,
289289
path: ast_map::path, name: ast_map::path_elt) {
290-
fn encode_path_elt(ecx: @encode_ctxt, ebml_w: writer::Serializer,
290+
fn encode_path_elt(ecx: @encode_ctxt, ebml_w: writer::Encoder,
291291
elt: ast_map::path_elt) {
292292
let (tag, name) = match elt {
293293
ast_map::path_mod(name) => (tag_path_elt_mod, name),
@@ -306,7 +306,7 @@ fn encode_path(ecx: @encode_ctxt, ebml_w: writer::Serializer,
306306
}
307307
}
308308

309-
fn encode_info_for_mod(ecx: @encode_ctxt, ebml_w: writer::Serializer,
309+
fn encode_info_for_mod(ecx: @encode_ctxt, ebml_w: writer::Encoder,
310310
md: _mod, id: node_id, path: ast_map::path,
311311
name: ident) {
312312
ebml_w.start_tag(tag_items_data_item);
@@ -365,15 +365,15 @@ fn encode_info_for_mod(ecx: @encode_ctxt, ebml_w: writer::Serializer,
365365
ebml_w.end_tag();
366366
}
367367

368-
fn encode_visibility(ebml_w: writer::Serializer, visibility: visibility) {
368+
fn encode_visibility(ebml_w: writer::Encoder, visibility: visibility) {
369369
encode_family(ebml_w, match visibility {
370370
public => 'g',
371371
private => 'j',
372372
inherited => 'N'
373373
});
374374
}
375375

376-
fn encode_self_type(ebml_w: writer::Serializer, self_type: ast::self_ty_) {
376+
fn encode_self_type(ebml_w: writer::Encoder, self_type: ast::self_ty_) {
377377
ebml_w.start_tag(tag_item_trait_method_self_ty);
378378

379379
// Encode the base self type.
@@ -405,14 +405,14 @@ fn encode_self_type(ebml_w: writer::Serializer, self_type: ast::self_ty_) {
405405
ebml_w.end_tag();
406406
}
407407

408-
fn encode_method_sort(ebml_w: writer::Serializer, sort: char) {
408+
fn encode_method_sort(ebml_w: writer::Encoder, sort: char) {
409409
ebml_w.start_tag(tag_item_trait_method_sort);
410410
ebml_w.writer.write(&[ sort as u8 ]);
411411
ebml_w.end_tag();
412412
}
413413

414414
/* Returns an index of items in this class */
415-
fn encode_info_for_struct(ecx: @encode_ctxt, ebml_w: writer::Serializer,
415+
fn encode_info_for_struct(ecx: @encode_ctxt, ebml_w: writer::Encoder,
416416
path: ast_map::path,
417417
fields: ~[@struct_field],
418418
global_index: @mut~[entry<int>]) -> ~[entry<int>] {
@@ -447,7 +447,7 @@ fn encode_info_for_struct(ecx: @encode_ctxt, ebml_w: writer::Serializer,
447447
}
448448

449449
// This is for encoding info for ctors and dtors
450-
fn encode_info_for_ctor(ecx: @encode_ctxt, ebml_w: writer::Serializer,
450+
fn encode_info_for_ctor(ecx: @encode_ctxt, ebml_w: writer::Encoder,
451451
id: node_id, ident: ident, path: ast_map::path,
452452
item: Option<inlined_item>, tps: ~[ty_param]) {
453453
ebml_w.start_tag(tag_items_data_item);
@@ -472,7 +472,7 @@ fn encode_info_for_ctor(ecx: @encode_ctxt, ebml_w: writer::Serializer,
472472
ebml_w.end_tag();
473473
}
474474

475-
fn encode_info_for_method(ecx: @encode_ctxt, ebml_w: writer::Serializer,
475+
fn encode_info_for_method(ecx: @encode_ctxt, ebml_w: writer::Encoder,
476476
impl_path: ast_map::path, should_inline: bool,
477477
parent_id: node_id,
478478
m: @method, all_tps: ~[ty_param]) {
@@ -527,7 +527,7 @@ fn should_inline(attrs: ~[attribute]) -> bool {
527527
}
528528

529529

530-
fn encode_info_for_item(ecx: @encode_ctxt, ebml_w: writer::Serializer,
530+
fn encode_info_for_item(ecx: @encode_ctxt, ebml_w: writer::Encoder,
531531
item: @item, index: @mut ~[entry<int>],
532532
path: ast_map::path) {
533533

@@ -540,7 +540,7 @@ fn encode_info_for_item(ecx: @encode_ctxt, ebml_w: writer::Serializer,
540540
};
541541
if !must_write && !reachable(ecx, item.id) { return; }
542542

543-
fn add_to_index_(item: @item, ebml_w: writer::Serializer,
543+
fn add_to_index_(item: @item, ebml_w: writer::Encoder,
544544
index: @mut ~[entry<int>]) {
545545
index.push({val: item.id, pos: ebml_w.writer.tell()});
546546
}
@@ -804,7 +804,7 @@ fn encode_info_for_item(ecx: @encode_ctxt, ebml_w: writer::Serializer,
804804
}
805805
}
806806

807-
fn encode_info_for_foreign_item(ecx: @encode_ctxt, ebml_w: writer::Serializer,
807+
fn encode_info_for_foreign_item(ecx: @encode_ctxt, ebml_w: writer::Encoder,
808808
nitem: @foreign_item,
809809
index: @mut ~[entry<int>],
810810
path: ast_map::path, abi: foreign_abi) {
@@ -837,7 +837,7 @@ fn encode_info_for_foreign_item(ecx: @encode_ctxt, ebml_w: writer::Serializer,
837837
ebml_w.end_tag();
838838
}
839839

840-
fn encode_info_for_items(ecx: @encode_ctxt, ebml_w: writer::Serializer,
840+
fn encode_info_for_items(ecx: @encode_ctxt, ebml_w: writer::Encoder,
841841
crate: @crate) -> ~[entry<int>] {
842842
let index = @mut ~[];
843843
ebml_w.start_tag(tag_items_data);
@@ -892,7 +892,7 @@ fn create_index<T: Copy Hash IterBytes>(index: ~[entry<T>]) ->
892892
return buckets_frozen;
893893
}
894894

895-
fn encode_index<T>(ebml_w: writer::Serializer, buckets: ~[@~[entry<T>]],
895+
fn encode_index<T>(ebml_w: writer::Encoder, buckets: ~[@~[entry<T>]],
896896
write_fn: fn(io::Writer, T)) {
897897
let writer = ebml_w.writer;
898898
ebml_w.start_tag(tag_index);
@@ -927,7 +927,7 @@ fn write_int(writer: io::Writer, &&n: int) {
927927
writer.write_be_u32(n as u32);
928928
}
929929

930-
fn encode_meta_item(ebml_w: writer::Serializer, mi: meta_item) {
930+
fn encode_meta_item(ebml_w: writer::Encoder, mi: meta_item) {
931931
match mi.node {
932932
meta_word(ref name) => {
933933
ebml_w.start_tag(tag_meta_item_word);
@@ -964,7 +964,7 @@ fn encode_meta_item(ebml_w: writer::Serializer, mi: meta_item) {
964964
}
965965
}
966966

967-
fn encode_attributes(ebml_w: writer::Serializer, attrs: ~[attribute]) {
967+
fn encode_attributes(ebml_w: writer::Encoder, attrs: ~[attribute]) {
968968
ebml_w.start_tag(tag_attributes);
969969
for attrs.each |attr| {
970970
ebml_w.start_tag(tag_attribute);
@@ -1025,7 +1025,7 @@ fn synthesize_crate_attrs(ecx: @encode_ctxt, crate: @crate) -> ~[attribute] {
10251025
return attrs;
10261026
}
10271027

1028-
fn encode_crate_deps(ecx: @encode_ctxt, ebml_w: writer::Serializer,
1028+
fn encode_crate_deps(ecx: @encode_ctxt, ebml_w: writer::Encoder,
10291029
cstore: cstore::CStore) {
10301030

10311031
fn get_ordered_deps(ecx: @encode_ctxt, cstore: cstore::CStore)
@@ -1071,7 +1071,7 @@ fn encode_crate_deps(ecx: @encode_ctxt, ebml_w: writer::Serializer,
10711071
ebml_w.end_tag();
10721072
}
10731073

1074-
fn encode_crate_dep(ecx: @encode_ctxt, ebml_w: writer::Serializer,
1074+
fn encode_crate_dep(ecx: @encode_ctxt, ebml_w: writer::Encoder,
10751075
dep: decoder::crate_dep) {
10761076
ebml_w.start_tag(tag_crate_dep);
10771077
ebml_w.start_tag(tag_crate_dep_name);
@@ -1086,7 +1086,7 @@ fn encode_crate_dep(ecx: @encode_ctxt, ebml_w: writer::Serializer,
10861086
ebml_w.end_tag();
10871087
}
10881088

1089-
fn encode_hash(ebml_w: writer::Serializer, hash: ~str) {
1089+
fn encode_hash(ebml_w: writer::Encoder, hash: ~str) {
10901090
ebml_w.start_tag(tag_crate_hash);
10911091
ebml_w.writer.write(str::to_bytes(hash));
10921092
ebml_w.end_tag();
@@ -1124,7 +1124,7 @@ fn encode_metadata(parms: encode_parms, crate: @crate) -> ~[u8] {
11241124
type_abbrevs: ty::new_ty_hash()
11251125
});
11261126

1127-
let ebml_w = writer::Serializer(wr as io::Writer);
1127+
let ebml_w = writer::Encoder(wr as io::Writer);
11281128

11291129
encode_hash(ebml_w, ecx.link_meta.extras_hash);
11301130

0 commit comments

Comments
 (0)