#include "clang/Analysis/PathSensitive/ValueState.h"
#include "clang/Analysis/PathSensitive/ExplodedGraph.h"
#include "llvm/ADT/SmallPtrSet.h"
+#include "llvm/ADT/SmallSet.h"
#include <vector>
namespace clang {
PathDiagnosticClient* PD;
ASTContext& Ctx;
GRExprEngine& Eng;
+ llvm::SmallSet<SymbolID, 10> NotableSymbols;
public:
BugReporter(Diagnostic& diag, PathDiagnosticClient* pd,
GRExprEngine& getEngine() { return Eng; }
+ ValueStateManager& getStateManager();
+
CFG& getCFG() { return getGraph().getCFG(); }
void EmitWarning(BugReport& R);
void GeneratePathDiagnostic(PathDiagnostic& PD, BugReport& R);
+
+ void addNotableSymbol(SymbolID Sym) { NotableSymbols.insert(Sym); }
+ bool isNotable(SymbolID Sym) const { return (bool) NotableSymbols.count(Sym);}
};
} // end clang namespace