Browse Source

Fixed parameter name guessing.

newNRvisualizers
Mike Krüger 14 years ago
parent
commit
627bbb744f
  1. 4
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeActions/CreateMethodDeclarationAction.cs
  2. 23
      ICSharpCode.NRefactory.Tests/CSharp/CodeActions/CreateMethodDeclarationTests.cs

4
ICSharpCode.NRefactory.CSharp/Refactoring/CodeActions/CreateMethodDeclarationAction.cs

@ -234,7 +234,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -234,7 +234,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
if (node is DirectionExpression) {
node = ((DirectionExpression)node).Expression;
}
if (node is IdentifierExpression) {
name = ((IdentifierExpression)node).Identifier;
} else if (node is MemberReferenceExpression) {
@ -243,8 +242,9 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -243,8 +242,9 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
var pe = (PrimitiveExpression)node;
if (pe.Value is string) {
name = CreateBaseNameFromString(pe.Value.ToString());
} else {
name = char.ToLower(type.Name [0]).ToString();
}
name = char.ToLower(type.Name [0]).ToString();
} else {
name = type.Kind == TypeKind.Unknown ? "par" : type.Name;
}

23
ICSharpCode.NRefactory.Tests/CSharp/CodeActions/CreateMethodDeclarationTests.cs

@ -546,6 +546,29 @@ namespace Test { @@ -546,6 +546,29 @@ namespace Test {
}
");
}
[Test()]
public void TestStringParameterNameGuessing ()
{
TestCreateMethod (@"class TestClass
{
static void TestMethod ()
{
$NonExistantMethod (""Hello World!"");
}
}", @"class TestClass
{
static void NonExistantMethod (string helloWorld)
{
throw new System.NotImplementedException ();
}
static void TestMethod ()
{
NonExistantMethod (""Hello World!"");
}
}");
}
}
}

Loading…
Cancel
Save