From fde8ca4a16c01ffac75de842762b0a2e67814295 Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Mon, 30 Mar 2009 15:07:30 +0200
Subject: [PATCH] Added Document::ParseDeclarator.

---
 src/libs/cplusplus/CppDocument.cpp       | 4 ++++
 src/libs/cplusplus/CppDocument.h         | 1 +
 src/shared/cplusplus/TranslationUnit.cpp | 6 ++++++
 src/shared/cplusplus/TranslationUnit.h   | 1 +
 4 files changed, 12 insertions(+)

diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp
index 012c243de1c..ba8d1508182 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 c1e9041988a..01da6b62d21 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 75a77c04ffe..d6afcb3e2f9 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 71a000224a3..b4830e525dd 100644
--- a/src/shared/cplusplus/TranslationUnit.h
+++ b/src/shared/cplusplus/TranslationUnit.h
@@ -118,6 +118,7 @@ public:
         ParseTranlationUnit,
         ParseDeclaration,
         ParseExpression,
+        ParseDeclarator,
         ParseStatement
     };
 
-- 
GitLab