diff options
Diffstat (limited to 'clang/lib/Tooling/Transformer/SourceCodeBuilders.cpp')
-rw-r--r-- | clang/lib/Tooling/Transformer/SourceCodeBuilders.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Tooling/Transformer/SourceCodeBuilders.cpp b/clang/lib/Tooling/Transformer/SourceCodeBuilders.cpp index 56ec45e8fd1d..a1c99b60216b 100644 --- a/clang/lib/Tooling/Transformer/SourceCodeBuilders.cpp +++ b/clang/lib/Tooling/Transformer/SourceCodeBuilders.cpp @@ -93,6 +93,8 @@ tooling::buildDereference(const Expr &E, const ASTContext &Context) { llvm::Optional<std::string> tooling::buildAddressOf(const Expr &E, const ASTContext &Context) { + if (E.isImplicitCXXThis()) + return std::string("this"); if (const auto *Op = dyn_cast<UnaryOperator>(&E)) if (Op->getOpcode() == UO_Deref) { // Strip leading '*'. |