diff options
Diffstat (limited to 'clang-tools-extra/clangd/XRefs.cpp')
-rw-r--r-- | clang-tools-extra/clangd/XRefs.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/XRefs.cpp b/clang-tools-extra/clangd/XRefs.cpp index 5dd5186879d..829fdf43b66 100644 --- a/clang-tools-extra/clangd/XRefs.cpp +++ b/clang-tools-extra/clangd/XRefs.cpp @@ -187,6 +187,11 @@ public: // experssion is impossible to write down. if (const auto *CtorExpr = dyn_cast<CXXConstructExpr>(E)) return CtorExpr->getParenOrBraceRange().isInvalid(); + // Ignore implicit conversion-operator AST node. + if (const auto *ME = dyn_cast<MemberExpr>(E)) { + if (isa<CXXConversionDecl>(ME->getMemberDecl())) + return ME->getMemberLoc().isInvalid(); + } return isa<ImplicitCastExpr>(E); }; |