clang 23.0.0git
clang::ssaf::EntityLinker Class Reference

#include "clang/Analysis/Scalable/EntityLinker/EntityLinker.h"

Public Member Functions

 EntityLinker (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.
LUSummaryEncoding getOutput () &&
 Returns the accumulated LU summary.

Detailed Description

Definition at line 28 of file EntityLinker.h.

Constructor & Destructor Documentation

◆ EntityLinker()

clang::ssaf::EntityLinker::EntityLinker ( NestedBuildNamespace LUNamespace)
inlineexplicit

Constructs an EntityLinker to link TU summaries into a LU summary.

Parameters
LUNamespaceThe namespace identifying this link unit.

Definition at line 36 of file EntityLinker.h.

Member Function Documentation

◆ getOutput()

LUSummaryEncoding clang::ssaf::EntityLinker::getOutput ( ) &&
inline

Returns the accumulated LU summary.

Returns
LU summary containing all the deduplicated and patched entity summaries.

Definition at line 54 of file EntityLinker.h.

◆ link()

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.

Parameters
SummaryThe TU summary to link. Ownership is transferred.
Returns
Error if the TU namespace has already been linked, success otherwise. Corrupted summary data (missing linkage information, duplicate entity IDs, etc.) triggers a fatal error.

Definition at line 173 of file EntityLinker.cpp.

References clang::ssaf::ErrorBuilder::build(), clang::ssaf::ErrorBuilder::create(), and ErrorMessages::DuplicateTUNamespace.


The documentation for this class was generated from the following files: