Skip to content

Commit 8650c6f

Browse files
committed
Switch from serialization to std::serialize. (snapshot)
1 parent ec93058 commit 8650c6f

File tree

19 files changed

+422
-431
lines changed

19 files changed

+422
-431
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
@@ -25,7 +25,7 @@ use reader = std::ebml::reader;
2525
use std::ebml;
2626
use std::map::HashMap;
2727
use std::map;
28-
use std::serialization::deserialize;
28+
use std::serialize::decode;
2929
use syntax::ast_map;
3030
use syntax::attr;
3131
use syntax::diagnostic::span_handler;
@@ -284,7 +284,7 @@ fn item_ty_param_bounds(item: ebml::Doc, tcx: ty::ctxt, cdata: cmd)
284284

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

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
}
@@ -807,7 +807,7 @@ fn encode_info_for_item(ecx: @encode_ctxt, ebml_w: writer::Serializer,
807807
}
808808
}
809809

810-
fn encode_info_for_foreign_item(ecx: @encode_ctxt, ebml_w: writer::Serializer,
810+
fn encode_info_for_foreign_item(ecx: @encode_ctxt, ebml_w: writer::Encoder,
811811
nitem: @foreign_item,
812812
index: @mut ~[entry<int>],
813813
path: ast_map::path, abi: foreign_abi) {
@@ -840,7 +840,7 @@ fn encode_info_for_foreign_item(ecx: @encode_ctxt, ebml_w: writer::Serializer,
840840
ebml_w.end_tag();
841841
}
842842

843-
fn encode_info_for_items(ecx: @encode_ctxt, ebml_w: writer::Serializer,
843+
fn encode_info_for_items(ecx: @encode_ctxt, ebml_w: writer::Encoder,
844844
crate: @crate) -> ~[entry<int>] {
845845
let index = @mut ~[];
846846
ebml_w.start_tag(tag_items_data);
@@ -895,7 +895,7 @@ fn create_index<T: Copy Hash IterBytes>(index: ~[entry<T>]) ->
895895
return buckets_frozen;
896896
}
897897

898-
fn encode_index<T>(ebml_w: writer::Serializer, buckets: ~[@~[entry<T>]],
898+
fn encode_index<T>(ebml_w: writer::Encoder, buckets: ~[@~[entry<T>]],
899899
write_fn: fn(io::Writer, T)) {
900900
let writer = ebml_w.writer;
901901
ebml_w.start_tag(tag_index);
@@ -930,7 +930,7 @@ fn write_int(writer: io::Writer, &&n: int) {
930930
writer.write_be_u32(n as u32);
931931
}
932932

933-
fn encode_meta_item(ebml_w: writer::Serializer, mi: meta_item) {
933+
fn encode_meta_item(ebml_w: writer::Encoder, mi: meta_item) {
934934
match mi.node {
935935
meta_word(ref name) => {
936936
ebml_w.start_tag(tag_meta_item_word);
@@ -967,7 +967,7 @@ fn encode_meta_item(ebml_w: writer::Serializer, mi: meta_item) {
967967
}
968968
}
969969

970-
fn encode_attributes(ebml_w: writer::Serializer, attrs: ~[attribute]) {
970+
fn encode_attributes(ebml_w: writer::Encoder, attrs: ~[attribute]) {
971971
ebml_w.start_tag(tag_attributes);
972972
for attrs.each |attr| {
973973
ebml_w.start_tag(tag_attribute);
@@ -1028,7 +1028,7 @@ fn synthesize_crate_attrs(ecx: @encode_ctxt, crate: @crate) -> ~[attribute] {
10281028
return attrs;
10291029
}
10301030

1031-
fn encode_crate_deps(ecx: @encode_ctxt, ebml_w: writer::Serializer,
1031+
fn encode_crate_deps(ecx: @encode_ctxt, ebml_w: writer::Encoder,
10321032
cstore: cstore::CStore) {
10331033

10341034
fn get_ordered_deps(ecx: @encode_ctxt, cstore: cstore::CStore)
@@ -1074,7 +1074,7 @@ fn encode_crate_deps(ecx: @encode_ctxt, ebml_w: writer::Serializer,
10741074
ebml_w.end_tag();
10751075
}
10761076

1077-
fn encode_crate_dep(ecx: @encode_ctxt, ebml_w: writer::Serializer,
1077+
fn encode_crate_dep(ecx: @encode_ctxt, ebml_w: writer::Encoder,
10781078
dep: decoder::crate_dep) {
10791079
ebml_w.start_tag(tag_crate_dep);
10801080
ebml_w.start_tag(tag_crate_dep_name);
@@ -1089,7 +1089,7 @@ fn encode_crate_dep(ecx: @encode_ctxt, ebml_w: writer::Serializer,
10891089
ebml_w.end_tag();
10901090
}
10911091

1092-
fn encode_hash(ebml_w: writer::Serializer, hash: ~str) {
1092+
fn encode_hash(ebml_w: writer::Encoder, hash: ~str) {
10931093
ebml_w.start_tag(tag_crate_hash);
10941094
ebml_w.writer.write(str::to_bytes(hash));
10951095
ebml_w.end_tag();
@@ -1127,7 +1127,7 @@ fn encode_metadata(parms: encode_parms, crate: @crate) -> ~[u8] {
11271127
type_abbrevs: ty::new_ty_hash()
11281128
});
11291129

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

11321132
encode_hash(ebml_w, ecx.link_meta.extras_hash);
11331133

0 commit comments

Comments
 (0)