14#ifndef LLVM_CLANG_SCALABLESTATICANALYSIS_CORE_SUPPORT_FORMATPROVIDERS_H
15#define LLVM_CLANG_SCALABLESTATICANALYSIS_CORE_SUPPORT_FORMATPROVIDERS_H
23#include "llvm/Support/FormatProviders.h"
24#include "llvm/Support/raw_ostream.h"
25#include "llvm/TargetParser/Triple.h"
29template <>
struct format_provider<
clang::ssaf::EntityId> {
36template <>
struct format_provider<
clang::ssaf::EntityLinkageType> {
43template <>
struct format_provider<
clang::ssaf::EntityLinkage> {
50template <>
struct format_provider<
clang::ssaf::BuildNamespaceKind> {
57template <>
struct format_provider<
clang::ssaf::BuildNamespace> {
64template <>
struct format_provider<
clang::ssaf::NestedBuildNamespace> {
66 raw_ostream &OS, StringRef Style) {
71template <>
struct format_provider<
clang::ssaf::EntityName> {
78template <>
struct format_provider<
clang::ssaf::SummaryName> {
85template <>
struct format_provider<
clang::ssaf::AnalysisName> {
92template <>
struct format_provider<
llvm::Triple> {
93 static void format(
const llvm::Triple &Val, raw_ostream &OS,
95 OS << llvm::Triple::normalize(Val.str());
Uniquely identifies a whole-program analysis and the AnalysisResult it produces.
Represents a single namespace in the build process.
Lightweight opaque handle representing an entity in an EntityIdTable.
Represents the linkage properties of an entity in the program model.
Uniquely identifies an entity in a program.
Represents a hierarchical sequence of build namespaces.
Uniquely identifies an analysis summary.
Top level wrappers for InstallAPI frontend operations.
Diagnostic wrappers for TextAPI types for error reporting.