clang 23.0.0git
clang::ssaf::JSONFormat Class Referencefinal

#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h"

Inheritance diagram for clang::ssaf::JSONFormat:
[legend]

Public Types

using EntityIdToJSONFn = llvm::function_ref<Object(EntityId)>
using EntityIdFromJSONFn
using SerializerFn
using DeserializerFn
using FormatInfo = FormatInfoEntry<SerializerFn, DeserializerFn>

Public Member Functions

llvm::Expected< TUSummaryreadTUSummary (llvm::StringRef Path) override
llvm::Error writeTUSummary (const TUSummary &Summary, llvm::StringRef Path) override
llvm::Expected< TUSummaryEncodingreadTUSummaryEncoding (llvm::StringRef Path) override
llvm::Error writeTUSummaryEncoding (const TUSummaryEncoding &SummaryEncoding, llvm::StringRef Path) override
llvm::Expected< LUSummaryreadLUSummary (llvm::StringRef Path) override
llvm::Error writeLUSummary (const LUSummary &Summary, llvm::StringRef Path) override
llvm::Expected< LUSummaryEncodingreadLUSummaryEncoding (llvm::StringRef Path) override
llvm::Error writeLUSummaryEncoding (const LUSummaryEncoding &SummaryEncoding, llvm::StringRef Path) override
void forEachRegisteredAnalysis (llvm::function_ref< void(llvm::StringRef Name, llvm::StringRef Desc)> Callback) const override
 Invokes Callback once for each analysis that has registered serialization support for this format.
Public Member Functions inherited from clang::ssaf::SerializationFormat
virtual ~SerializationFormat ()=default

Friends

class JSONEntitySummaryEncoding

Additional Inherited Members

Static Protected Member Functions inherited from clang::ssaf::SerializationFormat
static EntityId makeEntityId (const size_t Index)

Detailed Description

Definition at line 31 of file JSONFormat.h.

Member Typedef Documentation

◆ DeserializerFn

Initial value:
llvm::function_ref<llvm::Expected<std::unique_ptr<EntitySummary>>(
const Object &, EntityIdTable &, EntityIdFromJSONFn)>
Manages entity name interning and provides efficient EntityId handles.
llvm::function_ref< llvm::Expected< EntityId >(const Object &)> EntityIdFromJSONFn
Definition JSONFormat.h:66

Definition at line 71 of file JSONFormat.h.

◆ EntityIdFromJSONFn

Initial value:
llvm::function_ref<llvm::Expected<EntityId>(const Object &)>

Definition at line 66 of file JSONFormat.h.

◆ EntityIdToJSONFn

using clang::ssaf::JSONFormat::EntityIdToJSONFn = llvm::function_ref<Object(EntityId)>

Definition at line 65 of file JSONFormat.h.

◆ FormatInfo

◆ SerializerFn

Initial value:
llvm::function_ref<Object(const EntitySummary &, EntityIdToJSONFn)>
Base class for analysis-specific summary data.
llvm::function_ref< Object(EntityId)> EntityIdToJSONFn
Definition JSONFormat.h:65
llvm::json::Object Object

Definition at line 69 of file JSONFormat.h.

Member Function Documentation

◆ forEachRegisteredAnalysis()

void clang::ssaf::JSONFormat::forEachRegisteredAnalysis ( llvm::function_ref< void(llvm::StringRef Name, llvm::StringRef Desc)> Callback) const
overridevirtual

Invokes Callback once for each analysis that has registered serialization support for this format.

Implements clang::ssaf::SerializationFormat.

Definition at line 128 of file JSONFormatImpl.cpp.

◆ readLUSummary()

◆ readLUSummaryEncoding()

◆ readTUSummary()

◆ readTUSummaryEncoding()

◆ writeLUSummary()

llvm::Error clang::ssaf::JSONFormat::writeLUSummary ( const LUSummary & Summary,
llvm::StringRef Path )
overridevirtual

◆ writeLUSummaryEncoding()

llvm::Error clang::ssaf::JSONFormat::writeLUSummaryEncoding ( const LUSummaryEncoding & SummaryEncoding,
llvm::StringRef Path )
overridevirtual

◆ writeTUSummary()

llvm::Error clang::ssaf::JSONFormat::writeTUSummary ( const TUSummary & Summary,
llvm::StringRef Path )
overridevirtual

◆ writeTUSummaryEncoding()

llvm::Error clang::ssaf::JSONFormat::writeTUSummaryEncoding ( const TUSummaryEncoding & SummaryEncoding,
llvm::StringRef Path )
overridevirtual

◆ JSONEntitySummaryEncoding

friend class JSONEntitySummaryEncoding
friend

Definition at line 36 of file JSONFormat.h.

References JSONEntitySummaryEncoding.

Referenced by JSONEntitySummaryEncoding.


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