Skip to content

Commit 90b3658

Browse files
committed
std: remove Encoder::read_rec and Decoder::emit_rec
1 parent e99cdcf commit 90b3658

File tree

5 files changed

+22
-48
lines changed

5 files changed

+22
-48
lines changed

src/librustc/middle/astencode.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@ trait read_method_map_entry_helper {
558558
fn encode_method_map_entry(ecx: @e::EncodeContext,
559559
ebml_w: writer::Encoder,
560560
mme: method_map_entry) {
561-
do ebml_w.emit_rec {
561+
do ebml_w.emit_struct("method_map_entry", 3) {
562562
do ebml_w.emit_field(~"self_arg", 0u) {
563563
ebml_w.emit_arg(ecx, mme.self_arg);
564564
}
@@ -574,7 +574,7 @@ fn encode_method_map_entry(ecx: @e::EncodeContext,
574574
impl read_method_map_entry_helper for reader::Decoder {
575575
fn read_method_map_entry(&self, xcx: @ExtendedDecodeContext)
576576
-> method_map_entry {
577-
do self.read_rec {
577+
do self.read_struct("method_map_entry", 3) {
578578
method_map_entry {
579579
self_arg: self.read_field(~"self_arg", 0u, || {
580580
self.read_arg(xcx)
@@ -817,7 +817,7 @@ impl ebml_writer_helpers for writer::Encoder {
817817
818818
fn emit_tpbt(&self, ecx: @e::EncodeContext,
819819
tpbt: ty::ty_param_bounds_and_ty) {
820-
do self.emit_rec {
820+
do self.emit_struct("ty_param_bounds_and_ty", 3) {
821821
do self.emit_field(~"bounds", 0) {
822822
do self.emit_from_vec(*tpbt.bounds) |bs| {
823823
self.emit_bounds(ecx, *bs);
@@ -1084,7 +1084,7 @@ impl ebml_decoder_decoder_helpers for reader::Decoder {
10841084
fn read_ty_param_bounds_and_ty(&self, xcx: @ExtendedDecodeContext)
10851085
-> ty::ty_param_bounds_and_ty
10861086
{
1087-
do self.read_rec {
1087+
do self.read_struct("ty_param_bounds_and_ty", 3) {
10881088
ty::ty_param_bounds_and_ty {
10891089
bounds: self.read_field(~"bounds", 0u, || {
10901090
@self.read_to_vec(|| self.read_bounds(xcx) )

src/libstd/ebml.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -362,11 +362,6 @@ pub mod reader {
362362
self.push_doc(self.next_doc(EsVecElt), f)
363363
}
364364
365-
fn read_rec<T>(&self, f: &fn() -> T) -> T {
366-
debug!("read_rec()");
367-
f()
368-
}
369-
370365
fn read_struct<T>(&self, name: &str, _len: uint, f: &fn() -> T) -> T {
371366
debug!("read_struct(name=%s)", name);
372367
f()
@@ -644,7 +639,6 @@ pub mod writer {
644639
self.wr_tag(EsVecElt as uint, f)
645640
}
646641
647-
fn emit_rec(&self, f: &fn()) { f() }
648642
fn emit_struct(&self, _name: &str, _len: uint, f: &fn()) { f() }
649643
fn emit_field(&self, name: &str, _idx: uint, f: &fn()) {
650644
self._emit_label(name);

src/libstd/json.rs

Lines changed: 18 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,6 @@ impl serialize::Encoder for Encoder {
141141
f()
142142
}
143143

144-
fn emit_rec(&self, f: &fn()) {
145-
self.wr.write_char('{');
146-
f();
147-
self.wr.write_char('}');
148-
}
149144
fn emit_struct(&self, _name: &str, _len: uint, f: &fn()) {
150145
self.wr.write_char('{');
151146
f();
@@ -253,20 +248,17 @@ impl serialize::Encoder for PrettyEncoder {
253248
f()
254249
}
255250

256-
fn emit_rec(&self, f: &fn()) {
257-
self.wr.write_char('{');
258-
self.indent += 2;
259-
f();
260-
self.wr.write_char('\n');
261-
self.indent -= 2;
262-
self.wr.write_str(spaces(self.indent));
263-
self.wr.write_char('}');
264-
}
265251
fn emit_struct(&self, _name: &str, len: uint, f: &fn()) {
266252
if len == 0 {
267253
self.wr.write_str("{}");
268254
} else {
269-
self.emit_rec(f)
255+
self.wr.write_char('{');
256+
self.indent += 2;
257+
f();
258+
self.wr.write_char('\n');
259+
self.indent -= 2;
260+
self.wr.write_str(spaces(self.indent));
261+
self.wr.write_char('}');
270262
}
271263
}
272264
fn emit_field(&self, name: &str, idx: uint, f: &fn()) {
@@ -286,25 +278,25 @@ impl serialize::Encoder for PrettyEncoder {
286278
fn emit_option_some(&self, f: &fn()) { f(); }
287279
}
288280

289-
impl<S:serialize::Encoder> serialize::Encodable<S> for Json {
290-
fn encode(&self, s: &S) {
281+
impl<E: serialize::Encoder> serialize::Encodable<E> for Json {
282+
fn encode(&self, e: &E) {
291283
match *self {
292-
Number(v) => v.encode(s),
293-
String(ref v) => v.encode(s),
294-
Boolean(v) => v.encode(s),
295-
List(ref v) => v.encode(s),
284+
Number(v) => v.encode(e),
285+
String(ref v) => v.encode(e),
286+
Boolean(v) => v.encode(e),
287+
List(ref v) => v.encode(e),
296288
Object(ref v) => {
297-
do s.emit_rec || {
289+
do e.emit_struct("Object", v.len())|| {
298290
let mut idx = 0;
299291
for v.each |&(key, value)| {
300-
do s.emit_field(*key, idx) {
301-
value.encode(s);
292+
do e.emit_field(*key, idx) {
293+
value.encode(e);
302294
}
303295
idx += 1;
304296
}
305297
}
306298
},
307-
Null => s.emit_nil(),
299+
Null => e.emit_nil(),
308300
}
309301
}
310302
}
@@ -855,13 +847,6 @@ impl<'self> serialize::Decoder for Decoder<'self> {
855847
}
856848
}
857849
858-
fn read_rec<T>(&self, f: &fn() -> T) -> T {
859-
debug!("read_rec()");
860-
let value = f();
861-
self.pop();
862-
value
863-
}
864-
865850
fn read_struct<T>(&self, _name: &str, _len: uint, f: &fn() -> T) -> T {
866851
debug!("read_struct()");
867852
let value = f();
@@ -870,7 +855,7 @@ impl<'self> serialize::Decoder for Decoder<'self> {
870855
}
871856
872857
fn read_field<T>(&self, name: &str, idx: uint, f: &fn() -> T) -> T {
873-
debug!("read_rec_field(%s, idx=%u)", name, idx);
858+
debug!("read_field(%s, idx=%u)", name, idx);
874859
let top = self.peek();
875860
match *top {
876861
Object(ref obj) => {

src/libstd/serialize.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ pub trait Encoder {
4949
fn emit_seq(&self, len: uint, f: &fn());
5050
fn emit_seq_elt(&self, idx: uint, f: &fn());
5151

52-
fn emit_rec(&self, f: &fn());
5352
fn emit_struct(&self, name: &str, _len: uint, f: &fn());
5453
fn emit_field(&self, f_name: &str, f_idx: uint, f: &fn());
5554

@@ -92,7 +91,6 @@ pub trait Decoder {
9291
fn read_seq<T>(&self, f: &fn(uint) -> T) -> T;
9392
fn read_seq_elt<T>(&self, idx: uint, f: &fn() -> T) -> T;
9493

95-
fn read_rec<T>(&self, f: &fn() -> T) -> T;
9694
fn read_struct<T>(&self, name: &str, _len: uint, f: &fn() -> T) -> T;
9795
fn read_field<T>(&self, name: &str, idx: uint, f: &fn() -> T) -> T;
9896

src/libsyntax/ext/auto_encode.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1262,9 +1262,6 @@ mod test {
12621262
self.add_unknown_to_log(); f();
12631263
}
12641264
1265-
fn emit_rec(&self, f: &fn()) {
1266-
self.add_unknown_to_log(); f();
1267-
}
12681265
fn emit_struct(&self, name: &str, +len: uint, f: &fn()) {
12691266
self.add_to_log(CallToEmitStruct (name.to_str(),len)); f();
12701267
}

0 commit comments

Comments
 (0)