9#ifndef LLVM_CLANG_ANALYZER_WEBKIT_RAWPTRREFSAFETYMODEL_H
10#define LLVM_CLANG_ANALYZER_WEBKIT_RAWPTRREFSAFETYMODEL_H
44 bool IgnoreARC =
false)
const = 0;
54 virtual bool isPtrType(
const std::string &Name)
const = 0;
79 QualType T,
bool IgnoreARC =
false);
llvm::MachO::Record Record
Represents a C++ struct/union/class.
Decl - This represents one declaration (or definition), e.g.
This represents one expression.
Models one WebKit pointer-safety policy: ref-counted (RefPtr), checked (CheckedPtr),...
virtual bool isSafeExpr(const Expr *) const
virtual ~PtrRefSafetyModel()=default
virtual std::optional< bool > isUnsafePtr(QualType QT, bool IgnoreARC=false) const =0
virtual std::optional< bool > isUnsafeType(QualType QT) const =0
virtual RetainTypeChecker * retainTypeChecker() const
virtual bool isSafePtr(const CXXRecordDecl *Record) const =0
virtual const char * typeName() const =0
virtual bool isSafeDecl(const Decl *, const SourceManager &) const
virtual bool isSafePtrType(QualType T) const =0
virtual bool isPtrType(const std::string &Name) const =0
A (possibly-)qualified type.
An inter-procedural analysis facility that detects CF types with the underlying pointer type.
This class handles loading and caching of source files into memory.
The JSON file list parser is used to communicate input to InstallAPI.
std::unique_ptr< PtrRefSafetyModel > makeCheckedPtrSafetyModel()
std::optional< bool > isUnsafePtrForStorage(const PtrRefSafetyModel &Model, QualType T, bool IgnoreARC=false)
Applies the memory-management exemptions that hold for a variable, member, or lambda capture (but not...
const FunctionProtoType * T
std::unique_ptr< PtrRefSafetyModel > makeRefPtrSafetyModel()
std::unique_ptr< PtrRefSafetyModel > makeRetainPtrSafetyModel()