Browse Source

Fixed unit test.

newNRvisualizers
Mike Krüger 14 years ago
parent
commit
4632c42a7a
  1. 16
      ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
  2. 2
      ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs

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

@ -1813,8 +1813,21 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
TypeResolveResult trr; TypeResolveResult trr;
if (state.IsVariableReferenceWithSameType (resolveResult, ((IdentifierExpression)resolvedNode).Identifier, out trr)) { if (state.IsVariableReferenceWithSameType (resolveResult, ((IdentifierExpression)resolvedNode).Identifier, out trr)) {
if (mrr.Member.IsStatic ^ currentMember.IsStatic) if (mrr.Member.IsStatic ^ currentMember.IsStatic) {
skipNonStaticMembers = true; skipNonStaticMembers = true;
if (trr.Type.Kind == TypeKind.Enum) {
foreach (var field in trr.Type.GetFields ()) {
result.AddMember (field);
}
foreach (var m in trr.Type.GetMethods ()) {
if (m.Name == "TryParse" && m.IsStatic) {
result.AddMember (m);
}
}
return result.Result;
}
}
} }
// ADD Aliases // ADD Aliases
var scope = CSharpParsedFile.GetUsingScope (location).Resolve (Compilation); var scope = CSharpParsedFile.GetUsingScope (location).Resolve (Compilation);
@ -1881,6 +1894,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
} }
foreach (var member in filteredList) { foreach (var member in filteredList) {
// Console.WriteLine ("add:" + member + "/" + member.IsStatic);
result.AddMember (member); result.AddMember (member);
} }
} }

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

@ -4540,9 +4540,9 @@ class Test
} }
} }
"); ");
Assert.AreEqual (4, provider.Count); // 2xTryParse + 2 fields
Assert.IsNotNull (provider.Find ("Value1"), "field 'Value1' not found."); Assert.IsNotNull (provider.Find ("Value1"), "field 'Value1' not found.");
Assert.IsNotNull (provider.Find ("Value2"), "field 'Value2' not found."); Assert.IsNotNull (provider.Find ("Value2"), "field 'Value2' not found.");
Assert.IsNull (provider.Find ("ToString"), "'ToString' found.");
} }
} }

Loading…
Cancel
Save