From 6659e3ecba7279f933280ea3f07fcc0730476b64 Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Fri, 13 Aug 2010 15:28:22 +0200
Subject: [PATCH] Use the new binder

---
 src/libs/cplusplus/CppDocument.cpp | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp
index e86cb18b2e8..f54420ee73f 100644
--- a/src/libs/cplusplus/CppDocument.cpp
+++ b/src/libs/cplusplus/CppDocument.cpp
@@ -31,6 +31,7 @@
 #include "FastPreprocessor.h"
 #include "LookupContext.h"
 #include "Overview.h"
+#include "Bind.h"
 
 #include <Control.h>
 #include <TranslationUnit.h>
@@ -545,21 +546,18 @@ void Document::check(CheckMode mode)
     if (! isParsed())
         parse();
 
-    Semantic semantic(_translationUnit);
+    _globalNamespace = _control->newNamespace(0);
+    Bind semantic(_translationUnit);
     if (mode == FastCheck)
         semantic.setSkipFunctionBodies(true);
 
-    _globalNamespace = _control->newNamespace(0);
-    Scope *globals = _globalNamespace;
     if (! _translationUnit->ast())
         return; // nothing to do.
 
     if (TranslationUnitAST *ast = _translationUnit->ast()->asTranslationUnit()) {
-        for (DeclarationListAST *decl = ast->declaration_list; decl; decl = decl->next) {
-            semantic.check(decl->value, globals);
-        }
+        semantic(ast, _globalNamespace);
     } else if (ExpressionAST *ast = _translationUnit->ast()->asExpression()) {
-        semantic.check(ast, globals);
+        semantic(ast, _globalNamespace);
     }
 }
 
-- 
GitLab