clang 23.0.0git
JSONFormatImpl.h File Reference
#include "../../ModelStringConversions.h"
#include "JSONEntitySummaryEncoding.h"
#include "clang/ScalableStaticAnalysis/Core/EntityLinker/EntitySummaryEncoding.h"
#include "clang/ScalableStaticAnalysis/Core/Model/EntityLinkage.h"
#include "clang/ScalableStaticAnalysis/Core/Serialization/JSONFormat.h"
#include "clang/ScalableStaticAnalysis/Core/Support/ErrorBuilder.h"
#include "clang/ScalableStaticAnalysis/Core/Support/FormatProviders.h"
#include "clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisName.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/JSON.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Registry.h"

Go to the source code of this file.

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
namespace  clang::ssaf
namespace  clang::ssaf::ErrorMessages

Typedefs

using clang::ssaf::Array = llvm::json::Array
using clang::ssaf::Object = llvm::json::Object
using clang::ssaf::Value = llvm::json::Value

Functions

llvm::Error clang::ssaf::checkSummaryType (const Object &RootObject, llvm::StringRef ExpectedType)
 Reads the JSONTypeKey field from the root object and verifies it equals ExpectedType.
llvm::Expected< llvm::StringRef > clang::ssaf::readSummaryType (const Object &RootObject)
 Reads the JSONTypeKey field from the root object as a string.
llvm::Expected< Valueclang::ssaf::readJSON (llvm::StringRef Path)
llvm::Error clang::ssaf::writeJSON (Value &&V, llvm::StringRef Path)
SummaryName clang::ssaf::summaryNameFromJSON (llvm::StringRef SummaryNameStr)
llvm::StringRef clang::ssaf::summaryNameToJSON (const SummaryName &SN)
AnalysisName clang::ssaf::analysisNameFromJSON (llvm::StringRef AnalysisNameStr)
llvm::StringRef clang::ssaf::analysisNameToJSON (const AnalysisName &AN)
llvm::Expected< BuildNamespaceKindclang::ssaf::buildNamespaceKindFromJSON (llvm::StringRef BuildNamespaceKindStr)
llvm::StringRef clang::ssaf::buildNamespaceKindToJSON (BuildNamespaceKind BNK)
llvm::Expected< EntityLinkageTypeclang::ssaf::entityLinkageTypeFromJSON (llvm::StringRef EntityLinkageTypeStr)
llvm::StringRef clang::ssaf::entityLinkageTypeToJSON (EntityLinkageType LT)
llvm::Error clang::ssaf::validateNormalizedTargetTriple (llvm::StringRef Triple)
 Validates that Triple is a target triple string in normalized form.

Variables

constexpr const char * clang::ssaf::JSONFormatFileExtension = ".json"
constexpr const char * clang::ssaf::ErrorMessages::FailedToReadFile
constexpr const char * clang::ssaf::ErrorMessages::FailedToWriteFile
constexpr const char * clang::ssaf::ErrorMessages::FileNotFound = "file does not exist"
constexpr const char * clang::ssaf::ErrorMessages::FileIsDirectory
constexpr const char * clang::ssaf::ErrorMessages::FileIsNotJSON
constexpr const char * clang::ssaf::ErrorMessages::FileExists = "file already exists"
constexpr const char * clang::ssaf::ErrorMessages::ParentDirectoryNotFound
constexpr const char * clang::ssaf::ErrorMessages::ReadingFromField = "reading {0} from field '{1}'"
constexpr const char * clang::ssaf::ErrorMessages::WritingToField = "writing {0} to field '{1}'"
constexpr const char * clang::ssaf::ErrorMessages::ReadingFromIndex = "reading {0} from index '{1}'"
constexpr const char * clang::ssaf::ErrorMessages::WritingToIndex = "writing {0} to index '{1}'"
constexpr const char * clang::ssaf::ErrorMessages::ReadingFromFile = "reading {0} from file '{1}'"
constexpr const char * clang::ssaf::ErrorMessages::WritingToFile = "writing {0} to file '{1}'"
constexpr const char * clang::ssaf::ErrorMessages::FailedInsertionOnDuplication
constexpr const char * clang::ssaf::ErrorMessages::FailedToReadObject
constexpr const char * clang::ssaf::ErrorMessages::FailedToReadObjectAtField
constexpr const char * clang::ssaf::ErrorMessages::FailedToReadObjectAtIndex
constexpr const char * clang::ssaf::ErrorMessages::MismatchedSummaryType
constexpr const char * clang::ssaf::ErrorMessages::UnknownArtifactType
constexpr const char * clang::ssaf::ErrorMessages::UnknownArtifactEncodingType
constexpr const char * clang::ssaf::ErrorMessages::FailedToDeserializeEntitySummaryNoFormatInfo
constexpr const char * clang::ssaf::ErrorMessages::FailedToSerializeEntitySummaryNoFormatInfo
constexpr const char * clang::ssaf::ErrorMessages::FailedToDeserializeEntitySummaryMissingData
constexpr const char * clang::ssaf::ErrorMessages::FailedToSerializeEntitySummaryMissingData
constexpr const char * clang::ssaf::ErrorMessages::FailedToDeserializeEntitySummaryMismatchedSummaryName
constexpr const char * clang::ssaf::ErrorMessages::FailedToSerializeEntitySummaryMismatchedSummaryName
constexpr const char * clang::ssaf::ErrorMessages::InvalidBuildNamespaceKind
constexpr const char * clang::ssaf::ErrorMessages::InvalidEntityLinkageType
constexpr const char * clang::ssaf::ErrorMessages::FailedToDeserializeLinkageTableExtraId
constexpr const char * clang::ssaf::ErrorMessages::FailedToDeserializeLinkageTableMissingId
constexpr const char * clang::ssaf::ErrorMessages::FailedToReadEntityIdObject
constexpr const char * clang::ssaf::ErrorMessages::FailedToPatchEntityIdNotInTable
constexpr const char * clang::ssaf::ErrorMessages::TargetTripleNotNormalized
constexpr const char * clang::ssaf::JSONEntityIdKey = "@"
 An entity ID is encoded as the single-key object {"@": <index>}.
constexpr const char * clang::ssaf::JSONTypeKey = "type"
 Root-object key naming the summary kind so files are self-describing.
constexpr const char * clang::ssaf::JSONTypeValueTUSummary = "TUSummary"
 Value written to JSONTypeKey for serialized TUSummary files.
constexpr const char * clang::ssaf::JSONTypeValueLUSummary = "LUSummary"
 Value written to JSONTypeKey for serialized LUSummary files.
constexpr const char * clang::ssaf::JSONTypeValueStaticLibrary = "StaticLibrary"
 Value written to JSONTypeKey for serialized StaticLibrary files.
constexpr const char * clang::ssaf::JSONTypeValueMultiArchStaticLibrary
 Value written to JSONTypeKey for serialized MultiArchStaticLibrary files.
constexpr const char * clang::ssaf::JSONTypeValueWPASuite = "WPASuite"
 Value written to JSONTypeKey for serialized WPASuite files.