Browse Source

[CodeCompletion] Fixed variable hiding bug.

newNRvisualizers
Mike Krüger 13 years ago
parent
commit
23fb23ca46
  1. 3
      ICSharpCode.NRefactory.CSharp/Completion/CompletionDataWrapper.cs
  2. 20
      ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionAccessibleTests.cs

3
ICSharpCode.NRefactory.CSharp/Completion/CompletionDataWrapper.cs

@ -158,6 +158,9 @@ namespace ICSharpCode.NRefactory.CSharp.Completion @@ -158,6 +158,9 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
public ICompletionData AddMember (IMember member)
{
if (data.ContainsKey (member.Name))
return null;
var newData = Factory.CreateEntityCompletionData (member);
if (member.ParentAssembly != completion.ctx.CurrentAssembly && !member.IsBrowsable ())

20
ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionAccessibleTests.cs

@ -1517,5 +1517,25 @@ class Test @@ -1517,5 +1517,25 @@ class Test
Assert.IsNull (provider.Find ("TestMethod"), "'TestMethod' found.");
});
}
[Test]
public void TestVariableHiding ()
{
CodeCompletionBugTests.CombinedProviderTest (@"
using System;
class Test
{
static string test;
public static void Main (int test)
{
$f$
}
}
", provider => {
Assert.AreEqual (1, provider.Data.Count (p => p.DisplayText == "test"));
});
}
}
}
Loading…
Cancel
Save