aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/cplusplus/pp-engine.h
diff options
context:
space:
mode:
authorRoberto Raggi <[email protected]>2009-06-15 15:38:20 +0200
committerRoberto Raggi <[email protected]>2009-06-15 15:39:20 +0200
commite2a0a4d7c572f0d2771731d48ea33b9925c58f1e (patch)
tree92d7f52d4a50dc5286ecc3cea69b00100bc548b7 /src/libs/cplusplus/pp-engine.h
parentdbba0ff8d7456de3d8e7cc2796c48fcbc700acf1 (diff)
Keep the original encoded text around while preprocessing.
Diffstat (limited to 'src/libs/cplusplus/pp-engine.h')
-rw-r--r--src/libs/cplusplus/pp-engine.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/libs/cplusplus/pp-engine.h b/src/libs/cplusplus/pp-engine.h
index 46ea0bc0616..9930a59cebd 100644
--- a/src/libs/cplusplus/pp-engine.h
+++ b/src/libs/cplusplus/pp-engine.h
@@ -50,25 +50,23 @@
#define CPLUSPLUS_PP_ENGINE_H
#include "PreprocessorClient.h"
+#include "pp-macro-expander.h"
#include <Token.h>
#include <QVector>
namespace CPlusPlus {
- class Token;
-}
-
-namespace CPlusPlus {
struct Value;
+class Environment;
class CPLUSPLUS_EXPORT Preprocessor
{
public:
Preprocessor(Client *client, Environment *env);
- QByteArray operator()(const QString &filename,
- const QByteArray &source);
+ QByteArray operator()(const QString &filename, const QString &source);
+ QByteArray operator()(const QString &filename, const QByteArray &source);
void preprocess(const QString &filename,
const QByteArray &source,
@@ -169,6 +167,8 @@ private:
void out(char ch);
void out(const char *s);
+ QString string(const char *first, int len) const;
+
private:
Client *client;
Environment *env;
@@ -186,6 +186,8 @@ private:
QByteArray *_result;
bool _markGeneratedTokens;
+
+ QString _originalSource;
};
} // namespace CPlusPlus