diff --git a/server/src/types/TypesResolver.cpp b/server/src/types/TypesResolver.cpp index dc6eb459a..3effaaa60 100644 --- a/server/src/types/TypesResolver.cpp +++ b/server/src/types/TypesResolver.cpp @@ -137,7 +137,9 @@ void TypesResolver::resolveStructEx(const clang::RecordDecl *D, const std::strin F->getFunctionType(), field.name, sourceManager, field.type.isArrayOfPointersToFunction()); auto returnType = F->getFunctionType()->getReturnType(); - if (returnType->isPointerType() && returnType->getPointeeType()->isStructureType()) { + if (returnType->isPointerType() + && returnType->getPointeeType()->isStructureType() + && returnType->getPointeeType().getBaseTypeIdentifier()) { std::string structName = returnType->getPointeeType().getBaseTypeIdentifier()->getName().str(); if (!CollectionUtils::containsKey((*parent->structsDeclared).at(sourceFilePath),