ayartsev added inline comments.

================
Comment at: lib/StaticAnalyzer/Core/RegionStore.cpp:746
@@ -739,1 +745,3 @@
+    return static_cast<DERIVED*>(this)->hasTrait(MR, IK);
+  }
 };
----------------
Hmm.. Either we completely encapsulate 'RegionAndSymbolInvalidationTraits' in 
the 'invalidateRegionsWorker' class or we move 
'RegionAndSymbolInvalidationTraits' (maybe renamed to the more general name) to 
the base 'ClusterAnalysis' class. 
In the suggested solution you on the one hand make processing of 
'RegionAndSymbolInvalidationTraits' specific to 'invalidateRegionsWorker' class 
but on the other hand explicitly refer to 
'RegionAndSymbolInvalidationTraits::InvalidationKinds' and  
'RegionAndSymbolInvalidationTraits::TK_DoNotInvalidateSuperRegion' in the 
'ClusterAnalysis' class.
It seems to me the proper way to encapsulate 
'RegionAndSymbolInvalidationTraits' in the 'invalidateRegionsWorker' is to just 
override 'AddToWorkList()' in subclasses (as you done with 'hasTrait()').


http://reviews.llvm.org/D11832



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to