@@ -6749,29 +6749,31 @@ void SemaCodeCompletion::CodeCompleteInitializer(Scope *S, Decl *D) {
67496749 CodeCompleteExpression (S, Data);
67506750}
67516751
6752- void SemaCodeCompletion::CodeCompleteIfConst (Scope *S) const {
6752+ void SemaCodeCompletion::CodeCompleteIfConst (Scope *S, bool AfterExclaim ) const {
67536753 ResultBuilder Results (SemaRef, CodeCompleter->getAllocator (),
67546754 CodeCompleter->getCodeCompletionTUInfo (),
67556755 CodeCompletionContext::CCC_Other);
67566756 CodeCompletionBuilder Builder (Results.getAllocator (),
67576757 Results.getCodeCompletionTUInfo ());
67586758 Results.EnterNewScope ();
67596759 if (getLangOpts ().CPlusPlus17 ) {
6760- if (Results.includeCodePatterns ()) {
6761- Builder.AddTypedTextChunk (" constexpr" );
6762- Builder.AddChunk (CodeCompletionString::CK_HorizontalSpace);
6763- Builder.AddChunk (CodeCompletionString::CK_LeftParen);
6764- Builder.AddPlaceholderChunk (" condition" );
6765- Builder.AddChunk (CodeCompletionString::CK_RightParen);
6766- Builder.AddChunk (CodeCompletionString::CK_HorizontalSpace);
6767- Builder.AddChunk (CodeCompletionString::CK_LeftBrace);
6768- Builder.AddChunk (CodeCompletionString::CK_VerticalSpace);
6769- Builder.AddPlaceholderChunk (" statements" );
6770- Builder.AddChunk (CodeCompletionString::CK_VerticalSpace);
6771- Builder.AddChunk (CodeCompletionString::CK_RightBrace);
6772- Results.AddResult ({Builder.TakeString ()});
6773- } else {
6774- Results.AddResult ({" constexpr" });
6760+ if (!AfterExclaim) {
6761+ if (Results.includeCodePatterns ()) {
6762+ Builder.AddTypedTextChunk (" constexpr" );
6763+ Builder.AddChunk (CodeCompletionString::CK_HorizontalSpace);
6764+ Builder.AddChunk (CodeCompletionString::CK_LeftParen);
6765+ Builder.AddPlaceholderChunk (" condition" );
6766+ Builder.AddChunk (CodeCompletionString::CK_RightParen);
6767+ Builder.AddChunk (CodeCompletionString::CK_HorizontalSpace);
6768+ Builder.AddChunk (CodeCompletionString::CK_LeftBrace);
6769+ Builder.AddChunk (CodeCompletionString::CK_VerticalSpace);
6770+ Builder.AddPlaceholderChunk (" statements" );
6771+ Builder.AddChunk (CodeCompletionString::CK_VerticalSpace);
6772+ Builder.AddChunk (CodeCompletionString::CK_RightBrace);
6773+ Results.AddResult ({Builder.TakeString ()});
6774+ } else {
6775+ Results.AddResult ({" constexpr" });
6776+ }
67756777 }
67766778 }
67776779 if (getLangOpts ().CPlusPlus23 ) {
0 commit comments