|
25 | 25 | #include "clang/AST/DeclCXX.h"
|
26 | 26 | #include "clang/AST/QualTypeNames.h"
|
27 | 27 | #include "clang/AST/Type.h"
|
28 |
| -#include "llvm/Config/llvm-config.h" |
29 | 28 | #include "llvm/Support/Casting.h"
|
30 | 29 |
|
31 | 30 | namespace sapi {
|
32 | 31 | namespace {
|
33 | 32 |
|
34 |
| -bool IsFunctionReferenceType(clang::QualType qual) { |
35 |
| -#if LLVM_VERSION_MAJOR >= 9 |
36 |
| - return qual->isFunctionReferenceType(); |
37 |
| -#else |
38 |
| - const auto* ref = qual->getAs<clang::ReferenceType>(); |
39 |
| - return ref && ref->getPointeeType()->isFunctionType(); |
40 |
| -#endif |
41 |
| -} |
42 |
| - |
43 | 33 | bool IsProtoBuf(const clang::RecordDecl* decl) {
|
44 | 34 | const auto* cxxdecl = llvm::dyn_cast<const clang::CXXRecordDecl>(decl);
|
45 | 35 | if (cxxdecl == nullptr) {
|
@@ -96,7 +86,7 @@ void TypeCollector::CollectRelatedTypes(clang::QualType qual) {
|
96 | 86 | return;
|
97 | 87 | }
|
98 | 88 |
|
99 |
| - if (qual->isFunctionPointerType() || IsFunctionReferenceType(qual) || |
| 89 | + if (qual->isFunctionPointerType() || qual->isFunctionReferenceType() || |
100 | 90 | qual->isMemberFunctionPointerType()) {
|
101 | 91 | if (const auto* function_type = qual->getPointeeOrArrayElementType()
|
102 | 92 | ->getAs<clang::FunctionProtoType>()) {
|
@@ -143,7 +133,7 @@ std::string GetQualTypeName(const clang::ASTContext& context,
|
143 | 133 | clang::QualType unqual = qual.getLocalUnqualifiedType();
|
144 | 134 |
|
145 | 135 | // This is to get to the actual name of function pointers.
|
146 |
| - if (unqual->isFunctionPointerType() || IsFunctionReferenceType(unqual) || |
| 136 | + if (unqual->isFunctionPointerType() || unqual->isFunctionReferenceType() || |
147 | 137 | unqual->isMemberFunctionPointerType()) {
|
148 | 138 | unqual = unqual->getPointeeType();
|
149 | 139 | }
|
@@ -219,13 +209,7 @@ namespace {
|
219 | 209 | // type. Keeps top-level typedef types intact.
|
220 | 210 | clang::QualType MaybeRemoveConst(const clang::ASTContext& context,
|
221 | 211 | clang::QualType qual) {
|
222 |
| - if ( |
223 |
| -#if LLVM_VERSION_MAJOR < 13 |
224 |
| - qual->getAs<clang::TypedefType>() == nullptr |
225 |
| -#else |
226 |
| - !qual->isTypedefNameType() |
227 |
| -#endif |
228 |
| - && IsPointerOrReference(qual)) { |
| 212 | + if (!qual->isTypedefNameType() && IsPointerOrReference(qual)) { |
229 | 213 | clang::QualType pointee_qual = qual->getPointeeType();
|
230 | 214 | pointee_qual.removeLocalConst();
|
231 | 215 | qual = context.getPointerType(pointee_qual);
|
|
0 commit comments