Browse Source

Fixed completion case.

newNRvisualizers
Mike Krüger 14 years ago
parent
commit
b7c1490d7f
  1. 9
      ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
  2. 26
      ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs

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

@ -770,6 +770,15 @@ namespace ICSharpCode.NRefactory.CSharp.Completion @@ -770,6 +770,15 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
if (memberPred == null || memberPred (member))
wrapper.AddMember (member);
}
var declaring = def.DeclaringTypeDefinition;
while (declaring != null) {
foreach (var member in declaring.GetMembers (m => m.IsStatic)) {
if (memberPred == null || memberPred (member))
wrapper.AddMember (member);
}
declaring = declaring.DeclaringTypeDefinition;
}
}
foreach (var p in currentType.TypeParameters) {
wrapper.AddTypeParameter (p);

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

@ -1501,6 +1501,32 @@ class A @@ -1501,6 +1501,32 @@ class A
Assert.IsNull (provider.Find ("B"), "class 'B' found, but shouldn'tj.");
}
/// <summary>
/// Bug 2268 - Potential omission in code completion
/// </summary>
[Test()]
public void TestBug2268 ()
{
CombinedProviderTest (
@"
public class Outer
{
static int value = 5;
class Inner
{
void Method ()
{
$v$
}
}
}
", provider => {
Assert.IsNotNull (provider.Find ("value"), "field 'value' not found.");
});
}
/// <summary>
/// Bug 2295 - [New Resolver] 'new' completion doesn't select the correct class name
/// </summary>

Loading…
Cancel
Save