= llvm::StringMap<ArchitectureSet>;
84: Dylib(
std::move(Dylib)), Reexports(
std::move(Reexports)),
85Aliases(
std::move(Aliases)), Mode(Mode), Zippered(Zippered),
86Demangle(Demangle), DSYMPath(DSYMPath),
92 constStringRef SuperClass);
126 boolshouldIgnoreObsolete(
const Record*R, SymbolContext &SymCtx,
131 boolshouldIgnoreReexport(
const Record*R, SymbolContext &SymCtx)
const;
134 boolshouldIgnoreZipperedAvailability(
const Record*R, SymbolContext &SymCtx);
139 boolshouldIgnoreInternalZipperedSymbol(
const Record*R,
140 constSymbolContext &SymCtx)
const;
144 ResultcompareVisibility(
const Record*R, SymbolContext &SymCtx,
149 boolcompareObjCInterfaceSymbols(
const Record*R, SymbolContext &SymCtx,
153 ResultcompareAvailability(
const Record*R, SymbolContext &SymCtx,
157 boolcompareSymbolFlags(
const Record*R, SymbolContext &SymCtx,
161 voidupdateState(
ResultState);
164 voidaddSymbol(
const Record*R, SymbolContext &SymCtx,
168 voidassignSlice(
const Target&
T);
171 voidvisitSymbolInDylib(
const Record&R, SymbolContext &SymCtx);
176 voidvisitObjCIVar(
const ObjCIVarRecord&R,
constStringRef Super);
179std::string getAnnotatedName(
const Record*R, SymbolContext &SymCtx,
180 boolValidSourceLoc =
true);
186 voidaccumulateSrcLocForDylibSymbols();
189llvm::MachO::Records Dylib;
201 boolZippered =
false;
204 boolDemangle =
false;
210std::unique_ptr<SymbolSet> Exports = std::make_unique<SymbolSet>();
214llvm::StringMap<ZipperedDeclSources> DeferredZipperedSymbols;
220DWARFContext *DWARFCtx =
nullptr;
Defines the Diagnostic-related interfaces.
static DiagnosticBuilder Diag(DiagnosticsEngine *Diags, const LangOptions &Features, FullSourceLoc TokLoc, const char *TokBegin, const char *TokRangeBegin, const char *TokRangeEnd, unsigned DiagID)
Produce a diagnostic highlighting some portion of a literal.
llvm::MachO::ObjCIVarRecord ObjCIVarRecord
llvm::MachO::RecordLoc RecordLoc
llvm::MachO::ObjCCategoryRecord ObjCCategoryRecord
llvm::MachO::GlobalRecord GlobalRecord
llvm::MachO::AliasMap AliasMap
llvm::MachO::RecordsSlice RecordsSlice
llvm::MachO::SymbolSet SymbolSet
llvm::MachO::ObjCInterfaceRecord ObjCInterfaceRecord
llvm::MachO::FileType FileType
llvm::MachO::Target Target
llvm::MachO::RecordsSlice::BinaryAttrs BinaryAttrs
llvm::MachO::Record Record
llvm::MachO::TargetList TargetList
Defines the SourceManager interface.
Concrete class used by the front-end to report problems and issues.
This class handles loading and caching of source files into memory.
Service responsible to tracking state of verification across the lifetime of InstallAPI.
Result verify(GlobalRecord *R, const FrontendAttrs *FA)
Result getState() const
Get result of verification.
void setSourceManager(IntrusiveRefCntPtr< SourceManager > SourceMgr)
Set different source managers to the same diagnostics engine.
std::unique_ptr< SymbolSet > takeExports()
Release ownership over exports.
bool verifyBinaryAttrs(const ArrayRef< Target > ProvidedTargets, const BinaryAttrs &ProvidedBA, const LibAttrs &ProvidedReexports, const LibAttrs &ProvidedClients, const LibAttrs &ProvidedRPaths, const FileType &FT)
Compare and report the attributes represented as load commands in the dylib to the attributes provide...
void setTarget(const Target &T)
Initialize target for verification.
DylibVerifier(llvm::MachO::Records &&Dylib, ReexportedInterfaces &&Reexports, AliasMap Aliases, DiagnosticsEngine *Diag, VerificationMode Mode, bool Zippered, bool Demangle, StringRef DSYMPath)
Result verifyRemainingSymbols()
llvm::StringMap< ArchitectureSet > LibAttrs
std::vector< ZipperedDeclSource > ZipperedDeclSources
VerificationMode
A list of InstallAPI verification modes.
llvm::SmallVector< llvm::MachO::InterfaceFile, 8 > ReexportedInterfaces
The JSON file list parser is used to communicate input to InstallAPI.
const FunctionProtoType * T
Metadata stored about a mapping of a declaration to a symbol.
bool DiscoveredFirstError
VerifierContext(DiagnosticsEngine *Diag)
VerifierContext()=default
void emitDiag(llvm::function_ref< void()> Report, RecordLoc *Loc=nullptr)
RecordsSlice * DylibSlice
llvm::MachO::Target Target
Frontend information captured about records.
clang::SourceManager * SrcMgr
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4