clang 24.0.0git
VirtualMethodFamilyAnalysis.cpp File Reference
#include "clang/ScalableStaticAnalysis/Analyses/VirtualMethodFamily/VirtualMethodFamily.h"
#include "clang/ScalableStaticAnalysis/Core/Model/EntityId.h"
#include "clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisRegistry.h"
#include "clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/SummaryAnalysis.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <map>
#include <optional>
#include <utility>

Go to the source code of this file.

Namespaces

namespace  clang
 Top level wrappers for InstallAPI frontend operations.
namespace  clang::ssaf

Functions

static AnalysisRegistry::Add< VirtualMethodFamilyAnalysis > RegisterAnalysis ("Override-family equivalence classes for virtual methods")
static void printEntityIds (llvm::raw_ostream &OS, llvm::ArrayRef< EntityId > Ids)
llvm::raw_ostream & clang::ssaf::operator<< (llvm::raw_ostream &OS, const VirtualMethodSummary &S)
 Prints S as "VirtualMethodSummary { params=[...], return=..., overridden=[...] }".
llvm::raw_ostream & clang::ssaf::operator<< (llvm::raw_ostream &OS, const VirtualMethodFamilyAnalysisResult &R)
 Prints R as one "<param/return id> -> <family id>" line per entry, ordered by the param/return id so that the output is stable across runs.

Variables

volatile int clang::ssaf::VirtualMethodFamilyAnalysisAnchorSource = 0

Function Documentation

◆ printEntityIds()

void printEntityIds ( llvm::raw_ostream & OS,
llvm::ArrayRef< EntityId > Ids )
static

Definition at line 128 of file VirtualMethodFamilyAnalysis.cpp.

Referenced by clang::ssaf::operator<<().

◆ RegisterAnalysis()

AnalysisRegistry::Add< VirtualMethodFamilyAnalysis > RegisterAnalysis ( "Override-family equivalence classes for virtual methods" )
static