Browse Source

Fixed completion bug.

pull/32/merge
Mike Krüger 13 years ago
parent
commit
65706761dd
  1. 4
      ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
  2. 25
      ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs

4
ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs

@ -2439,6 +2439,10 @@ namespace ICSharpCode.NRefactory.CSharp.Completion @@ -2439,6 +2439,10 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
return namespaceContents.Result;
}
IType type = resolveResult.Type;
if (type.Namespace == "System" && type.Name == "Void")
return null;
if (resolvedNode.Parent is PointerReferenceExpression && (type is PointerType)) {
resolveResult = new OperatorResolveResult (((PointerType)type).ElementType, System.Linq.Expressions.ExpressionType.Extension, resolveResult);
}

25
ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs

@ -5900,5 +5900,30 @@ class MainClass @@ -5900,5 +5900,30 @@ class MainClass
Assert.IsFalse(provider.AutoSelect);
});
}
/// <summary>
/// Bug 9896 - Wrong dot completion
/// </summary>
[Test]
public void TestBug9896 ()
{
CombinedProviderTest(
@"using System;
public class Testing
{
public static void DoNothing() {}
public static void Main()
{
$DoNothing ().$
}
}
", provider => {
Assert.IsTrue(provider == null || provider.Count == 0);
});
}
}
}

Loading…
Cancel
Save