BugType *leakWithinFunction, *leakAtReturn;
BugType *overAutorelease;
BugType *returnNotOwnedForOwned;
+ BugReporter *BR;
+
+ const ProgramState *Update(const ProgramState * state,
+ SymbolRef sym,
+ RefVal V,
+ ArgEffect E,
+ RefVal::Kind& hasErr);
public:
CFRefCount(ASTContext &Ctx, bool gcenabled, const LangOptions& lopts)
LOpts(lopts), useAfterRelease(0), releaseNotOwned(0),
deallocGC(0), deallocNotOwned(0),
leakWithinFunction(0), leakAtReturn(0), overAutorelease(0),
- returnNotOwnedForOwned(0) {}
+ returnNotOwnedForOwned(0), BR(0) {}
void RegisterChecks(ExprEngine &Eng);
leakWithinFunction->setSuppressOnSink(true);
BR.Register(leakWithinFunction);
+ // Save the reference to the BugReporter.
+ this->BR = &BR;
+
// Register the RetainReleaseChecker with the ExprEngine object.
// Functionality in CFRefCount will be migrated to RetainReleaseChecker
// over time.