Roles & static_cast<unsigned>(index::SymbolRole::Definition)))
return true;
-
llvm::SmallString<128> USR;
if (index::generateUSRForMacro(Name->getName(), MI->getDefinitionLoc(), SM,
USR))
assert(PP);
for (const IdentifierInfo *II : ReferencedMacros) {
llvm::SmallString<128> USR;
- if (!index::generateUSRForMacro(
- II->getName(),
- PP->getMacroDefinition(II).getMacroInfo()->getDefinitionLoc(),
- PP->getSourceManager(), USR))
- IncRef(SymbolID(USR));
+ if (const auto *MI = PP->getMacroDefinition(II).getMacroInfo())
+ if (!index::generateUSRForMacro(II->getName(), MI->getDefinitionLoc(),
+ PP->getSourceManager(), USR))
+ IncRef(SymbolID(USR));
}
}
ReferencedDecls.clear();