const BugType& getBugType() const { return Desc; }
const char* getName() const { return getBugType().getName(); }
- const char* getDescription() const { return getBugType().getDescription(); }
+
+ virtual const char* getDescription() const {
+ return getBugType().getDescription();
+ }
virtual PathDiagnosticPiece* getEndPath(ASTContext& Ctx,
ExplodedNode<ValueState> *N) const;
virtual ~Report() {}
+ virtual const char* getDescription() const { return s; }
+
+ virtual void getRanges(const SourceRange*& B, const SourceRange*& E) const {
+ B = &R;
+ E = B+1;
+ }
+
virtual PathDiagnosticPiece* getEndPath(ASTContext& Ctx,
ExplodedNode<ValueState> *N) const {
virtual void EmitWarnings(BugReporter& BR) {
GRExprEngine& Eng = BR.getEngine();
GenericEmitWarnings(BR, *this, Eng.undef_results_begin(),
- Eng.undef_results_begin());
+ Eng.undef_results_end());
}
};
virtual void EmitWarnings(BugReporter& BR) {
GRExprEngine& Eng = BR.getEngine();
GenericEmitWarnings(BR, *this, Eng.bad_calls_begin(),
- Eng.bad_calls_begin());
+ Eng.bad_calls_end());
}
};
GRExprEngine& Eng = BR.getEngine();
for (GRExprEngine::UndefArgsTy::iterator I=Eng.msg_expr_undef_arg_begin(),
- E = Eng.msg_expr_undef_arg_begin(); I!=E; ++I) {
+ E = Eng.msg_expr_undef_arg_end(); I!=E; ++I) {
// Generate a report for this bug.
Report report(*this, I->second);
virtual void EmitWarnings(BugReporter& BR) {
GRExprEngine& Eng = BR.getEngine();
GenericEmitWarnings(BR, *this, Eng.ret_stackaddr_begin(),
- Eng.ret_stackaddr_begin());
+ Eng.ret_stackaddr_end());
}
};