clang 22.0.0git
RunLoopAutoreleaseLeakChecker.cpp File Reference

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()

◆ checkTempObjectsInSamePool()

◆ emitDiagnostics()

◆ getOtherMessageSentM()

◆ getRunLoopRunM()

◆ seenBefore()

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, clang::Stmt::children(), and seenBefore().

Referenced by emitDiagnostics(), and seenBefore().