#define LLVM_CLANG_LEX_PREPROCESSOR_H
#include "clang/Lex/Lexer.h"
+#include "clang/Lex/PPCallbacks.h"
#include "clang/Lex/TokenLexer.h"
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/SourceLocation.h"
/// expansions going on at the time.
Lexer *getCurrentFileLexer() const;
- /// getPPCallbacks/SetPPCallbacks - Accessors for preprocessor callbacks.
- ///
+ /// getPPCallbacks/setPPCallbacks - Accessors for preprocessor callbacks.
+ /// Note that this class takes ownership of any PPCallbacks object given to
+ /// it.
PPCallbacks *getPPCallbacks() const { return Callbacks; }
void setPPCallbacks(PPCallbacks *C) {
+ delete Callbacks;
Callbacks = C;
}