Browse Source

Remove redundant empty argument list is now much less intrusive.

pull/32/merge
Mike Krüger 13 years ago
parent
commit
ee0479e2ff
  1. 10
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/RedundantObjectCreationArgumentListIssue.cs
  2. 4
      ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/RedundantObjectCreationArgumentListIssueTests.cs

10
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/RedundantObjectCreationArgumentListIssue.cs

@ -58,10 +58,12 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
AddIssue (objectCreateExpression.LParToken.StartLocation, objectCreateExpression.RParToken.EndLocation, AddIssue (objectCreateExpression.LParToken.StartLocation, objectCreateExpression.RParToken.EndLocation,
ctx.TranslateString ("Remove redundant empty argument list"), script => { ctx.TranslateString ("Remove redundant empty argument list"), script => {
var expr = new ObjectCreateExpression (objectCreateExpression.Type.Clone ()) { var l1 = objectCreateExpression.LParToken.GetPrevNode ().EndLocation;
Initializer = (ArrayInitializerExpression)objectCreateExpression.Initializer.Clone () var l2 = objectCreateExpression.RParToken.GetNextNode ().StartLocation;
}; var o1 = script.GetCurrentOffset (l1);
script.Replace (objectCreateExpression, expr); var o2 = script.GetCurrentOffset (l2);
script.Replace (o1, o2 - o1, " ");
}); });
} }
} }

4
ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/RedundantObjectCreationArgumentListIssueTests.cs

@ -53,8 +53,8 @@ class TestClass
void TestMethod () void TestMethod ()
{ {
var x = new TestClass { var x = new TestClass {
Prop = 1 Prop = 1
}; };
} }
}"; }";
Test<RedundantObjectCreationArgumentListIssue> (input, 1, output); Test<RedundantObjectCreationArgumentListIssue> (input, 1, output);

Loading…
Cancel
Save