Browse Source

Fixed completion bug.

pull/32/merge
Mike Krüger 13 years ago
parent
commit
8972fdff77
  1. 3
      ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
  2. 25
      ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/ObjectInitializerTests.cs

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

@ -302,6 +302,9 @@ namespace ICSharpCode.NRefactory.CSharp.Completion @@ -302,6 +302,9 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
false;
foreach (var m in initializerType.GetMembers (m => m.EntityType == EntityType.Field)) {
var f = m as IField;
if (f != null && (f.IsReadOnly || f.IsConst))
continue;
if (lookup.IsAccessible (m, isProtectedAllowed))
contextList.AddMember(m);
}

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

@ -680,6 +680,31 @@ class C : S @@ -680,6 +680,31 @@ class C : S
}
/// <summary>
/// Bug 9935 - MD shows decimal constants as fields which can be initalized
/// </summary>
[Test]
public void TestBug9935()
{
var provider = CodeCompletionBugTests.CreateCtrlSpaceProvider(
@"class Test
{
public static void Main(string [] args)
{
var mm = new decimal () {
$M$
};
}
}
");
Assert.IsNull(provider.Find("MaxValue"), "'MaxValue' found.");
Assert.IsNull(provider.Find("MinValue"), "'MinValue' found.");
}
}

Loading…
Cancel
Save