class RefLeakReport
Declaration
class RefLeakReport : public RefCountReport { /* full declaration omitted */ };
Description
This class provides an interface through which checkers can create individual bug reports.
Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h:70
Inherits from: RefCountReport
Member Variables
- private const clang::ento::MemRegion* AllocFirstBinding = nullptr
- private const clang::ento::MemRegion* AllocBindingToReport = nullptr
- private const clang::Stmt* AllocStmt = nullptr
- private clang::ento::PathDiagnosticLocation Location
Inherited from RefCountReport:
- protected Sym
- protected isLeak = false
Inherited from PathSensitiveBugReport:
- protected ErrorNode = nullptr
- protected ErrorNodeRange
- protected InterestingSymbols
- protected InterestingRegions
- protected InterestingLocationContexts
- protected Callbacks
- protected CallbacksSet
- protected DoNotPrunePath = false
- protected Invalidations
- protected TrackedConditions
- protected UniqueingLocation
- protected UniqueingDecl
- protected StackHints
Inherited from BugReport:
- protected K
- protected BT
- protected ShortDescription
- protected Description
- protected Ranges
- protected Notes
- protected Fixits
Method Overview
- public RefLeakReport(const clang::ento::retaincountchecker::RefCountBug & D, const clang::LangOptions & LOpts, clang::ento::ExplodedNode * n, clang::ento::SymbolRef sym, clang::ento::CheckerContext & Ctx)
- private void createDescription(clang::ento::CheckerContext & Ctx)
- private void deriveAllocLocation(clang::ento::CheckerContext & Ctx)
- private void deriveParamLocation(clang::ento::CheckerContext & Ctx)
- private void findBindingToReport(clang::ento::CheckerContext & Ctx, clang::ento::ExplodedNode * Node)
- public clang::ento::PathDiagnosticLocation getEndOfPath() const
- public clang::ento::PathDiagnosticLocation getLocation() const
Inherited from RefCountReport:
Inherited from PathSensitiveBugReport:
- public Profile
- public addCallStackHint
- public addTrackedCondition
- public addVisitor
- public addVisitor
- public classof
- public clearVisitors
- public disablePathPruning
- public getCallStackMessage
- public getDeclWithIssue
- public getErrorNode
- public getInterestingnessKind
- public getInterestingnessKind
- public getInterestingnessKind
- public getLocation
- public getRanges
- protected getStmt
- public getUniqueingDecl
- public getUniqueingLocation
- public hasCallStackHint
- public isInteresting
- public isInteresting
- public isInteresting
- public isInteresting
- public isValid
- public markInteresting
- public markInteresting
- public markInteresting
- public markInteresting
- public markInvalid
- public markNotInteresting
- public markNotInteresting
- public shouldPrunePath
- public visitor_begin
- public visitor_end
- public visitors
Inherited from BugReport:
- public Profile
- public addFixItHint
- public addNote
- public addRange
- public getBugType
- public getDeclWithIssue
- public getDescription
- public getFixits
- public getKind
- public getLocation
- public getNotes
- public getRanges
- public getShortDescription
- public getUniqueingDecl
- public getUniqueingLocation
Methods
¶RefLeakReport(
const clang::ento::retaincountchecker::
RefCountBug& D,
const clang::LangOptions& LOpts,
clang::ento::ExplodedNode* n,
clang::ento::SymbolRef sym,
clang::ento::CheckerContext& Ctx)
RefLeakReport(
const clang::ento::retaincountchecker::
RefCountBug& D,
const clang::LangOptions& LOpts,
clang::ento::ExplodedNode* n,
clang::ento::SymbolRef sym,
clang::ento::CheckerContext& Ctx)
Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h:87
Parameters
- const clang::ento::retaincountchecker:: RefCountBug& D
- const clang::LangOptions& LOpts
- clang::ento::ExplodedNode* n
- clang::ento::SymbolRef sym
- clang::ento::CheckerContext& Ctx
¶void createDescription(
clang::ento::CheckerContext& Ctx)
void createDescription(
clang::ento::CheckerContext& Ctx)
Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h:82
Parameters
¶void deriveAllocLocation(
clang::ento::CheckerContext& Ctx)
void deriveAllocLocation(
clang::ento::CheckerContext& Ctx)
Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h:80
Parameters
¶void deriveParamLocation(
clang::ento::CheckerContext& Ctx)
void deriveParamLocation(
clang::ento::CheckerContext& Ctx)
Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h:78
Parameters
¶void findBindingToReport(
clang::ento::CheckerContext& Ctx,
clang::ento::ExplodedNode* Node)
void findBindingToReport(
clang::ento::CheckerContext& Ctx,
clang::ento::ExplodedNode* Node)
Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h:84
Parameters
¶clang::ento::PathDiagnosticLocation getEndOfPath()
const
clang::ento::PathDiagnosticLocation getEndOfPath()
const
Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h:94
¶clang::ento::PathDiagnosticLocation getLocation()
const
clang::ento::PathDiagnosticLocation getLocation()
const
Description
The primary location of the bug report that points at the undesirable behavior in the code. UIs should attach the warning description to this location. The warning description should describe the bad behavior at this location.
Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h:89