summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/PreprocessorClient.h
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-03-04 11:47:30 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2009-03-04 11:47:30 +0100
commite253f393600e3b79338f0d5943928fea7999af24 (patch)
treef723173426e277790d0a8dca68d1ffb739b88c9c /src/libs/cplusplus/PreprocessorClient.h
parent08d0b03e70395c72b29906bc5dcfba68496a2ebc (diff)
downloadqt-creator-e253f393600e3b79338f0d5943928fea7999af24.tar.gz
Store the actual arguments of the macro expansions.
Diffstat (limited to 'src/libs/cplusplus/PreprocessorClient.h')
-rw-r--r--src/libs/cplusplus/PreprocessorClient.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/libs/cplusplus/PreprocessorClient.h b/src/libs/cplusplus/PreprocessorClient.h
index 8a0fdcf930..632cb3b9d5 100644
--- a/src/libs/cplusplus/PreprocessorClient.h
+++ b/src/libs/cplusplus/PreprocessorClient.h
@@ -31,7 +31,7 @@
#define CPLUSPLUS_PP_CLIENT_H
#include <CPlusPlusForwardDeclarations.h>
-#include <QtGlobal>
+#include <QVector>
QT_BEGIN_NAMESPACE
class QByteArray;
@@ -42,6 +42,23 @@ namespace CPlusPlus {
class Macro;
+class CPLUSPLUS_EXPORT MacroArgumentReference
+{
+ unsigned _position;
+ unsigned _length;
+
+public:
+ MacroArgumentReference(unsigned position = 0, unsigned length = 0)
+ : _position(position), _length(length)
+ { }
+
+ unsigned position() const
+ { return _position; }
+
+ unsigned length() const
+ { return _length; }
+};
+
class CPLUSPLUS_EXPORT Client
{
Client(const Client &other);
@@ -63,7 +80,9 @@ public:
virtual void startExpandingMacro(unsigned offset,
const Macro &macro,
- const QByteArray &originalTextt) = 0;
+ const QByteArray &originalText,
+ const QVector<MacroArgumentReference> &actuals
+ = QVector<MacroArgumentReference>()) = 0;
virtual void stopExpandingMacro(unsigned offset,
const Macro &macro) = 0;