clang 20.0.0git
Functions
RunLoopAutoreleaseLeakChecker.cpp File Reference
#include "clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclObjC.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.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/ExprEngine.h"

Go to the source code of this file.

Functions

static bool seenBefore (const Stmt *Parent, const Stmt *A, const Stmt *B)
 
static void emitDiagnostics (BoundNodes &Match, const Decl *D, BugReporter &BR, AnalysisManager &AM, const RunLoopAutoreleaseLeakChecker *Checker)
 
static StatementMatcher getRunLoopRunM (StatementMatcher Extra=anything())
 
static StatementMatcher getOtherMessageSentM (StatementMatcher Extra=anything())
 
static void checkTempObjectsInSamePool (const Decl *D, AnalysisManager &AM, BugReporter &BR, const RunLoopAutoreleaseLeakChecker *Chkr)
 
static void checkTempObjectsInNoPool (const Decl *D, AnalysisManager &AM, BugReporter &BR, const RunLoopAutoreleaseLeakChecker *Chkr)
 

Function Documentation

◆ checkTempObjectsInNoPool()

static void checkTempObjectsInNoPool ( const Decl D,
AnalysisManager AM,
BugReporter BR,
const RunLoopAutoreleaseLeakChecker *  Chkr 
)
static

◆ checkTempObjectsInSamePool()

static void checkTempObjectsInSamePool ( const Decl D,
AnalysisManager AM,
BugReporter BR,
const RunLoopAutoreleaseLeakChecker *  Chkr 
)
static

◆ emitDiagnostics()

static void emitDiagnostics ( BoundNodes Match,
const Decl D,
BugReporter BR,
AnalysisManager AM,
const RunLoopAutoreleaseLeakChecker *  Checker 
)
static

◆ getOtherMessageSentM()

static StatementMatcher getOtherMessageSentM ( StatementMatcher  Extra = anything())
static

◆ getRunLoopRunM()

static StatementMatcher getRunLoopRunM ( StatementMatcher  Extra = anything())
static

◆ seenBefore()

static bool seenBefore ( const Stmt Parent,
const Stmt A,
const Stmt B 
)
static
Returns
Whether A occurs before B in traversal of Parent. Conceptually a very incomplete/unsound approximation of happens-before relationship (A is likely to be evaluated before B), but useful enough in this case.

Definition at line 65 of file RunLoopAutoreleaseLeakChecker.cpp.

References clang::C, Parent, and seenBefore().

Referenced by emitDiagnostics(), and seenBefore().