diff options
| author | Nick Cameron <ncameron@mozilla.com> | 2016-01-22 18:53:23 +1300 |
|---|---|---|
| committer | Nick Cameron <ncameron@mozilla.com> | 2016-01-22 18:53:23 +1300 |
| commit | cd2287e2bcc2ed9fbf7806b7dac390c4150b0c55 (patch) | |
| tree | a598587cb30096637c17b7098fe8953c620e0989 | |
| parent | 5c1d5fcd87a5595d35bfc90ee3808f482a3566d9 (diff) | |
| download | rust-cd2287e2bcc2ed9fbf7806b7dac390c4150b0c55.tar.gz rust-cd2287e2bcc2ed9fbf7806b7dac390c4150b0c55.zip | |
save-analysis: emit the right kind of variant
| -rw-r--r-- | src/librustc_trans/save/dump_csv.rs | 30 | ||||
| -rw-r--r-- | src/librustc_trans/save/recorder.rs | 3 |
2 files changed, 23 insertions, 10 deletions
diff --git a/src/librustc_trans/save/dump_csv.rs b/src/librustc_trans/save/dump_csv.rs index b109353fac0..a6f8e3f10f1 100644 --- a/src/librustc_trans/save/dump_csv.rs +++ b/src/librustc_trans/save/dump_csv.rs @@ -510,14 +510,28 @@ impl <'l, 'tcx> DumpCsvVisitor<'l, 'tcx> { qualname.push_str(name); let val = self.span.snippet(variant.span); - self.fmt.struct_variant_str(variant.span, - self.span.span_for_first_ident(variant.span), - variant.node.data.id(), - variant.node.data.id(), - &qualname, - &enum_data.qualname, - &val, - enum_data.id); + match variant.node.data { + ast::VariantData::Struct(..) => { + self.fmt.struct_variant_str(variant.span, + self.span.span_for_first_ident(variant.span), + variant.node.data.id(), + &qualname, + &enum_data.qualname, + &val, + enum_data.scope); + } + _ => { + self.fmt.tuple_variant_str(variant.span, + self.span.span_for_first_ident(variant.span), + variant.node.data.id(), + name, + &qualname, + &enum_data.qualname, + &val, + enum_data.scope); + } + } + for field in variant.node.data.fields() { self.process_struct_field_def(field, variant.node.data.id()); diff --git a/src/librustc_trans/save/recorder.rs b/src/librustc_trans/save/recorder.rs index 1db31baf30d..17fdbe2e839 100644 --- a/src/librustc_trans/save/recorder.rs +++ b/src/librustc_trans/save/recorder.rs @@ -433,14 +433,13 @@ impl<'a, 'tcx: 'a> FmtStrs<'a, 'tcx> { span: Span, sub_span: Option<Span>, id: NodeId, - ctor_id: NodeId, name: &str, typ: &str, val: &str, scope_id: NodeId) { let id = self.normalize_node_id(id); + let ctor_id = id; let scope_id = self.normalize_node_id(scope_id); - let ctor_id = self.normalize_node_id(ctor_id); self.check_and_record(VariantStruct, span, sub_span, |
