Browse Source

Add message text to CS0618UsageOfObsoleteMemberIssue

pull/517/head
Siegfried Pammer 11 years ago
parent
commit
0f2cd67515
  1. 8
      src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp.Refactoring/CodeIssues/Custom/CompilerErrors/CS0618UsageOfObsoleteMemberIssue.cs

8
src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp.Refactoring/CodeIssues/Custom/CompilerErrors/CS0618UsageOfObsoleteMemberIssue.cs

@ -72,7 +72,11 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -72,7 +72,11 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
var attr = member.Attributes.FirstOrDefault(a => a.AttributeType.Name == "ObsoleteAttribute" && a.AttributeType.Namespace == "System");
if (attr == null)
return;
AddIssue(new CodeIssue(nodeToMark, string.Format(ctx.TranslateString("'{0}' is obsolete"), member.FullName)));
var message = attr.PositionalArguments.SingleOrDefault(arg => !arg.IsError && arg.ConstantValue is string);
if (message != null)
AddIssue(new CodeIssue(nodeToMark, string.Format(ctx.TranslateString("'{0}' is obsolete: '{1}'"), member.FullName, message.ConstantValue)));
else
AddIssue(new CodeIssue(nodeToMark, string.Format(ctx.TranslateString("'{0}' is obsolete"), member.FullName)));
}
public override void VisitMemberReferenceExpression(MemberReferenceExpression memberReferenceExpression)
@ -109,7 +113,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -109,7 +113,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
{
foreach (var section in entity.Attributes) {
foreach (var attr in section.Attributes) {
var rr = ctx.Resolve(attr);
var rr = ctx.Resolve(attr);
if (rr.Type.Name == "ObsoleteAttribute" && rr.Type.Namespace == "System")
return true;
}

Loading…
Cancel
Save