From e9a2dda3fa01fcd01af7c06d619e4f24b2686f00 Mon Sep 17 00:00:00 2001 From: Joao Matos Date: Thu, 21 Feb 2019 22:42:37 +0000 Subject: [PATCH] Improve robustness when parsing types and decls. --- src/CppParser/Parser.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index 8254dbf0..d7d20fe2 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -574,8 +574,11 @@ static TypeQualifiers GetTypeQualifiers(const clang::QualType& Type) return quals; } -QualifiedType Parser::GetQualifiedType(const clang::QualType& qual, const clang::TypeLoc* TL) +QualifiedType Parser::GetQualifiedType(clang::QualType qual, const clang::TypeLoc* TL) { + if (qual.isNull()) + return QualifiedType(); + QualifiedType qualType; qualType.type = WalkType(qual, TL); qualType.qualifiers = GetTypeQualifiers(qual); @@ -3743,6 +3746,9 @@ Declaration* Parser::WalkDeclaration(const clang::Decl* D) { using namespace clang; + if (D == nullptr) + return nullptr; + Declaration* Decl = nullptr; auto Kind = D->getKind();