@@ -6749,29 +6749,31 @@ void SemaCodeCompletion::CodeCompleteInitializer(Scope *S, Decl *D) {
6749
6749
CodeCompleteExpression (S, Data);
6750
6750
}
6751
6751
6752
- void SemaCodeCompletion::CodeCompleteIfConst (Scope *S) const {
6752
+ void SemaCodeCompletion::CodeCompleteIfConst (Scope *S, bool AfterExclaim ) const {
6753
6753
ResultBuilder Results (SemaRef, CodeCompleter->getAllocator (),
6754
6754
CodeCompleter->getCodeCompletionTUInfo (),
6755
6755
CodeCompletionContext::CCC_Other);
6756
6756
CodeCompletionBuilder Builder (Results.getAllocator (),
6757
6757
Results.getCodeCompletionTUInfo ());
6758
6758
Results.EnterNewScope ();
6759
6759
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
+ }
6775
6777
}
6776
6778
}
6777
6779
if (getLangOpts ().CPlusPlus23 ) {
0 commit comments