diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp index 012c243de1c05fd5d0b9020fe4246feac3b671f5..ba8d1508182e349646d009c5b968fa069c40d383 100644 --- a/src/libs/cplusplus/CppDocument.cpp +++ b/src/libs/cplusplus/CppDocument.cpp @@ -288,6 +288,10 @@ bool Document::parse(ParseMode mode) m = TranslationUnit::ParseExpression; break; + case ParseDeclarator: + m = TranslationUnit::ParseDeclarator; + break; + case ParseStatement: m = TranslationUnit::ParseStatement; break; diff --git a/src/libs/cplusplus/CppDocument.h b/src/libs/cplusplus/CppDocument.h index c1e9041988a4ff77faeaed08b2f6ba8e7704cb92..01da6b62d219c9d7e07e1b0acfe728de0e870eba 100644 --- a/src/libs/cplusplus/CppDocument.h +++ b/src/libs/cplusplus/CppDocument.h @@ -92,6 +92,7 @@ public: ParseTranlationUnit, ParseDeclaration, ParseExpression, + ParseDeclarator, ParseStatement }; diff --git a/src/shared/cplusplus/TranslationUnit.cpp b/src/shared/cplusplus/TranslationUnit.cpp index 75a77c04ffea4fac5e0d0191c304579320dada3a..d6afcb3e2f9cf7ca97adf9eebcb2ffe6798c73c0 100644 --- a/src/shared/cplusplus/TranslationUnit.cpp +++ b/src/shared/cplusplus/TranslationUnit.cpp @@ -278,6 +278,12 @@ bool TranslationUnit::parse(ParseMode mode) _ast = node; } break; + case ParseDeclarator: { + DeclaratorAST *node = 0; + parsed = parser.parseDeclarator(node); + _ast = node; + } break; + case ParseStatement: { StatementAST *node = 0; parsed = parser.parseStatement(node); diff --git a/src/shared/cplusplus/TranslationUnit.h b/src/shared/cplusplus/TranslationUnit.h index 71a000224a302d6d4f7f543ea2cd798fc84df816..b4830e525dd42af29e3636a01293c4093fb4f337 100644 --- a/src/shared/cplusplus/TranslationUnit.h +++ b/src/shared/cplusplus/TranslationUnit.h @@ -118,6 +118,7 @@ public: ParseTranlationUnit, ParseDeclaration, ParseExpression, + ParseDeclarator, ParseStatement };