[analyzer] Partial revert of https://reviews.llvm.org/D49050
authorGeorge Karpenkov <ekarpenkov@apple.com>
Wed, 11 Jul 2018 01:58:08 +0000 (01:58 +0000)
committerGeorge Karpenkov <ekarpenkov@apple.com>
Wed, 11 Jul 2018 01:58:08 +0000 (01:58 +0000)
llvm-svn: 336755

clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp

index 914ba86..126e576 100644 (file)
@@ -56,12 +56,6 @@ class DynamicTypePropagation:
                     check::PostStmt<CXXNewExpr>,
                     check::PreObjCMessage,
                     check::PostObjCMessage > {
-private:
-  /// This value is set to true, when the Generics checker is turned on.
-  bool CheckGenerics;
-public:
-  DynamicTypePropagation(bool CheckGenerics)
-      : CheckGenerics(CheckGenerics) {}
   const ObjCObjectType *getObjectTypeForAllocAndNew(const ObjCMessageExpr *MsgE,
                                                     CheckerContext &C) const;
 
@@ -113,6 +107,9 @@ public:
   void checkDeadSymbols(SymbolReaper &SR, CheckerContext &C) const;
   void checkPreObjCMessage(const ObjCMethodCall &M, CheckerContext &C) const;
   void checkPostObjCMessage(const ObjCMethodCall &M, CheckerContext &C) const;
+
+  /// This value is set to true, when the Generics checker is turned on.
+  DefaultBool CheckGenerics;
 };
 } // end anonymous namespace
 
@@ -998,9 +995,11 @@ DynamicTypePropagation::GenericsBugVisitor::VisitNode(const ExplodedNode *N,
 
 /// Register checkers.
 void ento::registerObjCGenericsChecker(CheckerManager &mgr) {
-  mgr.registerChecker<DynamicTypePropagation>(/*CheckGenerics=*/true);
+  DynamicTypePropagation *checker =
+      mgr.registerChecker<DynamicTypePropagation>();
+  checker->CheckGenerics = true;
 }
 
 void ento::registerDynamicTypePropagation(CheckerManager &mgr) {
-  mgr.registerChecker<DynamicTypePropagation>(/*CheckGenerics=*/false);
+  mgr.registerChecker<DynamicTypePropagation>();
 }