25class OpaqueSTLFunctionsModeling :
public Checker<eval::Call> {
27 bool evalCall(
const CallEvent &
Call, CheckerContext &
C)
const;
30 const CallDescriptionSet ModeledFunctions{
31 {CDM::SimpleFunc, {
"std",
"sort"}},
32 {CDM::SimpleFunc, {
"std",
"stable_sort"}},
33 {CDM::SimpleFunc, {
"std",
"inplace_merge"}}};
37bool OpaqueSTLFunctionsModeling::evalCall(
const CallEvent &
Call,
43 Call.invalidateRegions(
C.blockCount(),
C.getState());
44 C.addTransition(InvalidatedRegionsState);
48void ento::registerOpaqueSTLFunctionsModeling(CheckerManager &Mgr) {
52bool ento::shouldRegisterOpaqueSTLFunctionsModeling(
const CheckerManager &Mgr) {
bool contains(const CallEvent &Call) const
Represents an abstract call to a function or method along a particular path.
CHECKER * registerChecker(AT &&...Args)
Register a single-part checker (derived from Checker): construct its singleton instance,...
const LangOptions & getLangOpts() const
Simple checker classes that implement one frontend (i.e.
IntrusiveRefCntPtr< const ProgramState > ProgramStateRef
The JSON file list parser is used to communicate input to InstallAPI.