Skip to content

Commit 11ae6ab

Browse files
Szelethusmemfrob
authored andcommitted
[analyzer][ObjCGenerics] Don't emit diagnostics under the name core.DynamicTypePropagation
Differential Revision: https://reviews.llvm.org/D78124
1 parent c6bc1c6 commit 11ae6ab

File tree

2 files changed

+77
-74
lines changed

2 files changed

+77
-74
lines changed

clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ class DynamicTypePropagation:
5555
check::PostStmt<CXXNewExpr>,
5656
check::PreObjCMessage,
5757
check::PostObjCMessage > {
58+
5859
const ObjCObjectType *getObjectTypeForAllocAndNew(const ObjCMessageExpr *MsgE,
5960
CheckerContext &C) const;
6061

@@ -69,8 +70,8 @@ class DynamicTypePropagation:
6970
mutable std::unique_ptr<BugType> ObjCGenericsBugType;
7071
void initBugType() const {
7172
if (!ObjCGenericsBugType)
72-
ObjCGenericsBugType.reset(
73-
new BugType(this, "Generics", categories::CoreFoundationObjectiveC));
73+
ObjCGenericsBugType.reset(new BugType(
74+
GenericCheckName, "Generics", categories::CoreFoundationObjectiveC));
7475
}
7576

7677
class GenericsBugVisitor : public BugReporterVisitor {
@@ -108,6 +109,7 @@ class DynamicTypePropagation:
108109

109110
/// This value is set to true, when the Generics checker is turned on.
110111
DefaultBool CheckGenerics;
112+
CheckerNameRef GenericCheckName;
111113
};
112114

113115
bool isObjCClassType(QualType Type) {
@@ -1101,6 +1103,7 @@ PathDiagnosticPieceRef DynamicTypePropagation::GenericsBugVisitor::VisitNode(
11011103
void ento::registerObjCGenericsChecker(CheckerManager &mgr) {
11021104
DynamicTypePropagation *checker = mgr.getChecker<DynamicTypePropagation>();
11031105
checker->CheckGenerics = true;
1106+
checker->GenericCheckName = mgr.getCurrentCheckerName();
11041107
}
11051108

11061109
bool ento::shouldRegisterObjCGenericsChecker(const CheckerManager &mgr) {

0 commit comments

Comments
 (0)