hokein created this revision.
hokein added a reviewer: kadircet.
Herald added a project: All.
hokein requested review of this revision.
Herald added a project: clang-tools-extra.
Per the discussion in https://github.com/llvm/llvm-project/issues/59916.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D141592
Files:
clang-tools-extra/include-cleaner/lib/WalkAST.cpp
clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
Index: clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
===================================================================
--- clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
+++ clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
@@ -240,9 +240,10 @@
TEST(WalkAST, ConstructExprs) {
testWalk("struct $implicit^S {};", "S ^t;");
- testWalk("struct S { $implicit^S(); };", "S ^t;");
- testWalk("struct S { $explicit^S(int); };", "S ^t(42);");
- testWalk("struct S { $implicit^S(int); };", "S t = ^42;");
+ testWalk("struct $implicit^S { S(); };", "S ^t;");
+ testWalk("struct $explicit^S { S(int); };", "S ^t(42);");
+ testWalk("struct $implicit^S { S(int); };", "S t = ^42;");
+ testWalk("namespace ns { struct S{}; } using ns::$implicit^S;", "S ^t;");
}
TEST(WalkAST, Operator) {
Index: clang-tools-extra/include-cleaner/lib/WalkAST.cpp
===================================================================
--- clang-tools-extra/include-cleaner/lib/WalkAST.cpp
+++ clang-tools-extra/include-cleaner/lib/WalkAST.cpp
@@ -104,7 +104,7 @@
}
bool VisitCXXConstructExpr(CXXConstructExpr *E) {
- report(E->getLocation(), E->getConstructor(),
+ report(E->getLocation(), getMemberProvider(E->getType()),
E->getParenOrBraceRange().isValid() ? RefType::Explicit
: RefType::Implicit);
return true;
Index: clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
===================================================================
--- clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
+++ clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
@@ -240,9 +240,10 @@
TEST(WalkAST, ConstructExprs) {
testWalk("struct $implicit^S {};", "S ^t;");
- testWalk("struct S { $implicit^S(); };", "S ^t;");
- testWalk("struct S { $explicit^S(int); };", "S ^t(42);");
- testWalk("struct S { $implicit^S(int); };", "S t = ^42;");
+ testWalk("struct $implicit^S { S(); };", "S ^t;");
+ testWalk("struct $explicit^S { S(int); };", "S ^t(42);");
+ testWalk("struct $implicit^S { S(int); };", "S t = ^42;");
+ testWalk("namespace ns { struct S{}; } using ns::$implicit^S;", "S ^t;");
}
TEST(WalkAST, Operator) {
Index: clang-tools-extra/include-cleaner/lib/WalkAST.cpp
===================================================================
--- clang-tools-extra/include-cleaner/lib/WalkAST.cpp
+++ clang-tools-extra/include-cleaner/lib/WalkAST.cpp
@@ -104,7 +104,7 @@
}
bool VisitCXXConstructExpr(CXXConstructExpr *E) {
- report(E->getLocation(), E->getConstructor(),
+ report(E->getLocation(), getMemberProvider(E->getType()),
E->getParenOrBraceRange().isValid() ? RefType::Explicit
: RefType::Implicit);
return true;
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits