summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/ASTVisitor.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-11-17 13:28:20 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2009-11-17 13:30:39 +0100
commit5d7def6d2ad8be72f4b6e1255a779209dbe90ff8 (patch)
tree6f7104a1b1a902b99e2492a4840cc7a84117c71e /src/shared/cplusplus/ASTVisitor.cpp
parent04a333bac68f9c6aac2338f2dd407b25e321223f (diff)
downloadqt-creator-5d7def6d2ad8be72f4b6e1255a779209dbe90ff8.tar.gz
Refactored the AST visitors.
Now, the ASTVisitor constructor takes a valid reference to a TranslationUnit.
Diffstat (limited to 'src/shared/cplusplus/ASTVisitor.cpp')
-rw-r--r--src/shared/cplusplus/ASTVisitor.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/shared/cplusplus/ASTVisitor.cpp b/src/shared/cplusplus/ASTVisitor.cpp
index 6f331515a0..9281efdf2b 100644
--- a/src/shared/cplusplus/ASTVisitor.cpp
+++ b/src/shared/cplusplus/ASTVisitor.cpp
@@ -53,8 +53,8 @@
using namespace CPlusPlus;
-ASTVisitor::ASTVisitor(Control *control)
- : _control(control)
+ASTVisitor::ASTVisitor(TranslationUnit *translationUnit)
+ : _translationUnit(translationUnit)
{ }
ASTVisitor::~ASTVisitor()
@@ -64,10 +64,18 @@ void ASTVisitor::accept(AST *ast)
{ AST::accept(ast, this); }
Control *ASTVisitor::control() const
-{ return _control; }
+{
+ if (_translationUnit)
+ return _translationUnit->control();
+
+ return 0;
+}
TranslationUnit *ASTVisitor::translationUnit() const
-{ return _control->translationUnit(); }
+{ return _translationUnit; }
+
+void ASTVisitor::setTranslationUnit(TranslationUnit *translationUnit)
+{ _translationUnit = translationUnit; }
unsigned ASTVisitor::tokenCount() const
{ return translationUnit()->tokenCount(); }