aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/cplusplus/FastPreprocessor.h
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-09-30 18:52:19 +0200
committerRoberto Raggi <roberto.raggi@nokia.com>2009-09-30 18:52:42 +0200
commitae43149c97b8bdaabbf66a25ef0e678ed2f9c1d2 (patch)
tree9a0d186989a68df7116c63f87acd4b97704390df /src/libs/cplusplus/FastPreprocessor.h
parent06bba1dc780533bac37fe2a19970faf3cfb3efab (diff)
Cache the macros.
Diffstat (limited to 'src/libs/cplusplus/FastPreprocessor.h')
-rw-r--r--src/libs/cplusplus/FastPreprocessor.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/libs/cplusplus/FastPreprocessor.h b/src/libs/cplusplus/FastPreprocessor.h
index 4db16643d89..83d1bb257fd 100644
--- a/src/libs/cplusplus/FastPreprocessor.h
+++ b/src/libs/cplusplus/FastPreprocessor.h
@@ -44,18 +44,17 @@ namespace CPlusPlus {
class CPLUSPLUS_EXPORT FastMacroResolver: public MacroResolver
{
public:
- FastMacroResolver(const Snapshot &snapshot);
+ FastMacroResolver(TranslationUnit *unit, const Snapshot &snapshot);
virtual bool isMacro(TranslationUnit *unit, unsigned tokenIndex) const;
private:
- bool isMacro_helper(const QByteArray &macroName,
- const QString &fileName,
- QSet<QString> *processed,
- bool *done) const;
+ void updateCache(const QString &fileName, QSet<QString> *processed);
private:
+ TranslationUnit *_unit;
Snapshot _snapshot;
+ QSet<QByteArray> _cachedMacros;
};
class CPLUSPLUS_EXPORT FastPreprocessor: public Client