diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2009-09-25 16:00:14 +0200 |
---|---|---|
committer | Christian Kamm <christian.d.kamm@nokia.com> | 2009-09-25 16:08:01 +0200 |
commit | 22ed0255b97ff52d808ebd93fabe06e214b56d2d (patch) | |
tree | 40dc79d131d6b13a8360ff8e68e7ab6119557d1f /src/libs/cplusplus/PreprocessorClient.h | |
parent | 90470771fd58722a6a82b3da28bfaa645b250216 (diff) | |
download | qt-creator-22ed0255b97ff52d808ebd93fabe06e214b56d2d.tar.gz |
Track more macro uses.
In particular macros that are only checked for definition or are
expanded during the evaluation of an #if or #elif directive are now also
added to the list available through Document::macroUses().
The names of undefined macros that are interesting (because they're used
in an #ifdef or a defined(...)) are now available through
Document::undefinedMacroUses().
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Diffstat (limited to 'src/libs/cplusplus/PreprocessorClient.h')
-rw-r--r-- | src/libs/cplusplus/PreprocessorClient.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libs/cplusplus/PreprocessorClient.h b/src/libs/cplusplus/PreprocessorClient.h index 84cb0b73ac..d89ce71355 100644 --- a/src/libs/cplusplus/PreprocessorClient.h +++ b/src/libs/cplusplus/PreprocessorClient.h @@ -75,12 +75,14 @@ public: virtual ~Client(); virtual void macroAdded(const Macro ¯o) = 0; - virtual void sourceNeeded(QString &fileName, IncludeType mode, - unsigned line) = 0; // ### FIX the signature. + + virtual void passedMacroDefinitionCheck(unsigned offset, const Macro ¯o) = 0; + virtual void failedMacroDefinitionCheck(unsigned offset, const QByteArray &name) = 0; virtual void startExpandingMacro(unsigned offset, const Macro ¯o, const QByteArray &originalText, + bool inCondition = false, const QVector<MacroArgumentReference> &actuals = QVector<MacroArgumentReference>()) = 0; @@ -89,6 +91,9 @@ public: virtual void startSkippingBlocks(unsigned offset) = 0; virtual void stopSkippingBlocks(unsigned offset) = 0; + + virtual void sourceNeeded(QString &fileName, IncludeType mode, + unsigned line) = 0; // ### FIX the signature. }; } // namespace CPlusPlus |