aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangcodemodel/clangactivationsequenceprocessor.cpp
diff options
context:
space:
mode:
authorIvan Donchevskii <ivan.donchevskii@qt.io>2018-08-20 13:15:13 +0200
committerIvan Donchevskii <ivan.donchevskii@qt.io>2018-08-21 10:40:04 +0000
commit8d0391a4f9b91fb15ee3d20db725c7a37c4646aa (patch)
tree7b175c0e77c9b64779412e657918fb01aa872977 /src/plugins/clangcodemodel/clangactivationsequenceprocessor.cpp
parentb8989f1a8ade7916dd0a5cadd18ea7e198749d01 (diff)
Clang: Treat brace initialization as constructor completion
Try to complete constructor after left brace with fallback to normal completion. Task-number: QTCREATORBUG-20957 Change-Id: I6c33790a3ee1e623a3d8abe9a44cfd821b6f3106 Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Diffstat (limited to 'src/plugins/clangcodemodel/clangactivationsequenceprocessor.cpp')
-rw-r--r--src/plugins/clangcodemodel/clangactivationsequenceprocessor.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/plugins/clangcodemodel/clangactivationsequenceprocessor.cpp b/src/plugins/clangcodemodel/clangactivationsequenceprocessor.cpp
index 27ddb77a0e5..975c08eff9e 100644
--- a/src/plugins/clangcodemodel/clangactivationsequenceprocessor.cpp
+++ b/src/plugins/clangcodemodel/clangactivationsequenceprocessor.cpp
@@ -90,6 +90,7 @@ void ActivationSequenceProcessor::process()
processDot();
processComma();
processLeftParen();
+ processLeftBrace();
processColonColon();
processArrow();
processDotStar();
@@ -125,6 +126,14 @@ void ActivationSequenceProcessor::processLeftParen()
}
}
+void ActivationSequenceProcessor::processLeftBrace()
+{
+ if (m_char3 == QLatin1Char('{') && m_wantFunctionCall) {
+ m_completionKind = CPlusPlus::T_LBRACE;
+ m_offset = 1;
+ }
+}
+
void ActivationSequenceProcessor::processColonColon()
{
if (m_char2 == QLatin1Char(':') && m_char3 == QLatin1Char(':')) {