diff options
author | Haojian Wu <hokein@google.com> | 2017-01-17 13:22:37 +0000 |
---|---|---|
committer | Haojian Wu <hokein@google.com> | 2017-01-17 13:22:37 +0000 |
commit | 4775ce56ec52f9cfbc6ec1ec263d85054d69d192 (patch) | |
tree | 9274fc355284ef92fe524331473f2466292092eb /clang-tools-extra/clang-move/HelperDeclRefGraph.cpp | |
parent | e29a32e9ce43d17cf65116f515fe48ccc1140dcb (diff) | |
download | bcm5719-llvm-4775ce56ec52f9cfbc6ec1ec263d85054d69d192.tar.gz bcm5719-llvm-4775ce56ec52f9cfbc6ec1ec263d85054d69d192.zip |
[clang-move] Handle helpers with forward declarations.
Reviewers: ioeric
Reviewed By: ioeric
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D28801
llvm-svn: 292215
Diffstat (limited to 'clang-tools-extra/clang-move/HelperDeclRefGraph.cpp')
-rw-r--r-- | clang-tools-extra/clang-move/HelperDeclRefGraph.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/clang-tools-extra/clang-move/HelperDeclRefGraph.cpp b/clang-tools-extra/clang-move/HelperDeclRefGraph.cpp index 8303015171e..00ab9ea651f 100644 --- a/clang-tools-extra/clang-move/HelperDeclRefGraph.cpp +++ b/clang-tools-extra/clang-move/HelperDeclRefGraph.cpp @@ -10,8 +10,11 @@ #include "HelperDeclRefGraph.h" #include "ClangMove.h" #include "clang/AST/Decl.h" +#include "llvm/Support/Debug.h" #include <vector> +#define DEBUG_TYPE "clang-move" + namespace clang { namespace move { @@ -113,13 +116,19 @@ void HelperDeclRGBuilder::run( if (const auto *FuncRef = Result.Nodes.getNodeAs<DeclRefExpr>("func_ref")) { const auto *DC = Result.Nodes.getNodeAs<Decl>("dc"); assert(DC); - - RG->addEdge(getOutmostClassOrFunDecl(DC->getCanonicalDecl()), - getOutmostClassOrFunDecl(FuncRef->getDecl())); + DEBUG(llvm::dbgs() << "Find helper function usage: " + << FuncRef->getDecl()->getNameAsString() << " (" + << FuncRef->getDecl() << ")\n"); + RG->addEdge( + getOutmostClassOrFunDecl(DC->getCanonicalDecl()), + getOutmostClassOrFunDecl(FuncRef->getDecl()->getCanonicalDecl())); } else if (const auto *UsedClass = Result.Nodes.getNodeAs<CXXRecordDecl>("used_class")) { const auto *DC = Result.Nodes.getNodeAs<Decl>("dc"); assert(DC); + DEBUG(llvm::dbgs() << "Find helper class usage: " + << UsedClass->getNameAsString() << " (" << UsedClass + << ")\n"); RG->addEdge(getOutmostClassOrFunDecl(DC->getCanonicalDecl()), UsedClass); } } |