clang 23.0.0git
clang::ssaf::SerializationFormat Class Referenceabstract

Abstract base class for serialization formats. More...

#include "clang/ScalableStaticAnalysis/Core/Serialization/SerializationFormat.h"

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

Classes

class  AnalysisResultRegistryGenerator
 Per-format plugin registry for analysis result (de)serializers. More...
class  AnalysisResultRegistryGenerator< FormatT, llvm::function_ref< SerRet(const AnalysisResult &, SerArgs...)>, llvm::function_ref< DesRet(DesArgs...)> >

Public Member Functions

virtual ~SerializationFormat ()=default
virtual llvm::Expected< TUSummaryreadTUSummary (llvm::StringRef Path)=0
virtual llvm::Error writeTUSummary (const TUSummary &Summary, llvm::StringRef Path)=0
virtual llvm::Expected< TUSummaryEncodingreadTUSummaryEncoding (llvm::StringRef Path)=0
virtual llvm::Error writeTUSummaryEncoding (const TUSummaryEncoding &SummaryEncoding, llvm::StringRef Path)=0
virtual llvm::Expected< LUSummaryreadLUSummary (llvm::StringRef Path)=0
virtual llvm::Error writeLUSummary (const LUSummary &Summary, llvm::StringRef Path)=0
virtual llvm::Expected< ArtifactreadArtifact (llvm::StringRef Path)=0
 Generic read entry point.
virtual llvm::Error writeArtifact (const Artifact &A, llvm::StringRef Path)=0
 Generic write entry point.
virtual llvm::Expected< ArtifactEncodingreadArtifactEncoding (llvm::StringRef Path)=0
 Encoding-flavored counterpart of readArtifact.
virtual llvm::Error writeArtifactEncoding (const ArtifactEncoding &E, llvm::StringRef Path)=0
 Encoding-flavored counterpart of writeArtifact.
virtual llvm::Expected< LUSummaryEncodingreadLUSummaryEncoding (llvm::StringRef Path)=0
virtual llvm::Error writeLUSummaryEncoding (const LUSummaryEncoding &SummaryEncoding, llvm::StringRef Path)=0
virtual llvm::Expected< WPASuitereadWPASuite (llvm::StringRef Path)=0
virtual llvm::Error writeWPASuite (const WPASuite &Suite, llvm::StringRef Path)=0
virtual void forEachRegisteredAnalysis (llvm::function_ref< void(llvm::StringRef Name, llvm::StringRef Desc)> Callback) const =0
 Invokes Callback once for each analysis that has registered serialization support for this format.

Static Protected Member Functions

static EntityId makeEntityId (const size_t Index)
static WPASuite makeWPASuite ()
 Constructs an empty WPASuite.

Detailed Description

Abstract base class for serialization formats.

Definition at line 46 of file SerializationFormat.h.

Constructor & Destructor Documentation

◆ ~SerializationFormat()

virtual clang::ssaf::SerializationFormat::~SerializationFormat ( )
virtualdefault

Member Function Documentation

◆ forEachRegisteredAnalysis()

virtual void clang::ssaf::SerializationFormat::forEachRegisteredAnalysis ( llvm::function_ref< void(llvm::StringRef Name, llvm::StringRef Desc)> Callback) const
pure virtual

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

Implemented in clang::ssaf::JSONFormat.

◆ makeEntityId()

EntityId clang::ssaf::SerializationFormat::makeEntityId ( const size_t Index)
inlinestaticprotected

Definition at line 112 of file SerializationFormat.h.

◆ makeWPASuite()

WPASuite clang::ssaf::SerializationFormat::makeWPASuite ( )
inlinestaticprotected

Constructs an empty WPASuite.

Bypasses the private default constructor so that deserialization code can build a WPASuite incrementally.

Definition at line 116 of file SerializationFormat.h.

◆ readArtifact()

virtual llvm::Expected< Artifact > clang::ssaf::SerializationFormat::readArtifact ( llvm::StringRef Path)
pure virtual

Generic read entry point.

Inspects the file's self-describing type field and dispatches to readTUSummary or readLUSummary accordingly. Returns an error if the type field is missing or names an unrecognized artifact kind.

Implemented in clang::ssaf::JSONFormat.

◆ readArtifactEncoding()

virtual llvm::Expected< ArtifactEncoding > clang::ssaf::SerializationFormat::readArtifactEncoding ( llvm::StringRef Path)
pure virtual

Encoding-flavored counterpart of readArtifact.

Inspects the self-describing type field and dispatches to readTUSummaryEncoding or readLUSummaryEncoding accordingly.

Implemented in clang::ssaf::JSONFormat.

◆ readLUSummary()

virtual llvm::Expected< LUSummary > clang::ssaf::SerializationFormat::readLUSummary ( llvm::StringRef Path)
pure virtual

Implemented in clang::ssaf::JSONFormat.

◆ readLUSummaryEncoding()

virtual llvm::Expected< LUSummaryEncoding > clang::ssaf::SerializationFormat::readLUSummaryEncoding ( llvm::StringRef Path)
pure virtual

Implemented in clang::ssaf::JSONFormat.

◆ readTUSummary()

virtual llvm::Expected< TUSummary > clang::ssaf::SerializationFormat::readTUSummary ( llvm::StringRef Path)
pure virtual

Implemented in clang::ssaf::JSONFormat.

◆ readTUSummaryEncoding()

virtual llvm::Expected< TUSummaryEncoding > clang::ssaf::SerializationFormat::readTUSummaryEncoding ( llvm::StringRef Path)
pure virtual

Implemented in clang::ssaf::JSONFormat.

◆ readWPASuite()

virtual llvm::Expected< WPASuite > clang::ssaf::SerializationFormat::readWPASuite ( llvm::StringRef Path)
pure virtual

Implemented in clang::ssaf::JSONFormat.

◆ writeArtifact()

virtual llvm::Error clang::ssaf::SerializationFormat::writeArtifact ( const Artifact & A,
llvm::StringRef Path )
pure virtual

Generic write entry point.

Dispatches to writeTUSummary or writeLUSummary based on the active variant alternative.

Implemented in clang::ssaf::JSONFormat.

◆ writeArtifactEncoding()

virtual llvm::Error clang::ssaf::SerializationFormat::writeArtifactEncoding ( const ArtifactEncoding & E,
llvm::StringRef Path )
pure virtual

Encoding-flavored counterpart of writeArtifact.

Dispatches to writeTUSummaryEncoding or writeLUSummaryEncoding based on the active variant alternative.

Implemented in clang::ssaf::JSONFormat.

◆ writeLUSummary()

virtual llvm::Error clang::ssaf::SerializationFormat::writeLUSummary ( const LUSummary & Summary,
llvm::StringRef Path )
pure virtual

Implemented in clang::ssaf::JSONFormat.

◆ writeLUSummaryEncoding()

virtual llvm::Error clang::ssaf::SerializationFormat::writeLUSummaryEncoding ( const LUSummaryEncoding & SummaryEncoding,
llvm::StringRef Path )
pure virtual

Implemented in clang::ssaf::JSONFormat.

◆ writeTUSummary()

virtual llvm::Error clang::ssaf::SerializationFormat::writeTUSummary ( const TUSummary & Summary,
llvm::StringRef Path )
pure virtual

Implemented in clang::ssaf::JSONFormat.

◆ writeTUSummaryEncoding()

virtual llvm::Error clang::ssaf::SerializationFormat::writeTUSummaryEncoding ( const TUSummaryEncoding & SummaryEncoding,
llvm::StringRef Path )
pure virtual

Implemented in clang::ssaf::JSONFormat.

◆ writeWPASuite()

virtual llvm::Error clang::ssaf::SerializationFormat::writeWPASuite ( const WPASuite & Suite,
llvm::StringRef Path )
pure virtual

Implemented in clang::ssaf::JSONFormat.


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