From 2bd3e6d9045ef355a66c3bc0d945d280f7f55335 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Kr=C3=BCger?= Date: Mon, 15 Oct 2012 10:41:26 +0200 Subject: [PATCH] [CodeCompletion] Fixed type hints for enumerations. --- .../Completion/CSharpCompletionEngine.cs | 5 +++-- .../Completion/CompletionDataWrapper.cs | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs index f30a42f6c5..7d3de8587e 100644 --- a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs +++ b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs @@ -2278,8 +2278,9 @@ namespace ICSharpCode.NRefactory.CSharp.Completion if (resolvedType.Kind != TypeKind.Enum) { return; } - completionList.AddEnumMembers(resolvedType, state); - DefaultCompletionString = resolvedType.Name; + var type = completionList.AddEnumMembers(resolvedType, state); + if (type != null) + DefaultCompletionString = type.DisplayText; } IEnumerable CreateCompletionData(TextLocation location, ResolveResult resolveResult, AstNode resolvedNode, CSharpResolver state, Func typePred = null) diff --git a/ICSharpCode.NRefactory.CSharp/Completion/CompletionDataWrapper.cs b/ICSharpCode.NRefactory.CSharp/Completion/CompletionDataWrapper.cs index 2fdf9d7afd..adff1fa235 100644 --- a/ICSharpCode.NRefactory.CSharp/Completion/CompletionDataWrapper.cs +++ b/ICSharpCode.NRefactory.CSharp/Completion/CompletionDataWrapper.cs @@ -230,17 +230,18 @@ namespace ICSharpCode.NRefactory.CSharp.Completion } } HashSet addedEnums = new HashSet (); - public void AddEnumMembers (IType resolvedType, CSharpResolver state) + public ICompletionData AddEnumMembers (IType resolvedType, CSharpResolver state) { if (addedEnums.Contains (resolvedType)) - return; + return null; addedEnums.Add (resolvedType); - AddType(resolvedType, true); + var result = AddType(resolvedType, true); foreach (var field in resolvedType.GetFields ()) { if (field.IsPublic && (field.IsConst || field.IsStatic)) { Result.Add(Factory.CreateMemberCompletionData(resolvedType, field)); } } + return result; } } }