13 #ifndef LLVM_CLANG_STATICANALYZER_CORE_BUGREPORTER_BUGTYPE_H 14 #define LLVM_CLANG_STATICANALYZER_CORE_BUGREPORTER_BUGTYPE_H 32 const std::string Name;
33 const std::string Category;
37 virtual void anchor();
41 bool SuppressOnSink=
false)
42 : Check(Check), Name(Name), Category(Cat), Checker(nullptr),
43 SuppressOnSink(SuppressOnSink) {}
45 bool SuppressOnSink=
false)
46 : Check(Checker->
getCheckName()), Name(Name), Category(Cat),
47 Checker(Checker), SuppressOnSink(SuppressOnSink) {}
50 StringRef
getName()
const {
return Name; }
60 assert(!CheckName.empty() &&
"Check name is not set properly.");
71 const std::string desc;
72 void anchor()
override;
78 const char *description)
BugType(CheckName Check, StringRef Name, StringRef Cat, bool SuppressOnSink=false)
BuiltinBug(class CheckName check, const char *name, const char *description)
BugType(const CheckerBase *Checker, StringRef Name, StringRef Cat, bool SuppressOnSink=false)
CheckName getCheckName() const
StringRef getDescription() const
StringRef getName() const
const char *const LogicError
StringRef getCategory() const
BuiltinBug(const CheckerBase *checker, const char *name)
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
StringRef getName() const
Dataflow Directional Tag Classes.
virtual ~BugType()=default
StringRef getCheckName() const
bool isSuppressOnSink() const
isSuppressOnSink - Returns true if bug reports associated with this bug type should be suppressed if ...
BuiltinBug(const CheckerBase *checker, const char *name, const char *description)