Browse Source

Fixed completion bug.

newNRvisualizers
mike 13 years ago
parent
commit
7fb257f5ea
  1. 6
      ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
  2. 23
      ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/NameContextTests.cs

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

@ -622,7 +622,6 @@ namespace ICSharpCode.NRefactory.CSharp.Completion @@ -622,7 +622,6 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
if (currentType != null && currentType.Kind == TypeKind.Enum) {
return HandleEnumContext();
}
var contextList = new CompletionDataWrapper(this);
var identifierStart = GetExpressionAtCursor();
if (identifierStart != null) {
@ -1441,8 +1440,9 @@ namespace ICSharpCode.NRefactory.CSharp.Completion @@ -1441,8 +1440,9 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
return null;
}
switch (word) {
case "using":
case "namespace":
return null;
case "using":
if (currentType != null) {
return null;
}
@ -2626,6 +2626,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion @@ -2626,6 +2626,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
location,
n => n is IdentifierExpression || n is MemberReferenceExpression
);
if (expr == null) {
expr = baseUnit.GetNodeAt<AstType>(location.Line, location.Column - 1);
}
@ -2736,6 +2737,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion @@ -2736,6 +2737,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
expr = baseUnit.GetNodeAt<AstType>(location.Line, location.Column);
}
}
if (expr == null) {
return null;
}

23
ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/NameContextTests.cs

@ -37,7 +37,28 @@ namespace ICSharpCode.NRefactory.CSharp.CodeCompletion @@ -37,7 +37,28 @@ namespace ICSharpCode.NRefactory.CSharp.CodeCompletion
var provider = CodeCompletionBugTests.CreateProvider (@"$namespace n$");
Assert.IsTrue (provider == null || provider.Count == 0, "provider should be empty.");
}
[Test()]
public void TestNamespaceNameCase2 ()
{
var provider = CodeCompletionBugTests.CreateProvider (@"$namespace $");
Assert.IsTrue (provider == null || provider.Count == 0, "provider should be empty.");
}
[Ignore("Parser bug.")]
[Test()]
public void TestNamespaceNameCase3 ()
{
var provider = CodeCompletionBugTests.CreateProvider (@"$namespace Foo.b$");
Assert.IsTrue (provider == null || provider.Count == 0, "provider should be empty.");
}
[Test()]
public void TestNamespaceNameCase4 ()
{
var provider = CodeCompletionBugTests.CreateProvider (@"$namespace Foo.$");
Assert.IsTrue (provider == null || provider.Count == 0, "provider should be empty.");
}
[Test()]
public void TestClassName ()
{

Loading…
Cancel
Save