From: Patrick Walton Date: Fri, 31 Jan 2014 20:28:56 +0000 (-0800) Subject: librustc: De-`@str` debuginfo X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=1e0c07d011959df334d2903ff050c2bc31a3909e;p=rust.git librustc: De-`@str` debuginfo --- diff --git a/src/librustc/middle/trans/debuginfo.rs b/src/librustc/middle/trans/debuginfo.rs index 030f38b1745..d619e9ce876 100644 --- a/src/librustc/middle/trans/debuginfo.rs +++ b/src/librustc/middle/trans/debuginfo.rs @@ -1139,9 +1139,10 @@ fn create_member_descriptions(&self, cx: &CrateContext) -> ~[MemberDescription] { self.fields.map(|field| { let name = if field.ident.name == special_idents::unnamed_field.name { - @"" + ~"" } else { - token::ident_to_str(&field.ident) + let string = token::get_ident(field.ident.name); + string.get().to_str() }; MemberDescription { @@ -1244,7 +1245,7 @@ fn create_member_descriptions(&self, cx: &CrateContext) -> ~[MemberDescription] { self.component_types.map(|&component_type| { MemberDescription { - name: @"", + name: ~"", llvm_type: type_of::type_of(cx, component_type), type_metadata: type_metadata(cx, component_type, self.span), offset: ComputedMemberOffset, @@ -1322,7 +1323,7 @@ fn create_member_descriptions(&self, cx: &CrateContext) self.file_metadata, codemap::DUMMY_SP); MemberDescription { - name: @"", + name: ~"", llvm_type: variant_llvm_type, type_metadata: variant_type_metadata, offset: FixedMemberOffset { bytes: 0 }, @@ -1332,7 +1333,7 @@ fn create_member_descriptions(&self, cx: &CrateContext) } struct EnumVariantMemberDescriptionFactory { - args: ~[(@str, ty::t)], + args: ~[(~str, ty::t)], discriminant_type_metadata: Option, span: Span, } @@ -1340,9 +1341,9 @@ struct EnumVariantMemberDescriptionFactory { impl MemberDescriptionFactory for EnumVariantMemberDescriptionFactory { fn create_member_descriptions(&self, cx: &CrateContext) -> ~[MemberDescription] { - self.args.iter().enumerate().map(|(i, &(name, ty))| { + self.args.iter().enumerate().map(|(i, &(ref name, ty))| { MemberDescription { - name: name, + name: name.to_str(), llvm_type: type_of::type_of(cx, ty), type_metadata: match self.discriminant_type_metadata { Some(metadata) if i == 0 => metadata, @@ -1395,19 +1396,24 @@ fn describe_enum_variant(cx: &CrateContext, // Get the argument names from the enum variant info let mut arg_names = match variant_info.arg_names { - Some(ref names) => names.map(|ident| token::ident_to_str(ident)), - None => variant_info.args.map(|_| @"") + Some(ref names) => { + names.map(|ident| { + let string = token::get_ident(ident.name); + string.get().to_str() + }) + } + None => variant_info.args.map(|_| ~"") }; // If this is not a univariant enum, there is also the (unnamed) discriminant field if discriminant_type_metadata.is_some() { - arg_names.insert(0, @""); + arg_names.insert(0, ~""); } // Build an array of (field name, field type) pairs to be captured in the factory closure. - let args: ~[(@str, ty::t)] = arg_names.iter() + let args: ~[(~str, ty::t)] = arg_names.iter() .zip(struct_def.fields.iter()) - .map(|(&s, &t)| (s, t)) + .map(|(s, &t)| (s.to_str(), t)) .collect(); let member_description_factory = @@ -1580,7 +1586,7 @@ enum MemberOffset { } struct MemberDescription { - name: @str, + name: ~str, llvm_type: Type, type_metadata: DIType, offset: MemberOffset, @@ -1737,31 +1743,31 @@ fn boxed_type_metadata(cx: &CrateContext, let member_descriptions = [ MemberDescription { - name: @"refcnt", + name: ~"refcnt", llvm_type: member_llvm_types[0], type_metadata: type_metadata(cx, int_type, codemap::DUMMY_SP), offset: ComputedMemberOffset, }, MemberDescription { - name: @"tydesc", + name: ~"tydesc", llvm_type: member_llvm_types[1], type_metadata: nil_pointer_type_metadata, offset: ComputedMemberOffset, }, MemberDescription { - name: @"prev", + name: ~"prev", llvm_type: member_llvm_types[2], type_metadata: nil_pointer_type_metadata, offset: ComputedMemberOffset, }, MemberDescription { - name: @"next", + name: ~"next", llvm_type: member_llvm_types[3], type_metadata: nil_pointer_type_metadata, offset: ComputedMemberOffset, }, MemberDescription { - name: @"val", + name: ~"val", llvm_type: member_llvm_types[4], type_metadata: content_type_metadata, offset: ComputedMemberOffset, @@ -1848,19 +1854,19 @@ fn vec_metadata(cx: &CrateContext, let member_descriptions = [ MemberDescription { - name: @"fill", + name: ~"fill", llvm_type: member_llvm_types[0], type_metadata: int_type_metadata, offset: ComputedMemberOffset, }, MemberDescription { - name: @"alloc", + name: ~"alloc", llvm_type: member_llvm_types[1], type_metadata: int_type_metadata, offset: ComputedMemberOffset, }, MemberDescription { - name: @"elements", + name: ~"elements", llvm_type: member_llvm_types[2], type_metadata: array_type_metadata, offset: ComputedMemberOffset, @@ -1917,13 +1923,13 @@ fn vec_slice_metadata(cx: &CrateContext, let member_descriptions = [ MemberDescription { - name: @"data_ptr", + name: ~"data_ptr", llvm_type: member_llvm_types[0], type_metadata: type_metadata(cx, data_ptr_type, span), offset: ComputedMemberOffset, }, MemberDescription { - name: @"length", + name: ~"length", llvm_type: member_llvm_types[1], type_metadata: type_metadata(cx, ty::mk_uint(), span), offset: ComputedMemberOffset, @@ -2714,7 +2720,7 @@ fn walk_expr(cx: &CrateContext, ast::ExprInlineAsm(ast::InlineAsm { inputs: ref inputs, outputs: ref outputs, .. }) => { - // inputs, outputs: ~[(@str, @expr)] + // inputs, outputs: ~[(~str, @expr)] for &(_, exp) in inputs.iter() { walk_expr(cx, exp, scope_stack, scope_map); }