Browse Source

Fixed failing unit tests.

newNRvisualizers
Mike Krüger 14 years ago
parent
commit
2d808842ea
  1. 7
      ICSharpCode.NRefactory.CSharp/Ast/AstNode.cs
  2. 4
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeActions/CreateFieldAction.cs
  3. 6
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeActions/RemoveBackingStoreAction.cs
  4. 6
      ICSharpCode.NRefactory.Tests/CSharp/CodeActions/CreateFieldTests.cs

7
ICSharpCode.NRefactory.CSharp/Ast/AstNode.cs

@ -306,7 +306,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -306,7 +306,7 @@ namespace ICSharpCode.NRefactory.CSharp
/// Gets the first child with the specified role.
/// Returns the role's null object if the child is not found.
/// </summary>
public T GetChildByRole<T> (Role<T> role) where T : AstNode
public T GetChildByRole<T>(Role<T> role) where T : AstNode
{
if (role == null)
throw new ArgumentNullException ("role");
@ -318,6 +318,11 @@ namespace ICSharpCode.NRefactory.CSharp @@ -318,6 +318,11 @@ namespace ICSharpCode.NRefactory.CSharp
return role.NullObject;
}
public T GetParent<T>() where T : AstNode
{
return Ancestors.OfType<T>().FirstOrDefault();
}
public AstNodeCollection<T> GetChildrenByRole<T> (Role<T> role) where T : AstNode
{
return new AstNodeCollection<T> (this, role);

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

@ -52,15 +52,13 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -52,15 +52,13 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
if (IsInvocationTarget(identifier)) {
yield break;
}
var statement = context.GetNode<Statement>();
var statement = identifier.GetParent<Statement>();
if (statement == null) {
yield break;
}
if (!(context.Resolve(identifier).IsError)) {
yield break;
}
var guessedType = CreateFieldAction.GuessAstType(context, identifier);
if (guessedType == null) {
yield break;

6
ICSharpCode.NRefactory.CSharp/Refactoring/CodeActions/RemoveBackingStoreAction.cs

@ -48,10 +48,10 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -48,10 +48,10 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
newProperty.Getter.Body = BlockStatement.Null;
newProperty.Setter.Body = BlockStatement.Null;
yield return new CodeAction (context.TranslateString("Remove backing store"), script => {
script.Remove (context.RootNode.GetNodeAt<FieldDeclaration> (field.Region.BeginLine, field.Region.BeginColumn));
yield return new CodeAction(context.TranslateString("Remove backing store"), script => {
script.Rename((IEntity)field, newProperty.Name);
script.Remove (context.RootNode.GetNodeAt<FieldDeclaration> (field.Region.Begin));
script.Replace (property, newProperty);
script.Rename ((IEntity)field, newProperty.Name);
});
}

6
ICSharpCode.NRefactory.Tests/CSharp/CodeActions/CreateFieldTests.cs

@ -177,7 +177,7 @@ namespace ICSharpCode.NRefactory.CSharp.CodeActions @@ -177,7 +177,7 @@ namespace ICSharpCode.NRefactory.CSharp.CodeActions
"{" + Environment.NewLine +
" static void Test ()" + Environment.NewLine +
" {" + Environment.NewLine +
" $foo = 0x10;" + Environment.NewLine +
" $Foo = 0x10;" + Environment.NewLine +
" }" + Environment.NewLine +
"}"
);
@ -186,11 +186,11 @@ namespace ICSharpCode.NRefactory.CSharp.CodeActions @@ -186,11 +186,11 @@ namespace ICSharpCode.NRefactory.CSharp.CodeActions
"using System;" + Environment.NewLine +
"class TestClass" + Environment.NewLine +
"{" + Environment.NewLine +
" static int foo;" + Environment.NewLine +
" static int Foo;" + Environment.NewLine +
"" + Environment.NewLine +
" static void Test ()" + Environment.NewLine +
" {" + Environment.NewLine +
" foo = 0x10;" + Environment.NewLine +
" Foo = 0x10;" + Environment.NewLine +
" }" + Environment.NewLine +
"}", result);
}

Loading…
Cancel
Save