summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/PreprocessorClient.h
diff options
context:
space:
mode:
authorChristian Kamm <christian.d.kamm@nokia.com>2009-09-25 16:00:14 +0200
committerChristian Kamm <christian.d.kamm@nokia.com>2009-09-25 16:08:01 +0200
commit22ed0255b97ff52d808ebd93fabe06e214b56d2d (patch)
tree40dc79d131d6b13a8360ff8e68e7ab6119557d1f /src/libs/cplusplus/PreprocessorClient.h
parent90470771fd58722a6a82b3da28bfaa645b250216 (diff)
downloadqt-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.h9
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 &macro) = 0;
- virtual void sourceNeeded(QString &fileName, IncludeType mode,
- unsigned line) = 0; // ### FIX the signature.
+
+ virtual void passedMacroDefinitionCheck(unsigned offset, const Macro &macro) = 0;
+ virtual void failedMacroDefinitionCheck(unsigned offset, const QByteArray &name) = 0;
virtual void startExpandingMacro(unsigned offset,
const Macro &macro,
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