9#ifndef LLVM_CLANG_SCALABLESTATICANALYSIS_ANALYSES_VIRTUALMETHODFAMILY_VIRTUALMETHODFAMILY_H
10#define LLVM_CLANG_SCALABLESTATICANALYSIS_ANALYSES_VIRTUALMETHODFAMILY_VIRTUALMETHODFAMILY_H
15#include "llvm/ADT/StringRef.h"
23 static constexpr llvm::StringLiteral
Name =
"VirtualMethod";
40 std::tie(
Other.ParamEntities,
Other.ReturnEntity,
41 Other.OverriddenMethods);
45 return !(*
this ==
Other);
Base class for analysis-specific summary data.
Uniquely identifies an analysis summary.
@ Other
Other implicit parameter.
static constexpr llvm::StringLiteral Name
bool operator!=(const VirtualMethodSummary &Other) const
static SummaryName summaryName()
bool operator==(const VirtualMethodSummary &Other) const
std::vector< EntityId > ParamEntities
EntityIds of each ParmVarDecl, in source order.
SummaryName getSummaryName() const override
std::optional< EntityId > ReturnEntity
EntityId of the synthetic return-slot entity for this method.
std::vector< EntityId > OverriddenMethods
The result of CXXMethodDecl::overridden_methods().