[PATCH] D38615: [libclang] Only mark CXCursors for explicit attributes with a type
Erik Verbruggen via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 6 03:57:41 PDT 2017
erikjv updated this revision to Diff 117975.
erikjv added a comment.
Added more context to the diff
https://reviews.llvm.org/D38615
Files:
test/Index/annotate-tokens-unexposed.cpp
tools/libclang/CIndex.cpp
Index: tools/libclang/CIndex.cpp
===================================================================
--- tools/libclang/CIndex.cpp
+++ tools/libclang/CIndex.cpp
@@ -1772,7 +1772,7 @@
bool CursorVisitor::VisitAttributes(Decl *D) {
for (const auto *I : D->attrs())
- if (Visit(MakeCXCursor(I, D, TU)))
+ if (!I->isImplicit() && Visit(MakeCXCursor(I, D, TU)))
return true;
return false;
Index: test/Index/annotate-tokens-unexposed.cpp
===================================================================
--- /dev/null
+++ test/Index/annotate-tokens-unexposed.cpp
@@ -0,0 +1,20 @@
+// RUN: c-index-test -test-annotate-tokens=%s:1:1:16:1 %s -target x86_64-pc-windows-msvc | FileCheck %s
+class Foo
+{
+public:
+ void step(int v);
+ Foo();
+};
+
+void bar()
+{
+ // Introduce a MSInheritanceAttr node on the CXXRecordDecl for Foo. The
+ // existance of this attribute should not mark all cursors for tokens in
+ // Foo as UnexposedAttr.
+ &Foo::step;
+}
+
+Foo::Foo()
+{}
+
+// CHECK-NOT: UnexposedAttr=
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38615.117975.patch
Type: text/x-patch
Size: 1041 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20171006/cb6449a8/attachment.bin>
More information about the cfe-commits
mailing list