clang 20.0.0git
|
#include "clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h"
#include "clang/AST/ParentMap.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
#include "clang/StaticAnalyzer/Core/Checker.h"
#include "clang/StaticAnalyzer/Core/CheckerManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Functions | |
static bool | shouldRunOnFunctionOrMethod (const NamedDecl *ND) |
static bool | isInitializationMethod (const ObjCMethodDecl *MD) |
static bool | isInitMessage (const ObjCMethodCall &Msg) |
static bool | isSelfVar (SVal location, CheckerContext &C) |
Returns true if the location is 'self'. | |
static SelfFlagEnum | getSelfFlags (SVal val, ProgramStateRef state) |
A call receiving a reference to 'self' invalidates the object that 'self' contains. | |
static SelfFlagEnum | getSelfFlags (SVal val, CheckerContext &C) |
static void | addSelfFlag (ProgramStateRef state, SVal val, SelfFlagEnum flag, CheckerContext &C) |
static bool | hasSelfFlag (SVal val, SelfFlagEnum flag, CheckerContext &C) |
static bool | isInvalidSelf (const Expr *E, CheckerContext &C) |
Returns true of the value of the expression is the object that 'self' points to and is an object that did not come from the result of calling an initializer. | |
|
static |
Definition at line 117 of file ObjCSelfInitChecker.cpp.
References clang::C, clang::ento::SVal::getAsSymbol(), and getSelfFlags().
|
static |
Definition at line 113 of file ObjCSelfInitChecker.cpp.
References clang::C, and getSelfFlags().
|
static |
A call receiving a reference to 'self' invalidates the object that 'self' contains.
This keeps the "self flags" assigned to the 'self' object before the call so we can assign them to the new object that 'self' points to after the call.
Definition at line 106 of file ObjCSelfInitChecker.cpp.
Referenced by addSelfFlag(), getSelfFlags(), and hasSelfFlag().
|
static |
Definition at line 127 of file ObjCSelfInitChecker.cpp.
References clang::C, and getSelfFlags().
Referenced by isInvalidSelf().
|
static |
Definition at line 422 of file ObjCSelfInitChecker.cpp.
References clang::ObjCMethodDecl::getMethodFamily(), and clang::OMF_init.
Referenced by shouldRunOnFunctionOrMethod().
|
static |
Definition at line 426 of file ObjCSelfInitChecker.cpp.
References clang::Call, and clang::OMF_init.
|
static |
Returns true of the value of the expression is the object that 'self' points to and is an object that did not come from the result of calling an initializer.
Definition at line 134 of file ObjCSelfInitChecker.cpp.
References clang::C, E, and hasSelfFlag().
|
static |
Returns true if the location is 'self'.
Definition at line 408 of file ObjCSelfInitChecker.cpp.
References clang::C, clang::ento::SVal::castAs(), clang::AnalysisDeclContext::getSelfDecl(), and clang::ento::loc::MemRegionVal::stripCasts().
Definition at line 383 of file ObjCSelfInitChecker.cpp.
References clang::IdentifierTable::get(), clang::Decl::getASTContext(), clang::ObjCMethodDecl::getClassInterface(), clang::ObjCInterfaceDecl::getSuperClass(), clang::ASTContext::Idents, and isInitializationMethod().