Szelethus added inline comments.

================
Comment at: lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp:36
+  const ProgramStateRef PS;
+  SValBuilder &SVB;
+
----------------
NoQ wrote:
> ZaMaZaN4iK wrote:
> > Szelethus wrote:
> > > You can acquire `SValBuilder` from `ProgramState`:
> > > `PS->getStateManager()->getSvalBuilder()`
> > Is there any difference? Is it critical to get `SValBuilder` from 
> > `CheckerContext' ?
> There's only one instance of `SValBuilder` in existence at any particular 
> moment of time. The same applies to `BasicValueFactory`, `SymbolManager`, 
> `MemRegionManager`, `ConstraintManager`, `StoreManager`, 
> `ProgramStateManager`, ...
> 
> All these objects live within `ExprEngine` and have the same lifetime.
> 
> `ExprEngine`, together with all these objects, is created from scratch for 
> every analysis of a top-level function.
> 
> AST entities, such ast `ASTContex`, on the contrary, live much longer - only 
> one is created per clang process. That is, until somebody takes `ASTImporter` 
> and tries to frankenstein multiple ASTs into one :)
Then I guess no, it's not critical. ^-^


https://reviews.llvm.org/D33672



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

Reply via email to