EmitBasicReport(BugName, BugStr, Loc, 0, 0);
}
+ void EmitBasicReport(const char* BugName, const char* BugCategory,
+ const char* BugStr, SourceLocation Loc) {
+ EmitBasicReport(BugName, BugCategory, BugStr, Loc, 0, 0);
+ }
+
void EmitBasicReport(const char* BugName, const char* BugStr,
SourceLocation Loc, SourceRange R) {
EmitBasicReport(BugName, BugStr, Loc, &R, 1);
void EmitWarnings(BugReporter& BR) { EmitGRWarnings(cast<GRBugReporter>(BR));}
const char* getName() const { return "NSError** null dereference"; }
const char* getDescription() const { return desc; }
+ const char* getCategory() const { return "Coding Conventions (Apple)"; }
};
} // end anonymous namespace
if (ResultTy == Ctx.VoidTy) {
BR.EmitBasicReport("Bad return type when passing NSError**",
+ getCategory(),
"Method accepting NSError** argument should have "
"non-void return value to indicate that an error occurred.",
CodeDecl.getLocation());