let fv = astencode_gen::deserialize_middle_typeck_method_origin(self);
fv.tr(xcx)
}
+ fn read_is_last_use(xcx: extended_decode_ctxt) -> last_use::is_last_use {
+ let lu = astencode_gen::deserialize_middle_last_use_is_last_use(self);
+ lu.tr(xcx)
+ }
}
impl of tr for method_origin {
}
}
+impl of tr for last_use::is_last_use {
+ fn tr(xcx: extended_decode_ctxt) -> last_use::is_last_use {
+ alt self {
+ last_use::is_last_use | last_use::has_last_use { self }
+ last_use::closes_over(ids) {
+ last_use::closes_over(vec::map(ids, {|id| xcx.tr_id(id)}))
+ }
+ }
+ }
+}
+
// ______________________________________________________________________
// Encoding and decoding dict_res
}
}
- option::may(ccx.maps.last_uses.find(id)) {|_m|
+ option::may(ccx.maps.last_uses.find(id)) {|m|
ebml_w.tag(c::tag_table_last_use) {||
ebml_w.id(id);
+ ebml_w.tag(c::tag_table_val) {||
+ astencode_gen::serialize_middle_last_use_is_last_use(ebml_w, m)
+ }
}
}
dcx.maps.mutbl_map.insert(id, ());
} else if tag == (c::tag_table_copy as uint) {
dcx.maps.copy_map.insert(id, ());
- } else if tag == (c::tag_table_last_use as uint) {
- dcx.maps.last_uses.insert(id, last_use::is_last_use);
} else {
let val_doc = entry_doc[c::tag_table_val];
let val_dsr = serialization::mk_ebml_deserializer(val_doc);
} else if tag == (c::tag_table_param_bounds as uint) {
let bounds = val_dsr.read_bounds(xcx);
dcx.tcx.ty_param_bounds.insert(id, bounds);
+ } else if tag == (c::tag_table_last_use as uint) {
+ dcx.maps.last_uses.insert(id, val_dsr.read_is_last_use(xcx));
} else if tag == (c::tag_table_method_map as uint) {
dcx.maps.method_map.insert(id,
val_dsr.read_method_origin(xcx));
-> syntax::ast::inlined_item {
deserialize_171(s)
}
+/*[syntax::ast::node_id]*/
+fn serialize_172<S: std::serialization::serializer>(s: S,
+ v:
+ [syntax::ast::node_id]) {
+ s.emit_vec(vec::len(v), /*syntax::ast::node_id*/
+ {||
+ vec::iteri(v,
+ {|i, e|
+ s.emit_vec_elt(i, {|| serialize_27(s, e) })
+ })
+ });
+}
+/*middle::last_use::is_last_use*/
+fn serialize_173<S: std::serialization::serializer>(s: S,
+ v:
+ middle::last_use::is_last_use) {
+ s.emit_enum("middle::last_use::is_last_use",
+
+
+ /*[syntax::ast::node_id]*/
+ {||
+ alt v {
+ middle::last_use::is_last_use {
+ s.emit_enum_variant("middle::last_use::is_last_use",
+ 0u, 0u, {|| })
+ }
+ middle::last_use::has_last_use {
+ s.emit_enum_variant("middle::last_use::has_last_use",
+ 1u, 0u, {|| })
+ }
+ middle::last_use::closes_over(v0) {
+ s.emit_enum_variant("middle::last_use::closes_over",
+ 2u, 1u,
+ {||
+ {
+ s.emit_enum_variant_arg(0u,
+ {||
+ serialize_172(s,
+ v0)
+ })
+ }
+ })
+ }
+ }
+ });
+}
+fn serialize_middle_last_use_is_last_use<S: std::serialization::serializer>(s:
+ S,
+ v:
+ middle::last_use::is_last_use) {
+ serialize_173(s, v);
+}
+/*[syntax::ast::node_id]*/
+fn deserialize_172<S: std::serialization::deserializer>(s: S) ->
+ [syntax::ast::node_id] {
+ s.read_vec(
+
+ /*syntax::ast::node_id*/
+ {|len|
+ vec::init_fn(len,
+ {|i|
+ s.read_vec_elt(i, {|| deserialize_27(s) })
+ })
+ })
+}
+/*middle::last_use::is_last_use*/
+fn deserialize_173<S: std::serialization::deserializer>(s: S) ->
+ middle::last_use::is_last_use {
+ s.read_enum("middle::last_use::is_last_use",
+
+
+
+
+ /*[syntax::ast::node_id]*/
+ {||
+ s.read_enum_variant({|v_id|
+ alt check v_id {
+ 0u {
+ middle::last_use::is_last_use
+ }
+ 1u {
+ middle::last_use::has_last_use
+ }
+ 2u {
+ middle::last_use::closes_over(s.read_enum_variant_arg(0u,
+ {||
+ deserialize_172(s)
+ }))
+ }
+ }
+ })
+ })
+}
+fn deserialize_middle_last_use_is_last_use<S: std::serialization::deserializer>(s:
+ S)
+ -> middle::last_use::is_last_use {
+ deserialize_173(s)
+}