From f44398f038161f36b6d136b28dda011ec14ff66f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Kr=C3=BCger?= Date: Tue, 9 Oct 2012 08:25:52 +0200 Subject: [PATCH] Fixed potential code completion problem where completion could show up on invalid keys. --- .../Completion/CSharpCompletionEngine.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs index f3b61fb9e9..3c1606b8e1 100644 --- a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs +++ b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs @@ -638,6 +638,9 @@ namespace ICSharpCode.NRefactory.CSharp.Completion } var contextList = new CompletionDataWrapper(this); var identifierStart = GetExpressionAtCursor(); + if (!(char.IsLetter(completionChar) || completionChar == '_') && (!controlSpace || identifierStart == null)) { + return controlSpace ? HandleAccessorContext() ?? DefaultControlSpaceItems(identifierStart) : null; + } if (identifierStart != null) { if (identifierStart.Node is TypeParameterDeclaration) { return null; @@ -667,10 +670,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion return HandleCatchClauseType(identifierStart); } } - if (!(char.IsLetter(completionChar) || completionChar == '_') && (!controlSpace || identifierStart == null)) { - return controlSpace ? HandleAccessorContext() ?? DefaultControlSpaceItems(identifierStart) : null; - } - + // Do not pop up completion on identifier identifier (should be handled by keyword completion). tokenIndex = offset - 1;