Browse Source

Fixed enum context.

newNRvisualizers
Mike Krüger 14 years ago
parent
commit
e69e9f13f5
  1. 2
      ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
  2. 4
      ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs
  3. 18
      ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/EnumContextTests.cs

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

@ -575,7 +575,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion @@ -575,7 +575,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
IEnumerable<ICompletionData> HandleEnumContext ()
{
var cu = ParseStub ("enumMefwefwefwember", false);
var cu = ParseStub ("a", false);
if (cu == null)
return null;
var member = cu.GetNodeAt<EnumMemberDeclaration> (location);

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

@ -312,15 +312,13 @@ namespace ICSharpCode.NRefactory.CSharp.Completion @@ -312,15 +312,13 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
wrapper.Append ('}');
TextLocation memberLocation;
if (currentMember != null) {
if (currentMember != null && currentType.Kind != TypeKind.Enum) {
memberLocation = currentMember.Region.Begin;
} else if (currentType != null) {
memberLocation = currentType.Region.Begin;
} else {
memberLocation = new TextLocation (1, 1);
}
Console.WriteLine ("--");
Console.WriteLine (wrapper);
using (var stream = new System.IO.StringReader (wrapper.ToString ())) {
try {
var parser = new CSharpParser ();

18
ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/EnumContextTests.cs

@ -77,5 +77,23 @@ enum Name { @@ -77,5 +77,23 @@ enum Name {
Assert.IsNotNull (provider.Find ("Name"), "type 'Name' not found.");
});
}
[Test()]
public void TestEnumInitializerContinuation ()
{
CodeCompletionBugTests.CombinedProviderTest (
@"using System;
[Flags]
enum Name {
Flag1,
Flag2,
Combined $= Name.$
}
", provider => {
Assert.IsNotNull (provider.Find ("Flag1"), "value 'Flag1' not found.");
Assert.IsNotNull (provider.Find ("Flag2"), "value 'Flag2' not found.");
});
}
}
}

Loading…
Cancel
Save