|
clang 24.0.0git
|
#include "clang/ScalableStaticAnalysis/Core/EntityLinker/EntityLinker.h"
Public Member Functions | |
| EntityLinker (llvm::Triple TargetTriple, NestedBuildNamespace LUNamespace) | |
| Constructs an EntityLinker to link TU summaries into a LU summary. | |
| llvm::Error | link (std::unique_ptr< TUSummaryEncoding > Summary) |
| Links a TU summary into a LU summary. | |
| llvm::Error | link (std::unique_ptr< StaticLibrary > Library) |
| Links every member of a static library into the LU summary. | |
| llvm::Error | link (std::unique_ptr< MultiArchStaticLibrary > Library) |
| Links the architecture member matching this link unit into the LU summary. | |
| size_t | getLinkedTUCount () const |
| Returns the number of TU summaries folded in so far. | |
| LUSummaryEncoding | takeOutput () && |
| Returns the accumulated LU summary. | |
Definition at line 34 of file EntityLinker.h.
|
inline |
Constructs an EntityLinker to link TU summaries into a LU summary.
| TargetTriple | The target triple of the link unit. Every linked input must report the same triple. |
| LUNamespace | The namespace identifying this link unit. |
Definition at line 47 of file EntityLinker.h.
|
inline |
Returns the number of TU summaries folded in so far.
Counts members expanded from libraries as well as TU summaries linked directly, so it is not the number of link() calls.
Definition at line 88 of file EntityLinker.h.
| llvm::Error EntityLinker::link | ( | std::unique_ptr< MultiArchStaticLibrary > | Library | ) |
Links the architecture member matching this link unit into the LU summary.
Members for other architectures are discarded.
| Library | The multi-arch static library to link. Ownership is transferred. |
Library has no member whose target triple equals this link unit's, or if the selected member fails to link; success otherwise. Definition at line 252 of file EntityLinker.cpp.
References clang::ssaf::ErrorBuilder::build(), clang::ssaf::ErrorBuilder::create(), clang::Library, link(), clang::Member, and ErrorMessages::NoMemberForTargetTriple.
| llvm::Error EntityLinker::link | ( | std::unique_ptr< StaticLibrary > | Library | ) |
Links every member of a static library into the LU summary.
Members are folded in unconditionally, in an unspecified order, exactly as if each had been passed as an individual TU summary.
| Library | The static library to link. Ownership is transferred. |
Library reports a different target triple than this link unit or if any member fails to link, success otherwise. Definition at line 231 of file EntityLinker.cpp.
References clang::ssaf::ErrorBuilder::build(), clang::ssaf::ErrorBuilder::context(), clang::Library, link(), ErrorMessages::LinkingStaticLibraryMember, and clang::ssaf::ErrorBuilder::wrap().
| llvm::Error EntityLinker::link | ( | std::unique_ptr< TUSummaryEncoding > | Summary | ) |
Links a TU summary into a LU summary.
Deduplicates entities, patches entity ID references in the entity summary, and merges them into a single data store.
| Summary | The TU summary to link. Ownership is transferred. |
Summary reports a different target triple than this link unit, if its TU namespace has already been linked, or if patching fails; success otherwise. Corrupted summary data (missing linkage information, duplicate entity IDs, etc.) triggers a fatal error. Definition at line 210 of file EntityLinker.cpp.
References clang::ssaf::ErrorBuilder::build(), clang::ssaf::ErrorBuilder::create(), and ErrorMessages::DuplicateTUNamespace.
|
inline |
Returns the accumulated LU summary.
Definition at line 94 of file EntityLinker.h.