summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/CppDocument.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-02-24 11:04:52 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2009-02-24 11:04:52 +0100
commitbfe36575b74ce96dba1b4802a97be7c9a37232f3 (patch)
tree4b3ef1c3c2dba426abc56460cd33f6bc64dcc6e8 /src/libs/cplusplus/CppDocument.cpp
parente07ed90b6a0c5303785813530796a9e53cd9d7e2 (diff)
downloadqt-creator-bfe36575b74ce96dba1b4802a97be7c9a37232f3.tar.gz
Introduced a parallel indexer. It is ifdef-out atm.
Diffstat (limited to 'src/libs/cplusplus/CppDocument.cpp')
-rw-r--r--src/libs/cplusplus/CppDocument.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp
index 8c2d626590..a0ae6760d6 100644
--- a/src/libs/cplusplus/CppDocument.cpp
+++ b/src/libs/cplusplus/CppDocument.cpp
@@ -230,7 +230,8 @@ Document::Ptr Document::create(const QString &fileName)
void Document::setSource(const QByteArray &source)
{
- _translationUnit->setSource(source.constBegin(), source.size());
+ _source = source;
+ _translationUnit->setSource(_source.constBegin(), _source.size());
}
void Document::startSkippingBlocks(unsigned start)
@@ -250,6 +251,21 @@ void Document::stopSkippingBlocks(unsigned stop)
_skippedBlocks.back() = Block(start, stop);
}
+bool Document::isTokenized() const
+{
+ return _translationUnit->isTokenized();
+}
+
+void Document::tokenize()
+{
+ _translationUnit->tokenize();
+}
+
+bool Document::isParsed() const
+{
+ return _translationUnit->isParsed();
+}
+
bool Document::parse(ParseMode mode)
{
TranslationUnit::ParseMode m = TranslationUnit::ParseTranlationUnit;
@@ -295,6 +311,11 @@ void Document::check()
}
}
+void Document::releaseSource()
+{
+ _source.clear();
+}
+
void Document::releaseTranslationUnit()
{
_translationUnit->release();