Introduced a parallel indexer. It is ifdef-out atm.

This commit is contained in:
Roberto Raggi
2009-02-24 11:04:52 +01:00
parent e07ed90b6a
commit bfe36575b7
3 changed files with 102 additions and 23 deletions

View File

@@ -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();

View File

@@ -96,8 +96,15 @@ public:
ParseStatement
};
bool isTokenized() const;
void tokenize();
bool isParsed() const;
bool parse(ParseMode mode = ParseTranlationUnit);
void check();
void releaseSource();
void releaseTranslationUnit();
static Ptr create(const QString &fileName);
@@ -233,6 +240,7 @@ private:
QList<Macro> _definedMacros;
QList<Block> _skippedBlocks;
QList<MacroUse> _macroUses;
QByteArray _source;
};
class CPLUSPLUS_EXPORT Snapshot: public QMap<QString, Document::Ptr>