Skip to content

Commit 97cc571

Browse files
committed
std: clean up the order of {De,En}codable methods
1 parent 4464e44 commit 97cc571

File tree

4 files changed

+87
-88
lines changed

4 files changed

+87
-88
lines changed

src/libstd/ebml.rs

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -335,20 +335,6 @@ pub mod reader {
335335
f()
336336
}
337337
338-
fn read_seq<T>(&self, f: &fn(uint) -> T) -> T {
339-
debug!("read_seq()");
340-
do self.push_doc(self.next_doc(EsVec)) {
341-
let len = self._next_uint(EsVecLen);
342-
debug!(" len=%u", len);
343-
f(len)
344-
}
345-
}
346-
347-
fn read_seq_elt<T>(&self, idx: uint, f: &fn() -> T) -> T {
348-
debug!("read_seq_elt(idx=%u)", idx);
349-
self.push_doc(self.next_doc(EsVecElt), f)
350-
}
351-
352338
fn read_struct<T>(&self, name: &str, _len: uint, f: &fn() -> T) -> T {
353339
debug!("read_struct(name=%s)", name);
354340
f()
@@ -373,6 +359,20 @@ pub mod reader {
373359
}
374360
}
375361
362+
fn read_seq<T>(&self, f: &fn(uint) -> T) -> T {
363+
debug!("read_seq()");
364+
do self.push_doc(self.next_doc(EsVec)) {
365+
let len = self._next_uint(EsVecLen);
366+
debug!(" len=%u", len);
367+
f(len)
368+
}
369+
}
370+
371+
fn read_seq_elt<T>(&self, idx: uint, f: &fn() -> T) -> T {
372+
debug!("read_seq_elt(idx=%u)", idx);
373+
self.push_doc(self.next_doc(EsVecElt), f)
374+
}
375+
376376
fn read_map<T>(&self, _f: &fn(uint) -> T) -> T {
377377
debug!("read_map()");
378378
fail!(~"read_map is unimplemented");
@@ -613,17 +613,6 @@ pub mod writer {
613613
}
614614
fn emit_enum_variant_arg(&self, _idx: uint, f: &fn()) { f() }
615615
616-
fn emit_seq(&self, len: uint, f: &fn()) {
617-
do self.wr_tag(EsVec as uint) {
618-
self._emit_tagged_uint(EsVecLen, len);
619-
f()
620-
}
621-
}
622-
623-
fn emit_seq_elt(&self, _idx: uint, f: &fn()) {
624-
self.wr_tag(EsVecElt as uint, f)
625-
}
626-
627616
fn emit_struct(&self, _name: &str, _len: uint, f: &fn()) { f() }
628617
fn emit_field(&self, name: &str, _idx: uint, f: &fn()) {
629618
self._emit_label(name);
@@ -640,6 +629,17 @@ pub mod writer {
640629
self.emit_enum_variant("Some", 1, 1, f)
641630
}
642631
632+
fn emit_seq(&self, len: uint, f: &fn()) {
633+
do self.wr_tag(EsVec as uint) {
634+
self._emit_tagged_uint(EsVecLen, len);
635+
f()
636+
}
637+
}
638+
639+
fn emit_seq_elt(&self, _idx: uint, f: &fn()) {
640+
self.wr_tag(EsVecElt as uint, f)
641+
}
642+
643643
fn emit_map(&self, _len: uint, _f: &fn()) {
644644
fail!(~"emit_map is unimplemented");
645645
}

src/libstd/json.rs

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -130,17 +130,6 @@ impl serialize::Encoder for Encoder {
130130
f();
131131
}
132132

133-
fn emit_seq(&self, _len: uint, f: &fn()) {
134-
self.wr.write_char('[');
135-
f();
136-
self.wr.write_char(']');
137-
}
138-
139-
fn emit_seq_elt(&self, idx: uint, f: &fn()) {
140-
if idx != 0 { self.wr.write_char(','); }
141-
f()
142-
}
143-
144133
fn emit_struct(&self, _name: &str, _len: uint, f: &fn()) {
145134
self.wr.write_char('{');
146135
f();
@@ -157,6 +146,17 @@ impl serialize::Encoder for Encoder {
157146
fn emit_option_none(&self) { self.emit_nil(); }
158147
fn emit_option_some(&self, f: &fn()) { f(); }
159148

149+
fn emit_seq(&self, _len: uint, f: &fn()) {
150+
self.wr.write_char('[');
151+
f();
152+
self.wr.write_char(']');
153+
}
154+
155+
fn emit_seq_elt(&self, idx: uint, f: &fn()) {
156+
if idx != 0 { self.wr.write_char(','); }
157+
f()
158+
}
159+
160160
fn emit_map(&self, _len: uint, f: &fn()) {
161161
self.wr.write_char('{');
162162
f();
@@ -241,58 +241,58 @@ impl serialize::Encoder for PrettyEncoder {
241241
f()
242242
}
243243

244-
fn emit_seq(&self, len: uint, f: &fn()) {
244+
fn emit_struct(&self, _name: &str, len: uint, f: &fn()) {
245245
if len == 0 {
246-
self.wr.write_str("[]");
246+
self.wr.write_str("{}");
247247
} else {
248-
self.wr.write_char('[');
248+
self.wr.write_char('{');
249249
self.indent += 2;
250250
f();
251251
self.wr.write_char('\n');
252252
self.indent -= 2;
253253
self.wr.write_str(spaces(self.indent));
254-
self.wr.write_char(']');
254+
self.wr.write_char('}');
255255
}
256256
}
257-
fn emit_seq_elt(&self, idx: uint, f: &fn()) {
257+
fn emit_field(&self, name: &str, idx: uint, f: &fn()) {
258258
if idx == 0 {
259259
self.wr.write_char('\n');
260260
} else {
261261
self.wr.write_str(",\n");
262262
}
263263
self.wr.write_str(spaces(self.indent));
264-
f()
264+
self.wr.write_str(escape_str(name));
265+
self.wr.write_str(": ");
266+
f();
265267
}
266268

267-
fn emit_struct(&self, _name: &str, len: uint, f: &fn()) {
269+
fn emit_option(&self, f: &fn()) { f(); }
270+
fn emit_option_none(&self) { self.emit_nil(); }
271+
fn emit_option_some(&self, f: &fn()) { f(); }
272+
273+
fn emit_seq(&self, len: uint, f: &fn()) {
268274
if len == 0 {
269-
self.wr.write_str("{}");
275+
self.wr.write_str("[]");
270276
} else {
271-
self.wr.write_char('{');
277+
self.wr.write_char('[');
272278
self.indent += 2;
273279
f();
274280
self.wr.write_char('\n');
275281
self.indent -= 2;
276282
self.wr.write_str(spaces(self.indent));
277-
self.wr.write_char('}');
283+
self.wr.write_char(']');
278284
}
279285
}
280-
fn emit_field(&self, name: &str, idx: uint, f: &fn()) {
286+
fn emit_seq_elt(&self, idx: uint, f: &fn()) {
281287
if idx == 0 {
282288
self.wr.write_char('\n');
283289
} else {
284290
self.wr.write_str(",\n");
285291
}
286292
self.wr.write_str(spaces(self.indent));
287-
self.wr.write_str(escape_str(name));
288-
self.wr.write_str(": ");
289-
f();
293+
f()
290294
}
291295

292-
fn emit_option(&self, f: &fn()) { f(); }
293-
fn emit_option_none(&self) { self.emit_nil(); }
294-
fn emit_option_some(&self, f: &fn()) { f(); }
295-
296296
fn emit_map(&self, len: uint, f: &fn()) {
297297
if len == 0 {
298298
self.wr.write_str("{}");
@@ -827,26 +827,6 @@ impl serialize::Decoder for Decoder {
827827
f()
828828
}
829829
830-
fn read_seq<T>(&self, f: &fn(uint) -> T) -> T {
831-
debug!("read_seq()");
832-
let len = match self.stack.pop() {
833-
List(list) => {
834-
let len = list.len();
835-
do vec::consume_reverse(list) |_i, v| {
836-
self.stack.push(v);
837-
}
838-
len
839-
}
840-
_ => fail!(~"not a list"),
841-
};
842-
f(len)
843-
}
844-
845-
fn read_seq_elt<T>(&self, idx: uint, f: &fn() -> T) -> T {
846-
debug!("read_seq_elt(idx=%u)", idx);
847-
f()
848-
}
849-
850830
fn read_struct<T>(&self, name: &str, len: uint, f: &fn() -> T) -> T {
851831
debug!("read_struct(name=%s, len=%u)", name, len);
852832
let value = f();
@@ -880,6 +860,26 @@ impl serialize::Decoder for Decoder {
880860
}
881861
}
882862
863+
fn read_seq<T>(&self, f: &fn(uint) -> T) -> T {
864+
debug!("read_seq()");
865+
let len = match self.stack.pop() {
866+
List(list) => {
867+
let len = list.len();
868+
do vec::consume_reverse(list) |_i, v| {
869+
self.stack.push(v);
870+
}
871+
len
872+
}
873+
_ => fail!(~"not a list"),
874+
};
875+
f(len)
876+
}
877+
878+
fn read_seq_elt<T>(&self, idx: uint, f: &fn() -> T) -> T {
879+
debug!("read_seq_elt(idx=%u)", idx);
880+
f()
881+
}
882+
883883
fn read_map<T>(&self, f: &fn(uint) -> T) -> T {
884884
debug!("read_map()");
885885
let len = match self.stack.pop() {

src/libstd/serialize.rs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,10 @@ pub trait Encoder {
4444
fn emit_str(&self, v: &str);
4545

4646
// Compound types:
47-
4847
fn emit_enum(&self, name: &str, f: &fn());
4948
fn emit_enum_variant(&self, v_name: &str, v_id: uint, sz: uint, f: &fn());
5049
fn emit_enum_variant_arg(&self, idx: uint, f: &fn());
5150

52-
fn emit_seq(&self, len: uint, f: &fn());
53-
fn emit_seq_elt(&self, idx: uint, f: &fn());
54-
5551
fn emit_struct(&self, name: &str, _len: uint, f: &fn());
5652
fn emit_field(&self, f_name: &str, f_idx: uint, f: &fn());
5753

@@ -60,6 +56,9 @@ pub trait Encoder {
6056
fn emit_option_none(&self);
6157
fn emit_option_some(&self, f: &fn());
6258

59+
fn emit_seq(&self, len: uint, f: &fn());
60+
fn emit_seq_elt(&self, idx: uint, f: &fn());
61+
6362
fn emit_map(&self, len: uint, f: &fn());
6463
fn emit_map_elt_key(&self, idx: uint, f: &fn());
6564
fn emit_map_elt_val(&self, idx: uint, f: &fn());
@@ -90,15 +89,15 @@ pub trait Decoder {
9089
fn read_enum_variant<T>(&self, names: &[&str], f: &fn(uint) -> T) -> T;
9190
fn read_enum_variant_arg<T>(&self, idx: uint, f: &fn() -> T) -> T;
9291

93-
fn read_seq<T>(&self, f: &fn(uint) -> T) -> T;
94-
fn read_seq_elt<T>(&self, idx: uint, f: &fn() -> T) -> T;
95-
9692
fn read_struct<T>(&self, name: &str, _len: uint, f: &fn() -> T) -> T;
9793
fn read_field<T>(&self, name: &str, idx: uint, f: &fn() -> T) -> T;
9894

9995
// Specialized types:
10096
fn read_option<T>(&self, f: &fn(bool) -> T) -> T;
10197

98+
fn read_seq<T>(&self, f: &fn(uint) -> T) -> T;
99+
fn read_seq_elt<T>(&self, idx: uint, f: &fn() -> T) -> T;
100+
102101
fn read_map<T>(&self, f: &fn(uint) -> T) -> T;
103102
fn read_map_elt_key<T>(&self, idx: uint, f: &fn() -> T) -> T;
104103
fn read_map_elt_val<T>(&self, idx: uint, f: &fn() -> T) -> T;

src/libsyntax/ext/auto_encode.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1253,13 +1253,6 @@ mod test {
12531253
self.add_to_log(CallToEmitEnumVariantArg (idx)); f();
12541254
}
12551255
1256-
fn emit_seq(&self, +_len: uint, f: &fn()) {
1257-
self.add_unknown_to_log(); f();
1258-
}
1259-
fn emit_seq_elt(&self, +_idx: uint, f: &fn()) {
1260-
self.add_unknown_to_log(); f();
1261-
}
1262-
12631256
fn emit_struct(&self, name: &str, +len: uint, f: &fn()) {
12641257
self.add_to_log(CallToEmitStruct (name.to_str(),len)); f();
12651258
}
@@ -1279,6 +1272,13 @@ mod test {
12791272
f();
12801273
}
12811274
1275+
fn emit_seq(&self, +_len: uint, f: &fn()) {
1276+
self.add_unknown_to_log(); f();
1277+
}
1278+
fn emit_seq_elt(&self, +_idx: uint, f: &fn()) {
1279+
self.add_unknown_to_log(); f();
1280+
}
1281+
12821282
fn emit_map(&self, _len: uint, f: &fn()) {
12831283
self.add_unknown_to_log(); f();
12841284
}

0 commit comments

Comments
 (0)