Coverage Report

Created: 2018-11-16 02:38

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
Line
Count
Source (jump to first uncovered line)
1
//== ProgramState.h - Path-sensitive "State" for tracking values -*- C++ -*--=//
2
//
3
//                     The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This file defines the state of the program along the analysisa path.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_PROGRAMSTATE_H
15
#define LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_PROGRAMSTATE_H
16
17
#include "clang/Basic/LLVM.h"
18
#include "clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h"
19
#include "clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h"
20
#include "clang/StaticAnalyzer/Core/PathSensitive/Environment.h"
21
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h"
22
#include "clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h"
23
#include "clang/StaticAnalyzer/Core/PathSensitive/Store.h"
24
#include "clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h"
25
#include "llvm/ADT/FoldingSet.h"
26
#include "llvm/ADT/ImmutableMap.h"
27
#include "llvm/Support/Allocator.h"
28
#include <utility>
29
30
namespace llvm {
31
class APSInt;
32
}
33
34
namespace clang {
35
class ASTContext;
36
37
namespace ento {
38
39
class AnalysisManager;
40
class CallEvent;
41
class CallEventManager;
42
43
typedef std::unique_ptr<ConstraintManager>(*ConstraintManagerCreator)(
44
    ProgramStateManager &, SubEngine *);
45
typedef std::unique_ptr<StoreManager>(*StoreManagerCreator)(
46
    ProgramStateManager &);
47
typedef llvm::ImmutableMap<const SubRegion*, TaintTagType> TaintedSubRegions;
48
49
//===----------------------------------------------------------------------===//
50
// ProgramStateTrait - Traits used by the Generic Data Map of a ProgramState.
51
//===----------------------------------------------------------------------===//
52
53
template <typename T> struct ProgramStatePartialTrait;
54
55
template <typename T> struct ProgramStateTrait {
56
  typedef typename T::data_type data_type;
57
  static inline void *MakeVoidPtr(data_type D) { return (void*) D; }
58
  static inline data_type MakeData(void *const* P) {
59
    return P ? (data_type) *P : (data_type) 0;
60
  }
61
};
62
63
/// \class ProgramState
64
/// ProgramState - This class encapsulates:
65
///
66
///    1. A mapping from expressions to values (Environment)
67
///    2. A mapping from locations to values (Store)
68
///    3. Constraints on symbolic values (GenericDataMap)
69
///
70
///  Together these represent the "abstract state" of a program.
71
///
72
///  ProgramState is intended to be used as a functional object; that is,
73
///  once it is created and made "persistent" in a FoldingSet, its
74
///  values will never change.
75
class ProgramState : public llvm::FoldingSetNode {
76
public:
77
  typedef llvm::ImmutableSet<llvm::APSInt*>                IntSetTy;
78
  typedef llvm::ImmutableMap<void*, void*>                 GenericDataMap;
79
80
private:
81
  void operator=(const ProgramState& R) = delete;
82
83
  friend class ProgramStateManager;
84
  friend class ExplodedGraph;
85
  friend class ExplodedNode;
86
87
  ProgramStateManager *stateMgr;
88
  Environment Env;           // Maps a Stmt to its current SVal.
89
  Store store;               // Maps a location to its current value.
90
  GenericDataMap   GDM;      // Custom data stored by a client of this class.
91
  unsigned refCount;
92
93
  /// makeWithStore - Return a ProgramState with the same values as the current
94
  ///  state with the exception of using the specified Store.
95
  ProgramStateRef makeWithStore(const StoreRef &store) const;
96
97
  void setStore(const StoreRef &storeRef);
98
99
public:
100
  /// This ctor is used when creating the first ProgramState object.
101
  ProgramState(ProgramStateManager *mgr, const Environment& env,
102
          StoreRef st, GenericDataMap gdm);
103
104
  /// Copy ctor - We must explicitly define this or else the "Next" ptr
105
  ///  in FoldingSetNode will also get copied.
106
  ProgramState(const ProgramState &RHS);
107
108
  ~ProgramState();
109
110
  int64_t getID() const;
111
112
  /// Return the ProgramStateManager associated with this state.
113
6.69M
  ProgramStateManager &getStateManager() const {
114
6.69M
    return *stateMgr;
115
6.69M
  }
116
117
  AnalysisManager &getAnalysisManager() const;
118
119
  /// Return the ConstraintManager.
120
  ConstraintManager &getConstraintManager() const;
121
122
  /// getEnvironment - Return the environment associated with this state.
123
  ///  The environment is the mapping from expressions to values.
124
1.84k
  const Environment& getEnvironment() const { return Env; }
125
126
  /// Return the store associated with this state.  The store
127
  ///  is a mapping from locations to values.
128
1.33M
  Store getStore() const { return store; }
129
130
131
  /// getGDM - Return the generic data map associated with this state.
132
1.92M
  GenericDataMap getGDM() const { return GDM; }
133
134
0
  void setGDM(GenericDataMap gdm) { GDM = gdm; }
135
136
  /// Profile - Profile the contents of a ProgramState object for use in a
137
  ///  FoldingSet.  Two ProgramState objects are considered equal if they
138
  ///  have the same Environment, Store, and GenericDataMap.
139
3.66M
  static void Profile(llvm::FoldingSetNodeID& ID, const ProgramState *V) {
140
3.66M
    V->Env.Profile(ID);
141
3.66M
    ID.AddPointer(V->store);
142
3.66M
    V->GDM.Profile(ID);
143
3.66M
  }
144
145
  /// Profile - Used to profile the contents of this object for inclusion
146
  ///  in a FoldingSet.
147
3.66M
  void Profile(llvm::FoldingSetNodeID& ID) const {
148
3.66M
    Profile(ID, this);
149
3.66M
  }
150
151
  BasicValueFactory &getBasicVals() const;
152
  SymbolManager &getSymbolManager() const;
153
154
  //==---------------------------------------------------------------------==//
155
  // Constraints on values.
156
  //==---------------------------------------------------------------------==//
157
  //
158
  // Each ProgramState records constraints on symbolic values.  These constraints
159
  // are managed using the ConstraintManager associated with a ProgramStateManager.
160
  // As constraints gradually accrue on symbolic values, added constraints
161
  // may conflict and indicate that a state is infeasible (as no real values
162
  // could satisfy all the constraints).  This is the principal mechanism
163
  // for modeling path-sensitivity in ExprEngine/ProgramState.
164
  //
165
  // Various "assume" methods form the interface for adding constraints to
166
  // symbolic values.  A call to 'assume' indicates an assumption being placed
167
  // on one or symbolic values.  'assume' methods take the following inputs:
168
  //
169
  //  (1) A ProgramState object representing the current state.
170
  //
171
  //  (2) The assumed constraint (which is specific to a given "assume" method).
172
  //
173
  //  (3) A binary value "Assumption" that indicates whether the constraint is
174
  //      assumed to be true or false.
175
  //
176
  // The output of "assume*" is a new ProgramState object with the added constraints.
177
  // If no new state is feasible, NULL is returned.
178
  //
179
180
  /// Assumes that the value of \p cond is zero (if \p assumption is "false")
181
  /// or non-zero (if \p assumption is "true").
182
  ///
183
  /// This returns a new state with the added constraint on \p cond.
184
  /// If no new state is feasible, NULL is returned.
185
  LLVM_NODISCARD ProgramStateRef assume(DefinedOrUnknownSVal cond,
186
                                        bool assumption) const;
187
188
  /// Assumes both "true" and "false" for \p cond, and returns both
189
  /// corresponding states (respectively).
190
  ///
191
  /// This is more efficient than calling assume() twice. Note that one (but not
192
  /// both) of the returned states may be NULL.
193
  LLVM_NODISCARD std::pair<ProgramStateRef, ProgramStateRef>
194
  assume(DefinedOrUnknownSVal cond) const;
195
196
  LLVM_NODISCARD ProgramStateRef
197
  assumeInBound(DefinedOrUnknownSVal idx, DefinedOrUnknownSVal upperBound,
198
                bool assumption, QualType IndexType = QualType()) const;
199
200
  /// Assumes that the value of \p Val is bounded with [\p From; \p To]
201
  /// (if \p assumption is "true") or it is fully out of this range
202
  /// (if \p assumption is "false").
203
  ///
204
  /// This returns a new state with the added constraint on \p cond.
205
  /// If no new state is feasible, NULL is returned.
206
  LLVM_NODISCARD ProgramStateRef assumeInclusiveRange(DefinedOrUnknownSVal Val,
207
                                                      const llvm::APSInt &From,
208
                                                      const llvm::APSInt &To,
209
                                                      bool assumption) const;
210
211
  /// Assumes given range both "true" and "false" for \p Val, and returns both
212
  /// corresponding states (respectively).
213
  ///
214
  /// This is more efficient than calling assume() twice. Note that one (but not
215
  /// both) of the returned states may be NULL.
216
  LLVM_NODISCARD std::pair<ProgramStateRef, ProgramStateRef>
217
  assumeInclusiveRange(DefinedOrUnknownSVal Val, const llvm::APSInt &From,
218
                       const llvm::APSInt &To) const;
219
220
  /// Check if the given SVal is not constrained to zero and is not
221
  ///        a zero constant.
222
  ConditionTruthVal isNonNull(SVal V) const;
223
224
  /// Check if the given SVal is constrained to zero or is a zero
225
  ///        constant.
226
  ConditionTruthVal isNull(SVal V) const;
227
228
  /// \return Whether values \p Lhs and \p Rhs are equal.
229
  ConditionTruthVal areEqual(SVal Lhs, SVal Rhs) const;
230
231
  /// Utility method for getting regions.
232
  const VarRegion* getRegion(const VarDecl *D, const LocationContext *LC) const;
233
234
  //==---------------------------------------------------------------------==//
235
  // Binding and retrieving values to/from the environment and symbolic store.
236
  //==---------------------------------------------------------------------==//
237
238
  /// Create a new state by binding the value 'V' to the statement 'S' in the
239
  /// state's environment.
240
  LLVM_NODISCARD ProgramStateRef BindExpr(const Stmt *S,
241
                                          const LocationContext *LCtx, SVal V,
242
                                          bool Invalidate = true) const;
243
244
  LLVM_NODISCARD ProgramStateRef bindLoc(Loc location, SVal V,
245
                                         const LocationContext *LCtx,
246
                                         bool notifyChanges = true) const;
247
248
  LLVM_NODISCARD ProgramStateRef bindLoc(SVal location, SVal V,
249
                                         const LocationContext *LCtx) const;
250
251
  /// Initializes the region of memory represented by \p loc with an initial
252
  /// value. Once initialized, all values loaded from any sub-regions of that
253
  /// region will be equal to \p V, unless overwritten later by the program.
254
  /// This method should not be used on regions that are already initialized.
255
  /// If you need to indicate that memory contents have suddenly become unknown
256
  /// within a certain region of memory, consider invalidateRegions().
257
  LLVM_NODISCARD ProgramStateRef
258
  bindDefaultInitial(SVal loc, SVal V, const LocationContext *LCtx) const;
259
260
  /// Performs C++ zero-initialization procedure on the region of memory
261
  /// represented by \p loc.
262
  LLVM_NODISCARD ProgramStateRef
263
  bindDefaultZero(SVal loc, const LocationContext *LCtx) const;
264
265
  LLVM_NODISCARD ProgramStateRef killBinding(Loc LV) const;
266
267
  /// Returns the state with bindings for the given regions
268
  ///  cleared from the store.
269
  ///
270
  /// Optionally invalidates global regions as well.
271
  ///
272
  /// \param Regions the set of regions to be invalidated.
273
  /// \param E the expression that caused the invalidation.
274
  /// \param BlockCount The number of times the current basic block has been
275
  //         visited.
276
  /// \param CausesPointerEscape the flag is set to true when
277
  ///        the invalidation entails escape of a symbol (representing a
278
  ///        pointer). For example, due to it being passed as an argument in a
279
  ///        call.
280
  /// \param IS the set of invalidated symbols.
281
  /// \param Call if non-null, the invalidated regions represent parameters to
282
  ///        the call and should be considered directly invalidated.
283
  /// \param ITraits information about special handling for a particular
284
  ///        region/symbol.
285
  LLVM_NODISCARD ProgramStateRef
286
  invalidateRegions(ArrayRef<const MemRegion *> Regions, const Expr *E,
287
                    unsigned BlockCount, const LocationContext *LCtx,
288
                    bool CausesPointerEscape, InvalidatedSymbols *IS = nullptr,
289
                    const CallEvent *Call = nullptr,
290
                    RegionAndSymbolInvalidationTraits *ITraits = nullptr) const;
291
292
  LLVM_NODISCARD ProgramStateRef
293
  invalidateRegions(ArrayRef<SVal> Regions, const Expr *E,
294
                    unsigned BlockCount, const LocationContext *LCtx,
295
                    bool CausesPointerEscape, InvalidatedSymbols *IS = nullptr,
296
                    const CallEvent *Call = nullptr,
297
                    RegionAndSymbolInvalidationTraits *ITraits = nullptr) const;
298
299
  /// enterStackFrame - Returns the state for entry to the given stack frame,
300
  ///  preserving the current state.
301
  LLVM_NODISCARD ProgramStateRef enterStackFrame(
302
      const CallEvent &Call, const StackFrameContext *CalleeCtx) const;
303
304
  /// Get the lvalue for a base class object reference.
305
  Loc getLValue(const CXXBaseSpecifier &BaseSpec, const SubRegion *Super) const;
306
307
  /// Get the lvalue for a base class object reference.
308
  Loc getLValue(const CXXRecordDecl *BaseClass, const SubRegion *Super,
309
                bool IsVirtual) const;
310
311
  /// Get the lvalue for a variable reference.
312
  Loc getLValue(const VarDecl *D, const LocationContext *LC) const;
313
314
  Loc getLValue(const CompoundLiteralExpr *literal,
315
                const LocationContext *LC) const;
316
317
  /// Get the lvalue for an ivar reference.
318
  SVal getLValue(const ObjCIvarDecl *decl, SVal base) const;
319
320
  /// Get the lvalue for a field reference.
321
  SVal getLValue(const FieldDecl *decl, SVal Base) const;
322
323
  /// Get the lvalue for an indirect field reference.
324
  SVal getLValue(const IndirectFieldDecl *decl, SVal Base) const;
325
326
  /// Get the lvalue for an array index.
327
  SVal getLValue(QualType ElementType, SVal Idx, SVal Base) const;
328
329
  /// Returns the SVal bound to the statement 'S' in the state's environment.
330
  SVal getSVal(const Stmt *S, const LocationContext *LCtx) const;
331
332
  SVal getSValAsScalarOrLoc(const Stmt *Ex, const LocationContext *LCtx) const;
333
334
  /// Return the value bound to the specified location.
335
  /// Returns UnknownVal() if none found.
336
  SVal getSVal(Loc LV, QualType T = QualType()) const;
337
338
  /// Returns the "raw" SVal bound to LV before any value simplfication.
339
  SVal getRawSVal(Loc LV, QualType T= QualType()) const;
340
341
  /// Return the value bound to the specified location.
342
  /// Returns UnknownVal() if none found.
343
  SVal getSVal(const MemRegion* R, QualType T = QualType()) const;
344
345
  /// Return the value bound to the specified location, assuming
346
  /// that the value is a scalar integer or an enumeration or a pointer.
347
  /// Returns UnknownVal() if none found or the region is not known to hold
348
  /// a value of such type.
349
  SVal getSValAsScalarOrLoc(const MemRegion *R) const;
350
351
  using region_iterator = const MemRegion **;
352
353
  /// Visits the symbols reachable from the given SVal using the provided
354
  /// SymbolVisitor.
355
  ///
356
  /// This is a convenience API. Consider using ScanReachableSymbols class
357
  /// directly when making multiple scans on the same state with the same
358
  /// visitor to avoid repeated initialization cost.
359
  /// \sa ScanReachableSymbols
360
  bool scanReachableSymbols(SVal val, SymbolVisitor& visitor) const;
361
362
  /// Visits the symbols reachable from the regions in the given
363
  /// MemRegions range using the provided SymbolVisitor.
364
  bool scanReachableSymbols(llvm::iterator_range<region_iterator> Reachable,
365
                            SymbolVisitor &visitor) const;
366
367
  template <typename CB> CB scanReachableSymbols(SVal val) const;
368
  template <typename CB> CB
369
  scanReachableSymbols(llvm::iterator_range<region_iterator> Reachable) const;
370
371
  /// Create a new state in which the statement is marked as tainted.
372
  LLVM_NODISCARD ProgramStateRef
373
  addTaint(const Stmt *S, const LocationContext *LCtx,
374
           TaintTagType Kind = TaintTagGeneric) const;
375
376
  /// Create a new state in which the value is marked as tainted.
377
  LLVM_NODISCARD ProgramStateRef
378
  addTaint(SVal V, TaintTagType Kind = TaintTagGeneric) const;
379
380
  /// Create a new state in which the symbol is marked as tainted.
381
  LLVM_NODISCARD ProgramStateRef addTaint(SymbolRef S,
382
                               TaintTagType Kind = TaintTagGeneric) const;
383
384
  /// Create a new state in which the region symbol is marked as tainted.
385
  LLVM_NODISCARD ProgramStateRef
386
  addTaint(const MemRegion *R, TaintTagType Kind = TaintTagGeneric) const;
387
388
  /// Create a new state in a which a sub-region of a given symbol is tainted.
389
  /// This might be necessary when referring to regions that can not have an
390
  /// individual symbol, e.g. if they are represented by the default binding of
391
  /// a LazyCompoundVal.
392
  LLVM_NODISCARD ProgramStateRef
393
  addPartialTaint(SymbolRef ParentSym, const SubRegion *SubRegion,
394
                  TaintTagType Kind = TaintTagGeneric) const;
395
396
  /// Check if the statement is tainted in the current state.
397
  bool isTainted(const Stmt *S, const LocationContext *LCtx,
398
                 TaintTagType Kind = TaintTagGeneric) const;
399
  bool isTainted(SVal V, TaintTagType Kind = TaintTagGeneric) const;
400
  bool isTainted(SymbolRef Sym, TaintTagType Kind = TaintTagGeneric) const;
401
  bool isTainted(const MemRegion *Reg, TaintTagType Kind=TaintTagGeneric) const;
402
403
  //==---------------------------------------------------------------------==//
404
  // Accessing the Generic Data Map (GDM).
405
  //==---------------------------------------------------------------------==//
406
407
  void *const* FindGDM(void *K) const;
408
409
  template <typename T>
410
  LLVM_NODISCARD ProgramStateRef
411
  add(typename ProgramStateTrait<T>::key_type K) const;
412
413
  template <typename T>
414
  typename ProgramStateTrait<T>::data_type
415
1.53M
  get() const {
416
1.53M
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
1.53M
  }
BasicObjCFoundationChecks.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerNonEmptyMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::ContainerNonEmptyMap>() const
Line
Count
Source
415
449
  get() const {
416
449
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
449
  }
BasicObjCFoundationChecks.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerCountMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::ContainerCountMap>() const
Line
Count
Source
415
894
  get() const {
416
894
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
894
  }
BlockInCriticalSectionChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::MutexCounter>::data_type clang::ento::ProgramState::get<(anonymous namespace)::MutexCounter>() const
Line
Count
Source
415
69
  get() const {
416
69
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
69
  }
CStringChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::data_type clang::ento::ProgramState::get<(anonymous namespace)::CStringLength>() const
Line
Count
Source
415
175k
  get() const {
416
175k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
175k
  }
CheckObjCDealloc.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::UnreleasedIvarMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::UnreleasedIvarMap>() const
Line
Count
Source
415
3.78k
  get() const {
416
3.78k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
3.78k
  }
clang::ento::ProgramStateTrait<clang::ento::DynamicTypeMap>::data_type clang::ento::ProgramState::get<clang::ento::DynamicTypeMap>() const
Line
Count
Source
415
42.6k
  get() const {
416
42.6k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
42.6k
  }
DynamicTypePropagation.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::MostSpecializedTypeArgsMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::MostSpecializedTypeArgsMap>() const
Line
Count
Source
415
37.4k
  get() const {
416
37.4k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
37.4k
  }
ExprInspectionChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::MarkedSymbols>::data_type clang::ento::ProgramState::get<(anonymous namespace)::MarkedSymbols>() const
Line
Count
Source
415
6.92k
  get() const {
416
6.92k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
6.92k
  }
ExprInspectionChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DenotedSymbols>::data_type clang::ento::ProgramState::get<(anonymous namespace)::DenotedSymbols>() const
Line
Count
Source
415
7.23k
  get() const {
416
7.23k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
7.23k
  }
GenericTaintChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::TaintArgsOnPostVisit>::data_type clang::ento::ProgramState::get<(anonymous namespace)::TaintArgsOnPostVisit>() const
Line
Count
Source
415
836
  get() const {
416
836
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
836
  }
InnerPointerChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RawPtrMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::RawPtrMap>() const
Line
Count
Source
415
13.9k
  get() const {
416
13.9k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
13.9k
  }
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::IteratorRegionMap>() const
Line
Count
Source
415
12.3k
  get() const {
416
12.3k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
12.3k
  }
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::IteratorSymbolMap>() const
Line
Count
Source
415
8.88k
  get() const {
416
8.88k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
8.88k
  }
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::ContainerMap>() const
Line
Count
Source
415
8.85k
  get() const {
416
8.85k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
8.85k
  }
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorComparisonMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::IteratorComparisonMap>() const
Line
Count
Source
415
1.22k
  get() const {
416
1.22k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
1.22k
  }
LocalizationChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::LocalizedMemMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::LocalizedMemMap>() const
Line
Count
Source
415
194
  get() const {
416
194
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
194
  }
MacOSKeychainAPIChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::AllocatedData>::data_type clang::ento::ProgramState::get<(anonymous namespace)::AllocatedData>() const
Line
Count
Source
415
697
  get() const {
416
697
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
697
  }
MallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::data_type clang::ento::ProgramState::get<(anonymous namespace)::RegionState>() const
Line
Count
Source
415
176k
  get() const {
416
176k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
176k
  }
MallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocPairs>::data_type clang::ento::ProgramState::get<(anonymous namespace)::ReallocPairs>() const
Line
Count
Source
415
172k
  get() const {
416
172k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
172k
  }
MallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::FreeReturnValue>::data_type clang::ento::ProgramState::get<(anonymous namespace)::FreeReturnValue>() const
Line
Count
Source
415
17.4k
  get() const {
416
17.4k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
17.4k
  }
MallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocSizeZeroSymbols>::data_type clang::ento::ProgramState::get<(anonymous namespace)::ReallocSizeZeroSymbols>() const
Line
Count
Source
415
19
  get() const {
416
19
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
19
  }
MisusedMovedObjectChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::TrackedRegionMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::TrackedRegionMap>() const
Line
Count
Source
415
9.03k
  get() const {
416
9.03k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
9.03k
  }
clang::ento::ProgramStateTrait<clang::ento::mpi::RequestMap>::data_type clang::ento::ProgramState::get<clang::ento::mpi::RequestMap>() const
Line
Count
Source
415
376
  get() const {
416
376
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
376
  }
NSErrorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NSErrorOut>::data_type clang::ento::ProgramState::get<(anonymous namespace)::NSErrorOut>() const
Line
Count
Source
415
3
  get() const {
416
3
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
3
  }
NSErrorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CFErrorOut>::data_type clang::ento::ProgramState::get<(anonymous namespace)::CFErrorOut>() const
Line
Count
Source
415
7
  get() const {
416
7
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
7
  }
NullabilityChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NullabilityMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::NullabilityMap>() const
Line
Count
Source
415
588
  get() const {
416
588
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
588
  }
NullabilityChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::InvariantViolated>::data_type clang::ento::ProgramState::get<(anonymous namespace)::InvariantViolated>() const
Line
Count
Source
415
1.53k
  get() const {
416
1.53k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
1.53k
  }
ObjCContainersChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ArraySizeMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::ArraySizeMap>() const
Line
Count
Source
415
210
  get() const {
416
210
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
210
  }
ObjCSelfInitChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::SelfFlag>::data_type clang::ento::ProgramState::get<(anonymous namespace)::SelfFlag>() const
Line
Count
Source
415
344
  get() const {
416
344
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
344
  }
ObjCSelfInitChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CalledInit>::data_type clang::ento::ProgramState::get<(anonymous namespace)::CalledInit>() const
Line
Count
Source
415
170
  get() const {
416
170
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
170
  }
ObjCSelfInitChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::PreCallSelfFlags>::data_type clang::ento::ProgramState::get<(anonymous namespace)::PreCallSelfFlags>() const
Line
Count
Source
415
128
  get() const {
416
128
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
128
  }
ObjCSuperDeallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CalledSuperDealloc>::data_type clang::ento::ProgramState::get<(anonymous namespace)::CalledSuperDealloc>() const
Line
Count
Source
415
27
  get() const {
416
27
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
27
  }
PointerArithChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::data_type clang::ento::ProgramState::get<(anonymous namespace)::RegionState>() const
Line
Count
Source
415
5.33k
  get() const {
416
5.33k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
5.33k
  }
PthreadLockChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::LockMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::LockMap>() const
Line
Count
Source
415
175
  get() const {
416
175
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
175
  }
PthreadLockChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::LockSet>::data_type clang::ento::ProgramState::get<(anonymous namespace)::LockSet>() const
Line
Count
Source
415
99
  get() const {
416
99
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
99
  }
PthreadLockChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DestroyRetVal>::data_type clang::ento::ProgramState::get<(anonymous namespace)::DestroyRetVal>() const
Line
Count
Source
415
249
  get() const {
416
249
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
249
  }
RetainCountChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::data_type clang::ento::ProgramState::get<(anonymous namespace)::RefBindings>() const
Line
Count
Source
415
24.3k
  get() const {
416
24.3k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
24.3k
  }
SimpleStreamChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::StreamMap>() const
Line
Count
Source
415
154
  get() const {
416
154
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
154
  }
StreamChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::StreamMap>() const
Line
Count
Source
415
26
  get() const {
416
26
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
26
  }
TestAfterDivZeroChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DivZeroMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::DivZeroMap>() const
Line
Count
Source
415
1.51k
  get() const {
416
1.51k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
1.51k
  }
TrustNonnullChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NonNullImplicationMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::NonNullImplicationMap>() const
Line
Count
Source
415
653
  get() const {
416
653
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
653
  }
TrustNonnullChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NullImplicationMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::NullImplicationMap>() const
Line
Count
Source
415
653
  get() const {
416
653
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
653
  }
VforkChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::VforkResultRegion>::data_type clang::ento::ProgramState::get<(anonymous namespace)::VforkResultRegion>() const
Line
Count
Source
415
617
  get() const {
416
617
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
617
  }
ValistChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedVALists>::data_type clang::ento::ProgramState::get<(anonymous namespace)::InitializedVALists>() const
Line
Count
Source
415
316
  get() const {
416
316
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
316
  }
VirtualCallChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CtorDtorMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::CtorDtorMap>() const
Line
Count
Source
415
134
  get() const {
416
134
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
134
  }
clang::ento::ProgramStateTrait<clang::ento::ConstraintRange>::data_type clang::ento::ProgramState::get<clang::ento::ConstraintRange>() const
Line
Count
Source
415
420k
  get() const {
416
420k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
420k
  }
ExprEngine.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ObjectsUnderConstruction>::data_type clang::ento::ProgramState::get<(anonymous namespace)::ObjectsUnderConstruction>() const
Line
Count
Source
415
325k
  get() const {
416
325k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
325k
  }
ExprEngine.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedGlobalsSet>::data_type clang::ento::ProgramState::get<(anonymous namespace)::InitializedGlobalsSet>() const
Line
Count
Source
415
189
  get() const {
416
189
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
189
  }
clang::ento::ProgramStateTrait<clang::ento::ReplayWithoutInlining>::data_type clang::ento::ProgramState::get<clang::ento::ReplayWithoutInlining>() const
Line
Count
Source
415
43.4k
  get() const {
416
43.4k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
43.4k
  }
ExprEngineCallAndReturn.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DynamicDispatchBifurcationMap>::data_type clang::ento::ProgramState::get<(anonymous namespace)::DynamicDispatchBifurcationMap>() const
Line
Count
Source
415
18
  get() const {
416
18
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
18
  }
LoopUnrolling.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::LoopStack>::data_type clang::ento::ProgramState::get<(anonymous namespace)::LoopStack>() const
Line
Count
Source
415
7.77k
  get() const {
416
7.77k
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
7.77k
  }
clang::ento::ProgramStateTrait<clang::ento::TaintMap>::data_type clang::ento::ProgramState::get<clang::ento::TaintMap>() const
Line
Count
Source
415
157
  get() const {
416
157
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
157
  }
clang::ento::ProgramStateTrait<clang::ento::DerivedSymTaint>::data_type clang::ento::ProgramState::get<clang::ento::DerivedSymTaint>() const
Line
Count
Source
415
6
  get() const {
416
6
    return ProgramStateTrait<T>::MakeData(FindGDM(ProgramStateTrait<T>::GDMIndex()));
417
6
  }
418
419
  template<typename T>
420
  typename ProgramStateTrait<T>::lookup_type
421
776k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
776k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
776k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
776k
  }
BasicObjCFoundationChecks.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerCountMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::ContainerCountMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerCountMap>::key_type) const
Line
Count
Source
421
311
  get(typename ProgramStateTrait<T>::key_type key) const {
422
311
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
311
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
311
  }
BasicObjCFoundationChecks.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerNonEmptyMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::ContainerNonEmptyMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerNonEmptyMap>::key_type) const
Line
Count
Source
421
245
  get(typename ProgramStateTrait<T>::key_type key) const {
422
245
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
245
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
245
  }
CStringChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::CStringLength>(clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::key_type) const
Line
Count
Source
421
921
  get(typename ProgramStateTrait<T>::key_type key) const {
422
921
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
921
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
921
  }
CheckObjCDealloc.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::UnreleasedIvarMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::UnreleasedIvarMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::UnreleasedIvarMap>::key_type) const
Line
Count
Source
421
432
  get(typename ProgramStateTrait<T>::key_type key) const {
422
432
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
432
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
432
  }
DynamicTypePropagation.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::MostSpecializedTypeArgsMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::MostSpecializedTypeArgsMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::MostSpecializedTypeArgsMap>::key_type) const
Line
Count
Source
421
10.0k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
10.0k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
10.0k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
10.0k
  }
clang::ento::ProgramStateTrait<clang::ento::DynamicTypeMap>::lookup_type clang::ento::ProgramState::get<clang::ento::DynamicTypeMap>(clang::ento::ProgramStateTrait<clang::ento::DynamicTypeMap>::key_type) const
Line
Count
Source
421
6.32k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
6.32k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
6.32k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
6.32k
  }
ExprInspectionChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DenotedSymbols>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::DenotedSymbols>(clang::ento::ProgramStateTrait<(anonymous namespace)::DenotedSymbols>::key_type) const
Line
Count
Source
421
319
  get(typename ProgramStateTrait<T>::key_type key) const {
422
319
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
319
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
319
  }
InnerPointerChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RawPtrMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::RawPtrMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::RawPtrMap>::key_type) const
Line
Count
Source
421
422
  get(typename ProgramStateTrait<T>::key_type key) const {
422
422
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
422
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
422
  }
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::IteratorRegionMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::key_type) const
Line
Count
Source
421
4.61k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
4.61k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
4.61k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
4.61k
  }
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::IteratorSymbolMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::key_type) const
Line
Count
Source
421
163
  get(typename ProgramStateTrait<T>::key_type key) const {
422
163
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
163
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
163
  }
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::ContainerMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerMap>::key_type) const
Line
Count
Source
421
1.13k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
1.13k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
1.13k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
1.13k
  }
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorComparisonMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::IteratorComparisonMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorComparisonMap>::key_type) const
Line
Count
Source
421
1.50k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
1.50k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
1.50k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
1.50k
  }
LocalizationChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::LocalizedMemMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::LocalizedMemMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::LocalizedMemMap>::key_type) const
Line
Count
Source
421
195
  get(typename ProgramStateTrait<T>::key_type key) const {
422
195
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
195
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
195
  }
MacOSKeychainAPIChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::AllocatedData>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::AllocatedData>(clang::ento::ProgramStateTrait<(anonymous namespace)::AllocatedData>::key_type) const
Line
Count
Source
421
1.68k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
1.68k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
1.68k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
1.68k
  }
MallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::RegionState>(clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::key_type) const
Line
Count
Source
421
117k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
117k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
117k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
117k
  }
MallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::FreeReturnValue>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::FreeReturnValue>(clang::ento::ProgramStateTrait<(anonymous namespace)::FreeReturnValue>::key_type) const
Line
Count
Source
421
75
  get(typename ProgramStateTrait<T>::key_type key) const {
422
75
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
75
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
75
  }
MisusedMovedObjectChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::TrackedRegionMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::TrackedRegionMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::TrackedRegionMap>::key_type) const
Line
Count
Source
421
4.45k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
4.45k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
4.45k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
4.45k
  }
clang::ento::ProgramStateTrait<clang::ento::mpi::RequestMap>::lookup_type clang::ento::ProgramState::get<clang::ento::mpi::RequestMap>(clang::ento::ProgramStateTrait<clang::ento::mpi::RequestMap>::key_type) const
Line
Count
Source
421
650
  get(typename ProgramStateTrait<T>::key_type key) const {
422
650
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
650
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
650
  }
NSErrorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NSErrorOut>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::NSErrorOut>(clang::ento::ProgramStateTrait<(anonymous namespace)::NSErrorOut>::key_type) const
Line
Count
Source
421
2
  get(typename ProgramStateTrait<T>::key_type key) const {
422
2
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
2
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
2
  }
NSErrorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CFErrorOut>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::CFErrorOut>(clang::ento::ProgramStateTrait<(anonymous namespace)::CFErrorOut>::key_type) const
Line
Count
Source
421
1
  get(typename ProgramStateTrait<T>::key_type key) const {
422
1
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
1
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
1
  }
NullabilityChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NullabilityMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::NullabilityMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::NullabilityMap>::key_type) const
Line
Count
Source
421
3.88k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
3.88k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
3.88k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
3.88k
  }
ObjCContainersChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ArraySizeMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::ArraySizeMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::ArraySizeMap>::key_type) const
Line
Count
Source
421
15
  get(typename ProgramStateTrait<T>::key_type key) const {
422
15
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
15
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
15
  }
ObjCSelfInitChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::SelfFlag>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::SelfFlag>(clang::ento::ProgramStateTrait<(anonymous namespace)::SelfFlag>::key_type) const
Line
Count
Source
421
685
  get(typename ProgramStateTrait<T>::key_type key) const {
422
685
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
685
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
685
  }
PointerArithChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::RegionState>(clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::key_type) const
Line
Count
Source
421
9.92k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
9.92k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
9.92k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
9.92k
  }
PthreadLockChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DestroyRetVal>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::DestroyRetVal>(clang::ento::ProgramStateTrait<(anonymous namespace)::DestroyRetVal>::key_type) const
Line
Count
Source
421
169
  get(typename ProgramStateTrait<T>::key_type key) const {
422
169
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
169
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
169
  }
PthreadLockChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::LockMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::LockMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::LockMap>::key_type) const
Line
Count
Source
421
207
  get(typename ProgramStateTrait<T>::key_type key) const {
422
207
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
207
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
207
  }
RetainCountChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::RefBindings>(clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::key_type) const
Line
Count
Source
421
42.5k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
42.5k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
42.5k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
42.5k
  }
SimpleStreamChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::StreamMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::key_type) const
Line
Count
Source
421
5
  get(typename ProgramStateTrait<T>::key_type key) const {
422
5
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
5
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
5
  }
StreamChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::StreamMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::key_type) const
Line
Count
Source
421
80
  get(typename ProgramStateTrait<T>::key_type key) const {
422
80
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
80
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
80
  }
TrustNonnullChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NonNullImplicationMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::NonNullImplicationMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::NonNullImplicationMap>::key_type) const
Line
Count
Source
421
4.21k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
4.21k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
4.21k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
4.21k
  }
TrustNonnullChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NullImplicationMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::NullImplicationMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::NullImplicationMap>::key_type) const
Line
Count
Source
421
4.21k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
4.21k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
4.21k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
4.21k
  }
VirtualCallChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CtorDtorMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::CtorDtorMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::CtorDtorMap>::key_type) const
Line
Count
Source
421
32
  get(typename ProgramStateTrait<T>::key_type key) const {
422
32
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
32
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
32
  }
ExprEngine.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ObjectsUnderConstruction>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::ObjectsUnderConstruction>(clang::ento::ProgramStateTrait<(anonymous namespace)::ObjectsUnderConstruction>::key_type) const
Line
Count
Source
421
139k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
139k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
139k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
139k
  }
ExprEngineCallAndReturn.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DynamicDispatchBifurcationMap>::lookup_type clang::ento::ProgramState::get<(anonymous namespace)::DynamicDispatchBifurcationMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::DynamicDispatchBifurcationMap>::key_type) const
Line
Count
Source
421
15
  get(typename ProgramStateTrait<T>::key_type key) const {
422
15
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
15
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
15
  }
clang::ento::ProgramStateTrait<clang::ento::TaintMap>::lookup_type clang::ento::ProgramState::get<clang::ento::TaintMap>(clang::ento::ProgramStateTrait<clang::ento::TaintMap>::key_type) const
Line
Count
Source
421
26.8k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
26.8k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
26.8k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
26.8k
  }
clang::ento::ProgramStateTrait<clang::ento::DerivedSymTaint>::lookup_type clang::ento::ProgramState::get<clang::ento::DerivedSymTaint>(clang::ento::ProgramStateTrait<clang::ento::DerivedSymTaint>::key_type) const
Line
Count
Source
421
2.35k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
2.35k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
2.35k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
2.35k
  }
clang::ento::ProgramStateTrait<clang::ento::ConstraintRange>::lookup_type clang::ento::ProgramState::get<clang::ento::ConstraintRange>(clang::ento::ProgramStateTrait<clang::ento::ConstraintRange>::key_type) const
Line
Count
Source
421
390k
  get(typename ProgramStateTrait<T>::key_type key) const {
422
390k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
423
390k
    return ProgramStateTrait<T>::Lookup(ProgramStateTrait<T>::MakeData(d), key);
424
390k
  }
425
426
  template <typename T>
427
  typename ProgramStateTrait<T>::context_type get_context() const;
428
429
  template <typename T>
430
  LLVM_NODISCARD ProgramStateRef
431
  remove(typename ProgramStateTrait<T>::key_type K) const;
432
433
  template <typename T>
434
  LLVM_NODISCARD ProgramStateRef
435
  remove(typename ProgramStateTrait<T>::key_type K,
436
         typename ProgramStateTrait<T>::context_type C) const;
437
438
  template <typename T> LLVM_NODISCARD ProgramStateRef remove() const;
439
440
  template <typename T>
441
  LLVM_NODISCARD ProgramStateRef
442
  set(typename ProgramStateTrait<T>::data_type D) const;
443
444
  template <typename T>
445
  LLVM_NODISCARD ProgramStateRef
446
  set(typename ProgramStateTrait<T>::key_type K,
447
      typename ProgramStateTrait<T>::value_type E) const;
448
449
  template <typename T>
450
  LLVM_NODISCARD ProgramStateRef
451
  set(typename ProgramStateTrait<T>::key_type K,
452
      typename ProgramStateTrait<T>::value_type E,
453
      typename ProgramStateTrait<T>::context_type C) const;
454
455
  template<typename T>
456
19.4k
  bool contains(typename ProgramStateTrait<T>::key_type key) const {
457
19.4k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
458
19.4k
    return ProgramStateTrait<T>::Contains(ProgramStateTrait<T>::MakeData(d), key);
459
19.4k
  }
MallocChecker.cpp:bool clang::ento::ProgramState::contains<(anonymous namespace)::ReallocSizeZeroSymbols>(clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocSizeZeroSymbols>::key_type) const
Line
Count
Source
456
13.2k
  bool contains(typename ProgramStateTrait<T>::key_type key) const {
457
13.2k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
458
13.2k
    return ProgramStateTrait<T>::Contains(ProgramStateTrait<T>::MakeData(d), key);
459
13.2k
  }
ObjCSuperDeallocChecker.cpp:bool clang::ento::ProgramState::contains<(anonymous namespace)::CalledSuperDealloc>(clang::ento::ProgramStateTrait<(anonymous namespace)::CalledSuperDealloc>::key_type) const
Line
Count
Source
456
378
  bool contains(typename ProgramStateTrait<T>::key_type key) const {
457
378
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
458
378
    return ProgramStateTrait<T>::Contains(ProgramStateTrait<T>::MakeData(d), key);
459
378
  }
TestAfterDivZeroChecker.cpp:bool clang::ento::ProgramState::contains<(anonymous namespace)::DivZeroMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::DivZeroMap>::key_type) const
Line
Count
Source
456
376
  bool contains(typename ProgramStateTrait<T>::key_type key) const {
457
376
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
458
376
    return ProgramStateTrait<T>::Contains(ProgramStateTrait<T>::MakeData(d), key);
459
376
  }
ValistChecker.cpp:bool clang::ento::ProgramState::contains<(anonymous namespace)::InitializedVALists>(clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedVALists>::key_type) const
Line
Count
Source
456
4.61k
  bool contains(typename ProgramStateTrait<T>::key_type key) const {
457
4.61k
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
458
4.61k
    return ProgramStateTrait<T>::Contains(ProgramStateTrait<T>::MakeData(d), key);
459
4.61k
  }
ExprEngine.cpp:bool clang::ento::ProgramState::contains<(anonymous namespace)::ObjectsUnderConstruction>(clang::ento::ProgramStateTrait<(anonymous namespace)::ObjectsUnderConstruction>::key_type) const
Line
Count
Source
456
607
  bool contains(typename ProgramStateTrait<T>::key_type key) const {
457
607
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
458
607
    return ProgramStateTrait<T>::Contains(ProgramStateTrait<T>::MakeData(d), key);
459
607
  }
ExprEngine.cpp:bool clang::ento::ProgramState::contains<(anonymous namespace)::InitializedGlobalsSet>(clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedGlobalsSet>::key_type) const
Line
Count
Source
456
194
  bool contains(typename ProgramStateTrait<T>::key_type key) const {
457
194
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
458
194
    return ProgramStateTrait<T>::Contains(ProgramStateTrait<T>::MakeData(d), key);
459
194
  }
bool clang::ento::ProgramState::contains<clang::ento::TaintMap>(clang::ento::ProgramStateTrait<clang::ento::TaintMap>::key_type) const
Line
Count
Source
456
12
  bool contains(typename ProgramStateTrait<T>::key_type key) const {
457
12
    void *const* d = FindGDM(ProgramStateTrait<T>::GDMIndex());
458
12
    return ProgramStateTrait<T>::Contains(ProgramStateTrait<T>::MakeData(d), key);
459
12
  }
460
461
  // Pretty-printing.
462
  void print(raw_ostream &Out, const char *nl = "\n", const char *sep = "",
463
             const LocationContext *CurrentLC = nullptr) const;
464
  void printDOT(raw_ostream &Out,
465
                const LocationContext *CurrentLC = nullptr) const;
466
  void printTaint(raw_ostream &Out, const char *nl = "\n") const;
467
468
  void dump() const;
469
  void dumpTaint() const;
470
471
private:
472
  friend void ProgramStateRetain(const ProgramState *state);
473
  friend void ProgramStateRelease(const ProgramState *state);
474
475
  /// \sa invalidateValues()
476
  /// \sa invalidateRegions()
477
  ProgramStateRef
478
  invalidateRegionsImpl(ArrayRef<SVal> Values,
479
                        const Expr *E, unsigned BlockCount,
480
                        const LocationContext *LCtx,
481
                        bool ResultsInSymbolEscape,
482
                        InvalidatedSymbols *IS,
483
                        RegionAndSymbolInvalidationTraits *HTraits,
484
                        const CallEvent *Call) const;
485
};
486
487
//===----------------------------------------------------------------------===//
488
// ProgramStateManager - Factory object for ProgramStates.
489
//===----------------------------------------------------------------------===//
490
491
class ProgramStateManager {
492
  friend class ProgramState;
493
  friend void ProgramStateRelease(const ProgramState *state);
494
private:
495
  /// Eng - The SubEngine that owns this state manager.
496
  SubEngine *Eng; /* Can be null. */
497
498
  EnvironmentManager                   EnvMgr;
499
  std::unique_ptr<StoreManager>        StoreMgr;
500
  std::unique_ptr<ConstraintManager>   ConstraintMgr;
501
502
  ProgramState::GenericDataMap::Factory     GDMFactory;
503
  TaintedSubRegions::Factory TSRFactory;
504
505
  typedef llvm::DenseMap<void*,std::pair<void*,void (*)(void*)> > GDMContextsTy;
506
  GDMContextsTy GDMContexts;
507
508
  /// StateSet - FoldingSet containing all the states created for analyzing
509
  ///  a particular function.  This is used to unique states.
510
  llvm::FoldingSet<ProgramState> StateSet;
511
512
  /// Object that manages the data for all created SVals.
513
  std::unique_ptr<SValBuilder> svalBuilder;
514
515
  /// Manages memory for created CallEvents.
516
  std::unique_ptr<CallEventManager> CallEventMgr;
517
518
  /// A BumpPtrAllocator to allocate states.
519
  llvm::BumpPtrAllocator &Alloc;
520
521
  /// A vector of ProgramStates that we can reuse.
522
  std::vector<ProgramState *> freeStates;
523
524
public:
525
  ProgramStateManager(ASTContext &Ctx,
526
                 StoreManagerCreator CreateStoreManager,
527
                 ConstraintManagerCreator CreateConstraintManager,
528
                 llvm::BumpPtrAllocator& alloc,
529
                 SubEngine *subeng);
530
531
  ~ProgramStateManager();
532
533
  ProgramStateRef getInitialState(const LocationContext *InitLoc);
534
535
360k
  ASTContext &getContext() { return svalBuilder->getContext(); }
536
0
  const ASTContext &getContext() const { return svalBuilder->getContext(); }
537
538
5.30k
  BasicValueFactory &getBasicVals() {
539
5.30k
    return svalBuilder->getBasicValueFactory();
540
5.30k
  }
541
542
975k
  SValBuilder &getSValBuilder() {
543
975k
    return *svalBuilder;
544
975k
  }
545
546
10.5k
  SymbolManager &getSymbolManager() {
547
10.5k
    return svalBuilder->getSymbolManager();
548
10.5k
  }
549
0
  const SymbolManager &getSymbolManager() const {
550
0
    return svalBuilder->getSymbolManager();
551
0
  }
552
553
19.6k
  llvm::BumpPtrAllocator& getAllocator() { return Alloc; }
554
555
7.88k
  MemRegionManager& getRegionManager() {
556
7.88k
    return svalBuilder->getRegionManager();
557
7.88k
  }
558
0
  const MemRegionManager& getRegionManager() const {
559
0
    return svalBuilder->getRegionManager();
560
0
  }
561
562
526k
  CallEventManager &getCallEventManager() { return *CallEventMgr; }
563
564
5.72M
  StoreManager& getStoreManager() { return *StoreMgr; }
565
265k
  ConstraintManager& getConstraintManager() { return *ConstraintMgr; }
566
293k
  SubEngine* getOwningEngine() { return Eng; }
567
568
  ProgramStateRef removeDeadBindings(ProgramStateRef St,
569
                                    const StackFrameContext *LCtx,
570
                                    SymbolReaper& SymReaper);
571
572
public:
573
574
6.69k
  SVal ArrayToPointer(Loc Array, QualType ElementTy) {
575
6.69k
    return StoreMgr->ArrayToPointer(Array, ElementTy);
576
6.69k
  }
577
578
  // Methods that manipulate the GDM.
579
  ProgramStateRef addGDM(ProgramStateRef St, void *Key, void *Data);
580
  ProgramStateRef removeGDM(ProgramStateRef state, void *Key);
581
582
  // Methods that query & manipulate the Store.
583
584
12.1k
  void iterBindings(ProgramStateRef state, StoreManager::BindingsHandler& F) {
585
12.1k
    StoreMgr->iterBindings(state->getStore(), F);
586
12.1k
  }
587
588
  ProgramStateRef getPersistentState(ProgramState &Impl);
589
  ProgramStateRef getPersistentStateWithGDM(ProgramStateRef FromState,
590
                                           ProgramStateRef GDMState);
591
592
0
  bool haveEqualEnvironments(ProgramStateRef S1, ProgramStateRef S2) {
593
0
    return S1->Env == S2->Env;
594
0
  }
595
596
0
  bool haveEqualStores(ProgramStateRef S1, ProgramStateRef S2) {
597
0
    return S1->store == S2->store;
598
0
  }
599
600
  //==---------------------------------------------------------------------==//
601
  // Generic Data Map methods.
602
  //==---------------------------------------------------------------------==//
603
  //
604
  // ProgramStateManager and ProgramState support a "generic data map" that allows
605
  // different clients of ProgramState objects to embed arbitrary data within a
606
  // ProgramState object.  The generic data map is essentially an immutable map
607
  // from a "tag" (that acts as the "key" for a client) and opaque values.
608
  // Tags/keys and values are simply void* values.  The typical way that clients
609
  // generate unique tags are by taking the address of a static variable.
610
  // Clients are responsible for ensuring that data values referred to by a
611
  // the data pointer are immutable (and thus are essentially purely functional
612
  // data).
613
  //
614
  // The templated methods below use the ProgramStateTrait<T> class
615
  // to resolve keys into the GDM and to return data values to clients.
616
  //
617
618
  // Trait based GDM dispatch.
619
  template <typename T>
620
69.0k
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
69.0k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
69.0k
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
69.0k
  }
BlockInCriticalSectionChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::MutexCounter>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::MutexCounter>::data_type)
Line
Count
Source
620
25
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
25
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
25
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
25
  }
CStringChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::CStringLength>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::data_type)
Line
Count
Source
620
1.43k
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
1.43k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
1.43k
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
1.43k
  }
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::IteratorRegionMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::data_type)
Line
Count
Source
620
200
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
200
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
200
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
200
  }
Unexecuted instantiation: IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::IteratorSymbolMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::data_type)
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::RegionState>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::data_type)
Line
Count
Source
620
16.7k
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
16.7k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
16.7k
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
16.7k
  }
NullabilityChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::InvariantViolated>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::InvariantViolated>::data_type)
Line
Count
Source
620
94
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
94
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
94
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
94
  }
ObjCSelfInitChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::CalledInit>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::CalledInit>::data_type)
Line
Count
Source
620
85
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
85
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
85
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
85
  }
ObjCSelfInitChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::PreCallSelfFlags>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::PreCallSelfFlags>::data_type)
Line
Count
Source
620
24
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
24
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
24
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
24
  }
PthreadLockChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::LockSet>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::LockSet>::data_type)
Line
Count
Source
620
29
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
29
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
29
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
29
  }
RetainCountChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::RefBindings>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::data_type)
Line
Count
Source
620
1.08k
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
1.08k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
1.08k
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
1.08k
  }
TestAfterDivZeroChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::DivZeroMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::DivZeroMap>::data_type)
Line
Count
Source
620
46
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
46
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
46
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
46
  }
VforkChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::VforkResultRegion>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::VforkResultRegion>::data_type)
Line
Count
Source
620
14
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
14
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
14
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
14
  }
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<clang::ento::ReplayWithoutInlining>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<clang::ento::ReplayWithoutInlining>::data_type)
Line
Count
Source
620
33
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
33
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
33
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
33
  }
LoopUnrolling.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::LoopStack>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::LoopStack>::data_type)
Line
Count
Source
620
165
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
165
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
165
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
165
  }
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<clang::ento::ConstraintRange>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<clang::ento::ConstraintRange>::data_type)
Line
Count
Source
620
49.0k
  ProgramStateRef set(ProgramStateRef st, typename ProgramStateTrait<T>::data_type D) {
621
49.0k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
622
49.0k
                  ProgramStateTrait<T>::MakeVoidPtr(D));
623
49.0k
  }
624
625
  template<typename T>
626
  ProgramStateRef set(ProgramStateRef st,
627
                     typename ProgramStateTrait<T>::key_type K,
628
                     typename ProgramStateTrait<T>::value_type V,
629
150k
                     typename ProgramStateTrait<T>::context_type C) {
630
150k
631
150k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
150k
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
150k
  }
BasicObjCFoundationChecks.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::ContainerNonEmptyMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerNonEmptyMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerNonEmptyMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerNonEmptyMap>::context_type)
Line
Count
Source
629
92
                     typename ProgramStateTrait<T>::context_type C) {
630
92
631
92
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
92
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
92
  }
BasicObjCFoundationChecks.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::ContainerCountMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerCountMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerCountMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerCountMap>::context_type)
Line
Count
Source
629
24
                     typename ProgramStateTrait<T>::context_type C) {
630
24
631
24
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
24
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
24
  }
CStringChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::CStringLength>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::context_type)
Line
Count
Source
629
737
                     typename ProgramStateTrait<T>::context_type C) {
630
737
631
737
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
737
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
737
  }
CheckObjCDealloc.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::UnreleasedIvarMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::UnreleasedIvarMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::UnreleasedIvarMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::UnreleasedIvarMap>::context_type)
Line
Count
Source
629
189
                     typename ProgramStateTrait<T>::context_type C) {
630
189
631
189
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
189
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
189
  }
DynamicTypePropagation.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::MostSpecializedTypeArgsMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::MostSpecializedTypeArgsMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::MostSpecializedTypeArgsMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::MostSpecializedTypeArgsMap>::context_type)
Line
Count
Source
629
106
                     typename ProgramStateTrait<T>::context_type C) {
630
106
631
106
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
106
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
106
  }
ExprInspectionChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::DenotedSymbols>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::DenotedSymbols>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::DenotedSymbols>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::DenotedSymbols>::context_type)
Line
Count
Source
629
164
                     typename ProgramStateTrait<T>::context_type C) {
630
164
631
164
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
164
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
164
  }
InnerPointerChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::RawPtrMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::RawPtrMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RawPtrMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RawPtrMap>::context_type)
Line
Count
Source
629
45
                     typename ProgramStateTrait<T>::context_type C) {
630
45
631
45
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
45
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
45
  }
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::ContainerMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerMap>::context_type)
Line
Count
Source
629
504
                     typename ProgramStateTrait<T>::context_type C) {
630
504
631
504
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
504
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
504
  }
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::IteratorComparisonMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorComparisonMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorComparisonMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorComparisonMap>::context_type)
Line
Count
Source
629
22
                     typename ProgramStateTrait<T>::context_type C) {
630
22
631
22
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
22
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
22
  }
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::IteratorRegionMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::context_type)
Line
Count
Source
629
1.93k
                     typename ProgramStateTrait<T>::context_type C) {
630
1.93k
631
1.93k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
1.93k
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
1.93k
  }
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::IteratorSymbolMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::context_type)
Line
Count
Source
629
156
                     typename ProgramStateTrait<T>::context_type C) {
630
156
631
156
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
156
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
156
  }
LocalizationChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::LocalizedMemMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::LocalizedMemMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::LocalizedMemMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::LocalizedMemMap>::context_type)
Line
Count
Source
629
194
                     typename ProgramStateTrait<T>::context_type C) {
630
194
631
194
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
194
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
194
  }
MacOSKeychainAPIChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::AllocatedData>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::AllocatedData>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::AllocatedData>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::AllocatedData>::context_type)
Line
Count
Source
629
27
                     typename ProgramStateTrait<T>::context_type C) {
630
27
631
27
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
27
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
27
  }
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::RegionState>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::context_type)
Line
Count
Source
629
2.57k
                     typename ProgramStateTrait<T>::context_type C) {
630
2.57k
631
2.57k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
2.57k
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
2.57k
  }
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::ReallocPairs>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocPairs>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocPairs>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocPairs>::context_type)
Line
Count
Source
629
52
                     typename ProgramStateTrait<T>::context_type C) {
630
52
631
52
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
52
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
52
  }
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::FreeReturnValue>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::FreeReturnValue>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::FreeReturnValue>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::FreeReturnValue>::context_type)
Line
Count
Source
629
21
                     typename ProgramStateTrait<T>::context_type C) {
630
21
631
21
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
21
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
21
  }
MisusedMovedObjectChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::TrackedRegionMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::TrackedRegionMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::TrackedRegionMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::TrackedRegionMap>::context_type)
Line
Count
Source
629
648
                     typename ProgramStateTrait<T>::context_type C) {
630
648
631
648
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
648
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
648
  }
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<clang::ento::mpi::RequestMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<clang::ento::mpi::RequestMap>::key_type, clang::ento::ProgramStateTrait<clang::ento::mpi::RequestMap>::value_type, clang::ento::ProgramStateTrait<clang::ento::mpi::RequestMap>::context_type)
Line
Count
Source
629
97
                     typename ProgramStateTrait<T>::context_type C) {
630
97
631
97
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
97
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
97
  }
NSErrorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::NSErrorOut>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::NSErrorOut>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NSErrorOut>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NSErrorOut>::context_type)
Line
Count
Source
629
3
                     typename ProgramStateTrait<T>::context_type C) {
630
3
631
3
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
3
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
3
  }
NSErrorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::CFErrorOut>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::CFErrorOut>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::CFErrorOut>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::CFErrorOut>::context_type)
Line
Count
Source
629
7
                     typename ProgramStateTrait<T>::context_type C) {
630
7
631
7
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
7
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
7
  }
NullabilityChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::NullabilityMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::NullabilityMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NullabilityMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NullabilityMap>::context_type)
Line
Count
Source
629
48
                     typename ProgramStateTrait<T>::context_type C) {
630
48
631
48
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
48
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
48
  }
ObjCContainersChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::ArraySizeMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::ArraySizeMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ArraySizeMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ArraySizeMap>::context_type)
Line
Count
Source
629
19
                     typename ProgramStateTrait<T>::context_type C) {
630
19
631
19
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
19
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
19
  }
ObjCSelfInitChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::SelfFlag>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::SelfFlag>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::SelfFlag>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::SelfFlag>::context_type)
Line
Count
Source
629
344
                     typename ProgramStateTrait<T>::context_type C) {
630
344
631
344
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
344
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
344
  }
PointerArithChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::RegionState>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::context_type)
Line
Count
Source
629
5.33k
                     typename ProgramStateTrait<T>::context_type C) {
630
5.33k
631
5.33k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
5.33k
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
5.33k
  }
PthreadLockChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::LockMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::LockMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::LockMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::LockMap>::context_type)
Line
Count
Source
629
171
                     typename ProgramStateTrait<T>::context_type C) {
630
171
631
171
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
171
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
171
  }
PthreadLockChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::DestroyRetVal>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::DestroyRetVal>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::DestroyRetVal>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::DestroyRetVal>::context_type)
Line
Count
Source
629
28
                     typename ProgramStateTrait<T>::context_type C) {
630
28
631
28
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
28
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
28
  }
RetainCountChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::RefBindings>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::context_type)
Line
Count
Source
629
3.15k
                     typename ProgramStateTrait<T>::context_type C) {
630
3.15k
631
3.15k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
3.15k
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
3.15k
  }
SimpleStreamChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::StreamMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::context_type)
Line
Count
Source
629
16
                     typename ProgramStateTrait<T>::context_type C) {
630
16
631
16
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
16
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
16
  }
StreamChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::StreamMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::context_type)
Line
Count
Source
629
26
                     typename ProgramStateTrait<T>::context_type C) {
630
26
631
26
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
26
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
26
  }
Unexecuted instantiation: TrustNonnullChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::NonNullImplicationMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::NonNullImplicationMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NonNullImplicationMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NonNullImplicationMap>::context_type)
Unexecuted instantiation: TrustNonnullChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::NullImplicationMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::NullImplicationMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NullImplicationMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NullImplicationMap>::context_type)
VirtualCallChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::CtorDtorMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::CtorDtorMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::CtorDtorMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::CtorDtorMap>::context_type)
Line
Count
Source
629
66
                     typename ProgramStateTrait<T>::context_type C) {
630
66
631
66
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
66
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
66
  }
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<clang::ento::DynamicTypeMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<clang::ento::DynamicTypeMap>::key_type, clang::ento::ProgramStateTrait<clang::ento::DynamicTypeMap>::value_type, clang::ento::ProgramStateTrait<clang::ento::DynamicTypeMap>::context_type)
Line
Count
Source
629
3.24k
                     typename ProgramStateTrait<T>::context_type C) {
630
3.24k
631
3.24k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
3.24k
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
3.24k
  }
ExprEngine.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::ObjectsUnderConstruction>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::ObjectsUnderConstruction>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ObjectsUnderConstruction>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ObjectsUnderConstruction>::context_type)
Line
Count
Source
629
10.0k
                     typename ProgramStateTrait<T>::context_type C) {
630
10.0k
631
10.0k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
10.0k
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
10.0k
  }
ExprEngineCallAndReturn.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<(anonymous namespace)::DynamicDispatchBifurcationMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::DynamicDispatchBifurcationMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::DynamicDispatchBifurcationMap>::value_type, clang::ento::ProgramStateTrait<(anonymous namespace)::DynamicDispatchBifurcationMap>::context_type)
Line
Count
Source
629
18
                     typename ProgramStateTrait<T>::context_type C) {
630
18
631
18
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
18
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
18
  }
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<clang::ento::TaintMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<clang::ento::TaintMap>::key_type, clang::ento::ProgramStateTrait<clang::ento::TaintMap>::value_type, clang::ento::ProgramStateTrait<clang::ento::TaintMap>::context_type)
Line
Count
Source
629
156
                     typename ProgramStateTrait<T>::context_type C) {
630
156
631
156
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
156
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
156
  }
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<clang::ento::DerivedSymTaint>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<clang::ento::DerivedSymTaint>::key_type, clang::ento::ProgramStateTrait<clang::ento::DerivedSymTaint>::value_type, clang::ento::ProgramStateTrait<clang::ento::DerivedSymTaint>::context_type)
Line
Count
Source
629
6
                     typename ProgramStateTrait<T>::context_type C) {
630
6
631
6
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
6
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
6
  }
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::set<clang::ento::ConstraintRange>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<clang::ento::ConstraintRange>::key_type, clang::ento::ProgramStateTrait<clang::ento::ConstraintRange>::value_type, clang::ento::ProgramStateTrait<clang::ento::ConstraintRange>::context_type)
Line
Count
Source
629
120k
                     typename ProgramStateTrait<T>::context_type C) {
630
120k
631
120k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
632
120k
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Set(st->get<T>(), K, V, C)));
633
120k
  }
634
635
  template <typename T>
636
  ProgramStateRef add(ProgramStateRef st,
637
                     typename ProgramStateTrait<T>::key_type K,
638
737
                     typename ProgramStateTrait<T>::context_type C) {
639
737
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
640
737
        ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Add(st->get<T>(), K, C)));
641
737
  }
ExprInspectionChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::add<(anonymous namespace)::MarkedSymbols>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::MarkedSymbols>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::MarkedSymbols>::context_type)
Line
Count
Source
638
11
                     typename ProgramStateTrait<T>::context_type C) {
639
11
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
640
11
        ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Add(st->get<T>(), K, C)));
641
11
  }
GenericTaintChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::add<(anonymous namespace)::TaintArgsOnPostVisit>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::TaintArgsOnPostVisit>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::TaintArgsOnPostVisit>::context_type)
Line
Count
Source
638
97
                     typename ProgramStateTrait<T>::context_type C) {
639
97
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
640
97
        ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Add(st->get<T>(), K, C)));
641
97
  }
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::add<(anonymous namespace)::ReallocSizeZeroSymbols>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocSizeZeroSymbols>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocSizeZeroSymbols>::context_type)
Line
Count
Source
638
19
                     typename ProgramStateTrait<T>::context_type C) {
639
19
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
640
19
        ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Add(st->get<T>(), K, C)));
641
19
  }
ObjCSuperDeallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::add<(anonymous namespace)::CalledSuperDealloc>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::CalledSuperDealloc>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::CalledSuperDealloc>::context_type)
Line
Count
Source
638
27
                     typename ProgramStateTrait<T>::context_type C) {
639
27
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
640
27
        ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Add(st->get<T>(), K, C)));
641
27
  }
PthreadLockChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::add<(anonymous namespace)::LockSet>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::LockSet>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::LockSet>::context_type)
Line
Count
Source
638
53
                     typename ProgramStateTrait<T>::context_type C) {
639
53
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
640
53
        ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Add(st->get<T>(), K, C)));
641
53
  }
TestAfterDivZeroChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::add<(anonymous namespace)::DivZeroMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::DivZeroMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::DivZeroMap>::context_type)
Line
Count
Source
638
68
                     typename ProgramStateTrait<T>::context_type C) {
639
68
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
640
68
        ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Add(st->get<T>(), K, C)));
641
68
  }
ValistChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::add<(anonymous namespace)::InitializedVALists>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedVALists>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedVALists>::context_type)
Line
Count
Source
638
85
                     typename ProgramStateTrait<T>::context_type C) {
639
85
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
640
85
        ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Add(st->get<T>(), K, C)));
641
85
  }
ExprEngine.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::add<(anonymous namespace)::InitializedGlobalsSet>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedGlobalsSet>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedGlobalsSet>::context_type)
Line
Count
Source
638
189
                     typename ProgramStateTrait<T>::context_type C) {
639
189
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
640
189
        ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Add(st->get<T>(), K, C)));
641
189
  }
LoopUnrolling.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::add<(anonymous namespace)::LoopStack>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::LoopStack>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::LoopStack>::context_type)
Line
Count
Source
638
188
                     typename ProgramStateTrait<T>::context_type C) {
639
188
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
640
188
        ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Add(st->get<T>(), K, C)));
641
188
  }
642
643
  template <typename T>
644
  ProgramStateRef remove(ProgramStateRef st,
645
                        typename ProgramStateTrait<T>::key_type K,
646
23.2k
                        typename ProgramStateTrait<T>::context_type C) {
647
23.2k
648
23.2k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
23.2k
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
23.2k
  }
BasicObjCFoundationChecks.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::ContainerNonEmptyMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerNonEmptyMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerNonEmptyMap>::context_type)
Line
Count
Source
646
357
                        typename ProgramStateTrait<T>::context_type C) {
647
357
648
357
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
357
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
357
  }
BasicObjCFoundationChecks.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::ContainerCountMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerCountMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerCountMap>::context_type)
Line
Count
Source
646
349
                        typename ProgramStateTrait<T>::context_type C) {
647
349
648
349
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
349
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
349
  }
CStringChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::CStringLength>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::context_type)
Line
Count
Source
646
20
                        typename ProgramStateTrait<T>::context_type C) {
647
20
648
20
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
20
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
20
  }
CheckObjCDealloc.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::UnreleasedIvarMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::UnreleasedIvarMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::UnreleasedIvarMap>::context_type)
Line
Count
Source
646
125
                        typename ProgramStateTrait<T>::context_type C) {
647
125
648
125
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
125
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
125
  }
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<clang::ento::DynamicTypeMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<clang::ento::DynamicTypeMap>::key_type, clang::ento::ProgramStateTrait<clang::ento::DynamicTypeMap>::context_type)
Line
Count
Source
646
2.09k
                        typename ProgramStateTrait<T>::context_type C) {
647
2.09k
648
2.09k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
2.09k
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
2.09k
  }
DynamicTypePropagation.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::MostSpecializedTypeArgsMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::MostSpecializedTypeArgsMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::MostSpecializedTypeArgsMap>::context_type)
Line
Count
Source
646
102
                        typename ProgramStateTrait<T>::context_type C) {
647
102
648
102
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
102
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
102
  }
ExprInspectionChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::MarkedSymbols>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::MarkedSymbols>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::MarkedSymbols>::context_type)
Line
Count
Source
646
5
                        typename ProgramStateTrait<T>::context_type C) {
647
5
648
5
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
5
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
5
  }
ExprInspectionChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::DenotedSymbols>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::DenotedSymbols>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::DenotedSymbols>::context_type)
Line
Count
Source
646
164
                        typename ProgramStateTrait<T>::context_type C) {
647
164
648
164
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
164
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
164
  }
InnerPointerChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::RawPtrMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::RawPtrMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RawPtrMap>::context_type)
Line
Count
Source
646
41
                        typename ProgramStateTrait<T>::context_type C) {
647
41
648
41
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
41
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
41
  }
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::IteratorRegionMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::context_type)
Line
Count
Source
646
1.19k
                        typename ProgramStateTrait<T>::context_type C) {
647
1.19k
648
1.19k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
1.19k
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
1.19k
  }
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::IteratorSymbolMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::context_type)
Line
Count
Source
646
152
                        typename ProgramStateTrait<T>::context_type C) {
647
152
648
152
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
152
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
152
  }
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::ContainerMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerMap>::context_type)
Line
Count
Source
646
286
                        typename ProgramStateTrait<T>::context_type C) {
647
286
648
286
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
286
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
286
  }
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::IteratorComparisonMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorComparisonMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorComparisonMap>::context_type)
Line
Count
Source
646
38
                        typename ProgramStateTrait<T>::context_type C) {
647
38
648
38
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
38
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
38
  }
MacOSKeychainAPIChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::AllocatedData>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::AllocatedData>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::AllocatedData>::context_type)
Line
Count
Source
646
53
                        typename ProgramStateTrait<T>::context_type C) {
647
53
648
53
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
53
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
53
  }
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::ReallocPairs>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocPairs>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocPairs>::context_type)
Line
Count
Source
646
80
                        typename ProgramStateTrait<T>::context_type C) {
647
80
648
80
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
80
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
80
  }
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::FreeReturnValue>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::FreeReturnValue>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::FreeReturnValue>::context_type)
Line
Count
Source
646
686
                        typename ProgramStateTrait<T>::context_type C) {
647
686
648
686
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
686
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
686
  }
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::RegionState>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::context_type)
Line
Count
Source
646
1.04k
                        typename ProgramStateTrait<T>::context_type C) {
647
1.04k
648
1.04k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
1.04k
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
1.04k
  }
MisusedMovedObjectChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::TrackedRegionMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::TrackedRegionMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::TrackedRegionMap>::context_type)
Line
Count
Source
646
542
                        typename ProgramStateTrait<T>::context_type C) {
647
542
648
542
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
542
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
542
  }
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<clang::ento::mpi::RequestMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<clang::ento::mpi::RequestMap>::key_type, clang::ento::ProgramStateTrait<clang::ento::mpi::RequestMap>::context_type)
Line
Count
Source
646
56
                        typename ProgramStateTrait<T>::context_type C) {
647
56
648
56
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
56
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
56
  }
NullabilityChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::NullabilityMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::NullabilityMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NullabilityMap>::context_type)
Line
Count
Source
646
74
                        typename ProgramStateTrait<T>::context_type C) {
647
74
648
74
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
74
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
74
  }
ObjCContainersChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::ArraySizeMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::ArraySizeMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ArraySizeMap>::context_type)
Line
Count
Source
646
191
                        typename ProgramStateTrait<T>::context_type C) {
647
191
648
191
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
191
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
191
  }
Unexecuted instantiation: ObjCSelfInitChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::SelfFlag>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::SelfFlag>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::SelfFlag>::context_type)
PthreadLockChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::LockMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::LockMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::LockMap>::context_type)
Line
Count
Source
646
4
                        typename ProgramStateTrait<T>::context_type C) {
647
4
648
4
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
4
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
4
  }
PthreadLockChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::DestroyRetVal>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::DestroyRetVal>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::DestroyRetVal>::context_type)
Line
Count
Source
646
38
                        typename ProgramStateTrait<T>::context_type C) {
647
38
648
38
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
38
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
38
  }
RetainCountChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::RefBindings>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::context_type)
Line
Count
Source
646
4.90k
                        typename ProgramStateTrait<T>::context_type C) {
647
4.90k
648
4.90k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
4.90k
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
4.90k
  }
SimpleStreamChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::StreamMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::context_type)
Line
Count
Source
646
79
                        typename ProgramStateTrait<T>::context_type C) {
647
79
648
79
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
79
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
79
  }
Unexecuted instantiation: TrustNonnullChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::NullImplicationMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::NullImplicationMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NullImplicationMap>::context_type)
Unexecuted instantiation: TrustNonnullChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::NonNullImplicationMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::NonNullImplicationMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NonNullImplicationMap>::context_type)
ValistChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::InitializedVALists>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedVALists>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedVALists>::context_type)
Line
Count
Source
646
84
                        typename ProgramStateTrait<T>::context_type C) {
647
84
648
84
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
84
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
84
  }
VirtualCallChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::CtorDtorMap>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::CtorDtorMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::CtorDtorMap>::context_type)
Line
Count
Source
646
68
                        typename ProgramStateTrait<T>::context_type C) {
647
68
648
68
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
68
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
68
  }
ExprEngine.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::ObjectsUnderConstruction>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::ProgramStateTrait<(anonymous namespace)::ObjectsUnderConstruction>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ObjectsUnderConstruction>::context_type)
Line
Count
Source
646
10.3k
                        typename ProgramStateTrait<T>::context_type C) {
647
10.3k
648
10.3k
    return addGDM(st, ProgramStateTrait<T>::GDMIndex(),
649
10.3k
     ProgramStateTrait<T>::MakeVoidPtr(ProgramStateTrait<T>::Remove(st->get<T>(), K, C)));
650
10.3k
  }
651
652
  template <typename T>
653
119
  ProgramStateRef remove(ProgramStateRef st) {
654
119
    return removeGDM(st, ProgramStateTrait<T>::GDMIndex());
655
119
  }
GenericTaintChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::TaintArgsOnPostVisit>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>)
Line
Count
Source
653
61
  ProgramStateRef remove(ProgramStateRef st) {
654
61
    return removeGDM(st, ProgramStateTrait<T>::GDMIndex());
655
61
  }
ObjCSelfInitChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::PreCallSelfFlags>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>)
Line
Count
Source
653
26
  ProgramStateRef remove(ProgramStateRef st) {
654
26
    return removeGDM(st, ProgramStateTrait<T>::GDMIndex());
655
26
  }
ObjCSelfInitChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<(anonymous namespace)::CalledInit>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>)
Line
Count
Source
653
4
  ProgramStateRef remove(ProgramStateRef st) {
654
4
    return removeGDM(st, ProgramStateTrait<T>::GDMIndex());
655
4
  }
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramStateManager::remove<clang::ento::ReplayWithoutInlining>(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>)
Line
Count
Source
653
28
  ProgramStateRef remove(ProgramStateRef st) {
654
28
    return removeGDM(st, ProgramStateTrait<T>::GDMIndex());
655
28
  }
656
657
  void *FindGDMContext(void *index,
658
                       void *(*CreateContext)(llvm::BumpPtrAllocator&),
659
                       void  (*DeleteContext)(void*));
660
661
  template <typename T>
662
511k
  typename ProgramStateTrait<T>::context_type get_context() {
663
511k
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
511k
                             ProgramStateTrait<T>::CreateContext,
665
511k
                             ProgramStateTrait<T>::DeleteContext);
666
511k
667
511k
    return ProgramStateTrait<T>::MakeContext(p);
668
511k
  }
BasicObjCFoundationChecks.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerNonEmptyMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::ContainerNonEmptyMap>()
Line
Count
Source
662
449
  typename ProgramStateTrait<T>::context_type get_context() {
663
449
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
449
                             ProgramStateTrait<T>::CreateContext,
665
449
                             ProgramStateTrait<T>::DeleteContext);
666
449
667
449
    return ProgramStateTrait<T>::MakeContext(p);
668
449
  }
BasicObjCFoundationChecks.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerCountMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::ContainerCountMap>()
Line
Count
Source
662
373
  typename ProgramStateTrait<T>::context_type get_context() {
663
373
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
373
                             ProgramStateTrait<T>::CreateContext,
665
373
                             ProgramStateTrait<T>::DeleteContext);
666
373
667
373
    return ProgramStateTrait<T>::MakeContext(p);
668
373
  }
CStringChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::CStringLength>()
Line
Count
Source
662
2.19k
  typename ProgramStateTrait<T>::context_type get_context() {
663
2.19k
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
2.19k
                             ProgramStateTrait<T>::CreateContext,
665
2.19k
                             ProgramStateTrait<T>::DeleteContext);
666
2.19k
667
2.19k
    return ProgramStateTrait<T>::MakeContext(p);
668
2.19k
  }
clang::ento::ProgramStateTrait<llvm::ImmutableSet<clang::ento::SymExpr const*, llvm::ImutContainerInfo<clang::ento::SymExpr const*> > >::context_type clang::ento::ProgramStateManager::get_context<llvm::ImmutableSet<clang::ento::SymExpr const*, llvm::ImutContainerInfo<clang::ento::SymExpr const*> > >()
Line
Count
Source
662
12.0k
  typename ProgramStateTrait<T>::context_type get_context() {
663
12.0k
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
12.0k
                             ProgramStateTrait<T>::CreateContext,
665
12.0k
                             ProgramStateTrait<T>::DeleteContext);
666
12.0k
667
12.0k
    return ProgramStateTrait<T>::MakeContext(p);
668
12.0k
  }
CheckObjCDealloc.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::UnreleasedIvarMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::UnreleasedIvarMap>()
Line
Count
Source
662
314
  typename ProgramStateTrait<T>::context_type get_context() {
663
314
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
314
                             ProgramStateTrait<T>::CreateContext,
665
314
                             ProgramStateTrait<T>::DeleteContext);
666
314
667
314
    return ProgramStateTrait<T>::MakeContext(p);
668
314
  }
clang::ento::ProgramStateTrait<clang::ento::DynamicTypeMap>::context_type clang::ento::ProgramStateManager::get_context<clang::ento::DynamicTypeMap>()
Line
Count
Source
662
5.33k
  typename ProgramStateTrait<T>::context_type get_context() {
663
5.33k
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
5.33k
                             ProgramStateTrait<T>::CreateContext,
665
5.33k
                             ProgramStateTrait<T>::DeleteContext);
666
5.33k
667
5.33k
    return ProgramStateTrait<T>::MakeContext(p);
668
5.33k
  }
DynamicTypePropagation.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::MostSpecializedTypeArgsMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::MostSpecializedTypeArgsMap>()
Line
Count
Source
662
208
  typename ProgramStateTrait<T>::context_type get_context() {
663
208
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
208
                             ProgramStateTrait<T>::CreateContext,
665
208
                             ProgramStateTrait<T>::DeleteContext);
666
208
667
208
    return ProgramStateTrait<T>::MakeContext(p);
668
208
  }
ExprInspectionChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::MarkedSymbols>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::MarkedSymbols>()
Line
Count
Source
662
16
  typename ProgramStateTrait<T>::context_type get_context() {
663
16
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
16
                             ProgramStateTrait<T>::CreateContext,
665
16
                             ProgramStateTrait<T>::DeleteContext);
666
16
667
16
    return ProgramStateTrait<T>::MakeContext(p);
668
16
  }
ExprInspectionChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DenotedSymbols>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::DenotedSymbols>()
Line
Count
Source
662
328
  typename ProgramStateTrait<T>::context_type get_context() {
663
328
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
328
                             ProgramStateTrait<T>::CreateContext,
665
328
                             ProgramStateTrait<T>::DeleteContext);
666
328
667
328
    return ProgramStateTrait<T>::MakeContext(p);
668
328
  }
GenericTaintChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::TaintArgsOnPostVisit>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::TaintArgsOnPostVisit>()
Line
Count
Source
662
97
  typename ProgramStateTrait<T>::context_type get_context() {
663
97
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
97
                             ProgramStateTrait<T>::CreateContext,
665
97
                             ProgramStateTrait<T>::DeleteContext);
666
97
667
97
    return ProgramStateTrait<T>::MakeContext(p);
668
97
  }
InnerPointerChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RawPtrMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::RawPtrMap>()
Line
Count
Source
662
86
  typename ProgramStateTrait<T>::context_type get_context() {
663
86
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
86
                             ProgramStateTrait<T>::CreateContext,
665
86
                             ProgramStateTrait<T>::DeleteContext);
666
86
667
86
    return ProgramStateTrait<T>::MakeContext(p);
668
86
  }
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::IteratorRegionMap>()
Line
Count
Source
662
3.34k
  typename ProgramStateTrait<T>::context_type get_context() {
663
3.34k
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
3.34k
                             ProgramStateTrait<T>::CreateContext,
665
3.34k
                             ProgramStateTrait<T>::DeleteContext);
666
3.34k
667
3.34k
    return ProgramStateTrait<T>::MakeContext(p);
668
3.34k
  }
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::IteratorSymbolMap>()
Line
Count
Source
662
536
  typename ProgramStateTrait<T>::context_type get_context() {
663
536
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
536
                             ProgramStateTrait<T>::CreateContext,
665
536
                             ProgramStateTrait<T>::DeleteContext);
666
536
667
536
    return ProgramStateTrait<T>::MakeContext(p);
668
536
  }
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::ContainerMap>()
Line
Count
Source
662
790
  typename ProgramStateTrait<T>::context_type get_context() {
663
790
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
790
                             ProgramStateTrait<T>::CreateContext,
665
790
                             ProgramStateTrait<T>::DeleteContext);
666
790
667
790
    return ProgramStateTrait<T>::MakeContext(p);
668
790
  }
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorComparisonMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::IteratorComparisonMap>()
Line
Count
Source
662
60
  typename ProgramStateTrait<T>::context_type get_context() {
663
60
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
60
                             ProgramStateTrait<T>::CreateContext,
665
60
                             ProgramStateTrait<T>::DeleteContext);
666
60
667
60
    return ProgramStateTrait<T>::MakeContext(p);
668
60
  }
LocalizationChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::LocalizedMemMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::LocalizedMemMap>()
Line
Count
Source
662
194
  typename ProgramStateTrait<T>::context_type get_context() {
663
194
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
194
                             ProgramStateTrait<T>::CreateContext,
665
194
                             ProgramStateTrait<T>::DeleteContext);
666
194
667
194
    return ProgramStateTrait<T>::MakeContext(p);
668
194
  }
MacOSKeychainAPIChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::AllocatedData>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::AllocatedData>()
Line
Count
Source
662
80
  typename ProgramStateTrait<T>::context_type get_context() {
663
80
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
80
                             ProgramStateTrait<T>::CreateContext,
665
80
                             ProgramStateTrait<T>::DeleteContext);
666
80
667
80
    return ProgramStateTrait<T>::MakeContext(p);
668
80
  }
MallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::RegionState>()
Line
Count
Source
662
20.3k
  typename ProgramStateTrait<T>::context_type get_context() {
663
20.3k
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
20.3k
                             ProgramStateTrait<T>::CreateContext,
665
20.3k
                             ProgramStateTrait<T>::DeleteContext);
666
20.3k
667
20.3k
    return ProgramStateTrait<T>::MakeContext(p);
668
20.3k
  }
MallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocPairs>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::ReallocPairs>()
Line
Count
Source
662
132
  typename ProgramStateTrait<T>::context_type get_context() {
663
132
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
132
                             ProgramStateTrait<T>::CreateContext,
665
132
                             ProgramStateTrait<T>::DeleteContext);
666
132
667
132
    return ProgramStateTrait<T>::MakeContext(p);
668
132
  }
MallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::FreeReturnValue>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::FreeReturnValue>()
Line
Count
Source
662
707
  typename ProgramStateTrait<T>::context_type get_context() {
663
707
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
707
                             ProgramStateTrait<T>::CreateContext,
665
707
                             ProgramStateTrait<T>::DeleteContext);
666
707
667
707
    return ProgramStateTrait<T>::MakeContext(p);
668
707
  }
MallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocSizeZeroSymbols>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::ReallocSizeZeroSymbols>()
Line
Count
Source
662
19
  typename ProgramStateTrait<T>::context_type get_context() {
663
19
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
19
                             ProgramStateTrait<T>::CreateContext,
665
19
                             ProgramStateTrait<T>::DeleteContext);
666
19
667
19
    return ProgramStateTrait<T>::MakeContext(p);
668
19
  }
MisusedMovedObjectChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::TrackedRegionMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::TrackedRegionMap>()
Line
Count
Source
662
1.19k
  typename ProgramStateTrait<T>::context_type get_context() {
663
1.19k
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
1.19k
                             ProgramStateTrait<T>::CreateContext,
665
1.19k
                             ProgramStateTrait<T>::DeleteContext);
666
1.19k
667
1.19k
    return ProgramStateTrait<T>::MakeContext(p);
668
1.19k
  }
clang::ento::ProgramStateTrait<clang::ento::mpi::RequestMap>::context_type clang::ento::ProgramStateManager::get_context<clang::ento::mpi::RequestMap>()
Line
Count
Source
662
153
  typename ProgramStateTrait<T>::context_type get_context() {
663
153
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
153
                             ProgramStateTrait<T>::CreateContext,
665
153
                             ProgramStateTrait<T>::DeleteContext);
666
153
667
153
    return ProgramStateTrait<T>::MakeContext(p);
668
153
  }
NSErrorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NSErrorOut>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::NSErrorOut>()
Line
Count
Source
662
3
  typename ProgramStateTrait<T>::context_type get_context() {
663
3
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
3
                             ProgramStateTrait<T>::CreateContext,
665
3
                             ProgramStateTrait<T>::DeleteContext);
666
3
667
3
    return ProgramStateTrait<T>::MakeContext(p);
668
3
  }
NSErrorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CFErrorOut>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::CFErrorOut>()
Line
Count
Source
662
7
  typename ProgramStateTrait<T>::context_type get_context() {
663
7
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
7
                             ProgramStateTrait<T>::CreateContext,
665
7
                             ProgramStateTrait<T>::DeleteContext);
666
7
667
7
    return ProgramStateTrait<T>::MakeContext(p);
668
7
  }
NullabilityChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NullabilityMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::NullabilityMap>()
Line
Count
Source
662
122
  typename ProgramStateTrait<T>::context_type get_context() {
663
122
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
122
                             ProgramStateTrait<T>::CreateContext,
665
122
                             ProgramStateTrait<T>::DeleteContext);
666
122
667
122
    return ProgramStateTrait<T>::MakeContext(p);
668
122
  }
ObjCContainersChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ArraySizeMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::ArraySizeMap>()
Line
Count
Source
662
210
  typename ProgramStateTrait<T>::context_type get_context() {
663
210
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
210
                             ProgramStateTrait<T>::CreateContext,
665
210
                             ProgramStateTrait<T>::DeleteContext);
666
210
667
210
    return ProgramStateTrait<T>::MakeContext(p);
668
210
  }
ObjCSelfInitChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::SelfFlag>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::SelfFlag>()
Line
Count
Source
662
344
  typename ProgramStateTrait<T>::context_type get_context() {
663
344
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
344
                             ProgramStateTrait<T>::CreateContext,
665
344
                             ProgramStateTrait<T>::DeleteContext);
666
344
667
344
    return ProgramStateTrait<T>::MakeContext(p);
668
344
  }
ObjCSuperDeallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CalledSuperDealloc>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::CalledSuperDealloc>()
Line
Count
Source
662
27
  typename ProgramStateTrait<T>::context_type get_context() {
663
27
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
27
                             ProgramStateTrait<T>::CreateContext,
665
27
                             ProgramStateTrait<T>::DeleteContext);
666
27
667
27
    return ProgramStateTrait<T>::MakeContext(p);
668
27
  }
PointerArithChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::RegionState>()
Line
Count
Source
662
5.33k
  typename ProgramStateTrait<T>::context_type get_context() {
663
5.33k
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
5.33k
                             ProgramStateTrait<T>::CreateContext,
665
5.33k
                             ProgramStateTrait<T>::DeleteContext);
666
5.33k
667
5.33k
    return ProgramStateTrait<T>::MakeContext(p);
668
5.33k
  }
PthreadLockChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::LockMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::LockMap>()
Line
Count
Source
662
175
  typename ProgramStateTrait<T>::context_type get_context() {
663
175
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
175
                             ProgramStateTrait<T>::CreateContext,
665
175
                             ProgramStateTrait<T>::DeleteContext);
666
175
667
175
    return ProgramStateTrait<T>::MakeContext(p);
668
175
  }
PthreadLockChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DestroyRetVal>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::DestroyRetVal>()
Line
Count
Source
662
66
  typename ProgramStateTrait<T>::context_type get_context() {
663
66
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
66
                             ProgramStateTrait<T>::CreateContext,
665
66
                             ProgramStateTrait<T>::DeleteContext);
666
66
667
66
    return ProgramStateTrait<T>::MakeContext(p);
668
66
  }
PthreadLockChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::LockSet>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::LockSet>()
Line
Count
Source
662
53
  typename ProgramStateTrait<T>::context_type get_context() {
663
53
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
53
                             ProgramStateTrait<T>::CreateContext,
665
53
                             ProgramStateTrait<T>::DeleteContext);
666
53
667
53
    return ProgramStateTrait<T>::MakeContext(p);
668
53
  }
RetainCountChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::RefBindings>()
Line
Count
Source
662
13.6k
  typename ProgramStateTrait<T>::context_type get_context() {
663
13.6k
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
13.6k
                             ProgramStateTrait<T>::CreateContext,
665
13.6k
                             ProgramStateTrait<T>::DeleteContext);
666
13.6k
667
13.6k
    return ProgramStateTrait<T>::MakeContext(p);
668
13.6k
  }
SimpleStreamChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::StreamMap>()
Line
Count
Source
662
95
  typename ProgramStateTrait<T>::context_type get_context() {
663
95
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
95
                             ProgramStateTrait<T>::CreateContext,
665
95
                             ProgramStateTrait<T>::DeleteContext);
666
95
667
95
    return ProgramStateTrait<T>::MakeContext(p);
668
95
  }
StreamChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::StreamMap>()
Line
Count
Source
662
26
  typename ProgramStateTrait<T>::context_type get_context() {
663
26
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
26
                             ProgramStateTrait<T>::CreateContext,
665
26
                             ProgramStateTrait<T>::DeleteContext);
666
26
667
26
    return ProgramStateTrait<T>::MakeContext(p);
668
26
  }
TestAfterDivZeroChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DivZeroMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::DivZeroMap>()
Line
Count
Source
662
114
  typename ProgramStateTrait<T>::context_type get_context() {
663
114
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
114
                             ProgramStateTrait<T>::CreateContext,
665
114
                             ProgramStateTrait<T>::DeleteContext);
666
114
667
114
    return ProgramStateTrait<T>::MakeContext(p);
668
114
  }
Unexecuted instantiation: TrustNonnullChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NonNullImplicationMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::NonNullImplicationMap>()
Unexecuted instantiation: TrustNonnullChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NullImplicationMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::NullImplicationMap>()
ValistChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedVALists>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::InitializedVALists>()
Line
Count
Source
662
169
  typename ProgramStateTrait<T>::context_type get_context() {
663
169
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
169
                             ProgramStateTrait<T>::CreateContext,
665
169
                             ProgramStateTrait<T>::DeleteContext);
666
169
667
169
    return ProgramStateTrait<T>::MakeContext(p);
668
169
  }
VirtualCallChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CtorDtorMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::CtorDtorMap>()
Line
Count
Source
662
134
  typename ProgramStateTrait<T>::context_type get_context() {
663
134
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
134
                             ProgramStateTrait<T>::CreateContext,
665
134
                             ProgramStateTrait<T>::DeleteContext);
666
134
667
134
    return ProgramStateTrait<T>::MakeContext(p);
668
134
  }
clang::ento::ProgramStateTrait<clang::ento::ConstraintRange>::context_type clang::ento::ProgramStateManager::get_context<clang::ento::ConstraintRange>()
Line
Count
Source
662
420k
  typename ProgramStateTrait<T>::context_type get_context() {
663
420k
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
420k
                             ProgramStateTrait<T>::CreateContext,
665
420k
                             ProgramStateTrait<T>::DeleteContext);
666
420k
667
420k
    return ProgramStateTrait<T>::MakeContext(p);
668
420k
  }
ExprEngine.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ObjectsUnderConstruction>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::ObjectsUnderConstruction>()
Line
Count
Source
662
20.4k
  typename ProgramStateTrait<T>::context_type get_context() {
663
20.4k
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
20.4k
                             ProgramStateTrait<T>::CreateContext,
665
20.4k
                             ProgramStateTrait<T>::DeleteContext);
666
20.4k
667
20.4k
    return ProgramStateTrait<T>::MakeContext(p);
668
20.4k
  }
ExprEngine.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedGlobalsSet>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::InitializedGlobalsSet>()
Line
Count
Source
662
189
  typename ProgramStateTrait<T>::context_type get_context() {
663
189
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
189
                             ProgramStateTrait<T>::CreateContext,
665
189
                             ProgramStateTrait<T>::DeleteContext);
666
189
667
189
    return ProgramStateTrait<T>::MakeContext(p);
668
189
  }
ExprEngineCallAndReturn.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DynamicDispatchBifurcationMap>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::DynamicDispatchBifurcationMap>()
Line
Count
Source
662
18
  typename ProgramStateTrait<T>::context_type get_context() {
663
18
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
18
                             ProgramStateTrait<T>::CreateContext,
665
18
                             ProgramStateTrait<T>::DeleteContext);
666
18
667
18
    return ProgramStateTrait<T>::MakeContext(p);
668
18
  }
LoopUnrolling.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::LoopStack>::context_type clang::ento::ProgramStateManager::get_context<(anonymous namespace)::LoopStack>()
Line
Count
Source
662
188
  typename ProgramStateTrait<T>::context_type get_context() {
663
188
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
188
                             ProgramStateTrait<T>::CreateContext,
665
188
                             ProgramStateTrait<T>::DeleteContext);
666
188
667
188
    return ProgramStateTrait<T>::MakeContext(p);
668
188
  }
clang::ento::ProgramStateTrait<clang::ento::TaintMap>::context_type clang::ento::ProgramStateManager::get_context<clang::ento::TaintMap>()
Line
Count
Source
662
156
  typename ProgramStateTrait<T>::context_type get_context() {
663
156
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
156
                             ProgramStateTrait<T>::CreateContext,
665
156
                             ProgramStateTrait<T>::DeleteContext);
666
156
667
156
    return ProgramStateTrait<T>::MakeContext(p);
668
156
  }
clang::ento::ProgramStateTrait<clang::ento::DerivedSymTaint>::context_type clang::ento::ProgramStateManager::get_context<clang::ento::DerivedSymTaint>()
Line
Count
Source
662
6
  typename ProgramStateTrait<T>::context_type get_context() {
663
6
    void *p = FindGDMContext(ProgramStateTrait<T>::GDMIndex(),
664
6
                             ProgramStateTrait<T>::CreateContext,
665
6
                             ProgramStateTrait<T>::DeleteContext);
666
6
667
6
    return ProgramStateTrait<T>::MakeContext(p);
668
6
  }
669
670
45.3k
  void EndPath(ProgramStateRef St) {
671
45.3k
    ConstraintMgr->EndPath(St);
672
45.3k
  }
673
};
674
675
676
//===----------------------------------------------------------------------===//
677
// Out-of-line method definitions for ProgramState.
678
//===----------------------------------------------------------------------===//
679
680
139k
inline ConstraintManager &ProgramState::getConstraintManager() const {
681
139k
  return stateMgr->getConstraintManager();
682
139k
}
683
684
inline const VarRegion* ProgramState::getRegion(const VarDecl *D,
685
                                                const LocationContext *LC) const
686
3.98k
{
687
3.98k
  return getStateManager().getRegionManager().getVarRegion(D, LC);
688
3.98k
}
689
690
inline ProgramStateRef ProgramState::assume(DefinedOrUnknownSVal Cond,
691
8.55k
                                      bool Assumption) const {
692
8.55k
  if (Cond.isUnknown())
693
18
    return this;
694
8.53k
695
8.53k
  return getStateManager().ConstraintMgr
696
8.53k
      ->assume(this, Cond.castAs<DefinedSVal>(), Assumption);
697
8.53k
}
698
699
inline std::pair<ProgramStateRef , ProgramStateRef >
700
269k
ProgramState::assume(DefinedOrUnknownSVal Cond) const {
701
269k
  if (Cond.isUnknown())
702
586
    return std::make_pair(this, this);
703
268k
704
268k
  return getStateManager().ConstraintMgr
705
268k
      ->assumeDual(this, Cond.castAs<DefinedSVal>());
706
268k
}
707
708
inline ProgramStateRef ProgramState::assumeInclusiveRange(
709
    DefinedOrUnknownSVal Val, const llvm::APSInt &From, const llvm::APSInt &To,
710
0
    bool Assumption) const {
711
0
  if (Val.isUnknown())
712
0
    return this;
713
0
714
0
  assert(Val.getAs<NonLoc>() && "Only NonLocs are supported!");
715
0
716
0
  return getStateManager().ConstraintMgr->assumeInclusiveRange(
717
0
      this, Val.castAs<NonLoc>(), From, To, Assumption);
718
0
}
719
720
inline std::pair<ProgramStateRef, ProgramStateRef>
721
ProgramState::assumeInclusiveRange(DefinedOrUnknownSVal Val,
722
                                   const llvm::APSInt &From,
723
317
                                   const llvm::APSInt &To) const {
724
317
  if (Val.isUnknown())
725
0
    return std::make_pair(this, this);
726
317
727
317
  assert(Val.getAs<NonLoc>() && "Only NonLocs are supported!");
728
317
729
317
  return getStateManager().ConstraintMgr->assumeInclusiveRangeDual(
730
317
      this, Val.castAs<NonLoc>(), From, To);
731
317
}
732
733
701
inline ProgramStateRef ProgramState::bindLoc(SVal LV, SVal V, const LocationContext *LCtx) const {
734
701
  if (Optional<Loc> L = LV.getAs<Loc>())
735
701
    return bindLoc(*L, V, LCtx);
736
0
  return this;
737
0
}
738
739
inline Loc ProgramState::getLValue(const CXXBaseSpecifier &BaseSpec,
740
80
                                   const SubRegion *Super) const {
741
80
  const auto *Base = BaseSpec.getType()->getAsCXXRecordDecl();
742
80
  return loc::MemRegionVal(
743
80
           getStateManager().getRegionManager().getCXXBaseObjectRegion(
744
80
                                            Base, Super, BaseSpec.isVirtual()));
745
80
}
746
747
inline Loc ProgramState::getLValue(const CXXRecordDecl *BaseClass,
748
                                   const SubRegion *Super,
749
0
                                   bool IsVirtual) const {
750
0
  return loc::MemRegionVal(
751
0
           getStateManager().getRegionManager().getCXXBaseObjectRegion(
752
0
                                                  BaseClass, Super, IsVirtual));
753
0
}
754
755
inline Loc ProgramState::getLValue(const VarDecl *VD,
756
157k
                               const LocationContext *LC) const {
757
157k
  return getStateManager().StoreMgr->getLValueVar(VD, LC);
758
157k
}
759
760
inline Loc ProgramState::getLValue(const CompoundLiteralExpr *literal,
761
52
                               const LocationContext *LC) const {
762
52
  return getStateManager().StoreMgr->getLValueCompoundLiteral(literal, LC);
763
52
}
764
765
1.17k
inline SVal ProgramState::getLValue(const ObjCIvarDecl *D, SVal Base) const {
766
1.17k
  return getStateManager().StoreMgr->getLValueIvar(D, Base);
767
1.17k
}
768
769
43.9k
inline SVal ProgramState::getLValue(const FieldDecl *D, SVal Base) const {
770
43.9k
  return getStateManager().StoreMgr->getLValueField(D, Base);
771
43.9k
}
772
773
inline SVal ProgramState::getLValue(const IndirectFieldDecl *D,
774
4
                                    SVal Base) const {
775
4
  StoreManager &SM = *getStateManager().StoreMgr;
776
8
  for (const auto *I : D->chain()) {
777
8
    Base = SM.getLValueField(cast<FieldDecl>(I), Base);
778
8
  }
779
4
780
4
  return Base;
781
4
}
782
783
9.73k
inline SVal ProgramState::getLValue(QualType ElementType, SVal Idx, SVal Base) const{
784
9.73k
  if (Optional<NonLoc> N = Idx.getAs<NonLoc>())
785
9.72k
    return getStateManager().StoreMgr->getLValueElement(ElementType, *N, Base);
786
12
  return UnknownVal();
787
12
}
788
789
inline SVal ProgramState::getSVal(const Stmt *Ex,
790
1.26M
                                  const LocationContext *LCtx) const{
791
1.26M
  return Env.getSVal(EnvironmentEntry(Ex, LCtx),
792
1.26M
                     *getStateManager().svalBuilder);
793
1.26M
}
794
795
inline SVal
796
ProgramState::getSValAsScalarOrLoc(const Stmt *S,
797
2.58k
                                   const LocationContext *LCtx) const {
798
2.58k
  if (const Expr *Ex = dyn_cast<Expr>(S)) {
799
2.58k
    QualType T = Ex->getType();
800
2.58k
    if (Ex->isGLValue() || 
Loc::isLocType(T)2.52k
||
801
2.58k
        
T->isIntegralOrEnumerationType()1.16k
)
802
2.53k
      return getSVal(S, LCtx);
803
55
  }
804
55
805
55
  return UnknownVal();
806
55
}
807
808
199k
inline SVal ProgramState::getRawSVal(Loc LV, QualType T) const {
809
199k
  return getStateManager().StoreMgr->getBinding(getStore(), LV, T);
810
199k
}
811
812
135k
inline SVal ProgramState::getSVal(const MemRegion* R, QualType T) const {
813
135k
  return getStateManager().StoreMgr->getBinding(getStore(),
814
135k
                                                loc::MemRegionVal(R),
815
135k
                                                T);
816
135k
}
817
818
1.57k
inline BasicValueFactory &ProgramState::getBasicVals() const {
819
1.57k
  return getStateManager().getBasicVals();
820
1.57k
}
821
822
760
inline SymbolManager &ProgramState::getSymbolManager() const {
823
760
  return getStateManager().getSymbolManager();
824
760
}
825
826
template<typename T>
827
737
ProgramStateRef ProgramState::add(typename ProgramStateTrait<T>::key_type K) const {
828
737
  return getStateManager().add<T>(this, K, get_context<T>());
829
737
}
ExprInspectionChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::add<(anonymous namespace)::MarkedSymbols>(clang::ento::ProgramStateTrait<(anonymous namespace)::MarkedSymbols>::key_type) const
Line
Count
Source
827
11
ProgramStateRef ProgramState::add(typename ProgramStateTrait<T>::key_type K) const {
828
11
  return getStateManager().add<T>(this, K, get_context<T>());
829
11
}
GenericTaintChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::add<(anonymous namespace)::TaintArgsOnPostVisit>(clang::ento::ProgramStateTrait<(anonymous namespace)::TaintArgsOnPostVisit>::key_type) const
Line
Count
Source
827
97
ProgramStateRef ProgramState::add(typename ProgramStateTrait<T>::key_type K) const {
828
97
  return getStateManager().add<T>(this, K, get_context<T>());
829
97
}
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::add<(anonymous namespace)::ReallocSizeZeroSymbols>(clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocSizeZeroSymbols>::key_type) const
Line
Count
Source
827
19
ProgramStateRef ProgramState::add(typename ProgramStateTrait<T>::key_type K) const {
828
19
  return getStateManager().add<T>(this, K, get_context<T>());
829
19
}
ObjCSuperDeallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::add<(anonymous namespace)::CalledSuperDealloc>(clang::ento::ProgramStateTrait<(anonymous namespace)::CalledSuperDealloc>::key_type) const
Line
Count
Source
827
27
ProgramStateRef ProgramState::add(typename ProgramStateTrait<T>::key_type K) const {
828
27
  return getStateManager().add<T>(this, K, get_context<T>());
829
27
}
PthreadLockChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::add<(anonymous namespace)::LockSet>(clang::ento::ProgramStateTrait<(anonymous namespace)::LockSet>::key_type) const
Line
Count
Source
827
53
ProgramStateRef ProgramState::add(typename ProgramStateTrait<T>::key_type K) const {
828
53
  return getStateManager().add<T>(this, K, get_context<T>());
829
53
}
TestAfterDivZeroChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::add<(anonymous namespace)::DivZeroMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::DivZeroMap>::key_type) const
Line
Count
Source
827
68
ProgramStateRef ProgramState::add(typename ProgramStateTrait<T>::key_type K) const {
828
68
  return getStateManager().add<T>(this, K, get_context<T>());
829
68
}
ValistChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::add<(anonymous namespace)::InitializedVALists>(clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedVALists>::key_type) const
Line
Count
Source
827
85
ProgramStateRef ProgramState::add(typename ProgramStateTrait<T>::key_type K) const {
828
85
  return getStateManager().add<T>(this, K, get_context<T>());
829
85
}
ExprEngine.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::add<(anonymous namespace)::InitializedGlobalsSet>(clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedGlobalsSet>::key_type) const
Line
Count
Source
827
189
ProgramStateRef ProgramState::add(typename ProgramStateTrait<T>::key_type K) const {
828
189
  return getStateManager().add<T>(this, K, get_context<T>());
829
189
}
LoopUnrolling.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::add<(anonymous namespace)::LoopStack>(clang::ento::ProgramStateTrait<(anonymous namespace)::LoopStack>::key_type) const
Line
Count
Source
827
188
ProgramStateRef ProgramState::add(typename ProgramStateTrait<T>::key_type K) const {
828
188
  return getStateManager().add<T>(this, K, get_context<T>());
829
188
}
830
831
template <typename T>
832
499k
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
499k
  return getStateManager().get_context<T>();
834
499k
}
BasicObjCFoundationChecks.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerNonEmptyMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::ContainerNonEmptyMap>() const
Line
Count
Source
832
449
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
449
  return getStateManager().get_context<T>();
834
449
}
BasicObjCFoundationChecks.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerCountMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::ContainerCountMap>() const
Line
Count
Source
832
373
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
373
  return getStateManager().get_context<T>();
834
373
}
CStringChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::CStringLength>() const
Line
Count
Source
832
2.19k
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
2.19k
  return getStateManager().get_context<T>();
834
2.19k
}
CheckObjCDealloc.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::UnreleasedIvarMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::UnreleasedIvarMap>() const
Line
Count
Source
832
314
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
314
  return getStateManager().get_context<T>();
834
314
}
clang::ento::ProgramStateTrait<clang::ento::DynamicTypeMap>::context_type clang::ento::ProgramState::get_context<clang::ento::DynamicTypeMap>() const
Line
Count
Source
832
5.33k
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
5.33k
  return getStateManager().get_context<T>();
834
5.33k
}
DynamicTypePropagation.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::MostSpecializedTypeArgsMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::MostSpecializedTypeArgsMap>() const
Line
Count
Source
832
208
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
208
  return getStateManager().get_context<T>();
834
208
}
ExprInspectionChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::MarkedSymbols>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::MarkedSymbols>() const
Line
Count
Source
832
16
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
16
  return getStateManager().get_context<T>();
834
16
}
ExprInspectionChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DenotedSymbols>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::DenotedSymbols>() const
Line
Count
Source
832
328
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
328
  return getStateManager().get_context<T>();
834
328
}
GenericTaintChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::TaintArgsOnPostVisit>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::TaintArgsOnPostVisit>() const
Line
Count
Source
832
97
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
97
  return getStateManager().get_context<T>();
834
97
}
InnerPointerChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RawPtrMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::RawPtrMap>() const
Line
Count
Source
832
86
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
86
  return getStateManager().get_context<T>();
834
86
}
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::IteratorRegionMap>() const
Line
Count
Source
832
3.34k
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
3.34k
  return getStateManager().get_context<T>();
834
3.34k
}
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::IteratorSymbolMap>() const
Line
Count
Source
832
536
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
536
  return getStateManager().get_context<T>();
834
536
}
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::ContainerMap>() const
Line
Count
Source
832
790
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
790
  return getStateManager().get_context<T>();
834
790
}
IteratorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorComparisonMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::IteratorComparisonMap>() const
Line
Count
Source
832
60
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
60
  return getStateManager().get_context<T>();
834
60
}
LocalizationChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::LocalizedMemMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::LocalizedMemMap>() const
Line
Count
Source
832
194
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
194
  return getStateManager().get_context<T>();
834
194
}
MacOSKeychainAPIChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::AllocatedData>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::AllocatedData>() const
Line
Count
Source
832
80
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
80
  return getStateManager().get_context<T>();
834
80
}
MallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::RegionState>() const
Line
Count
Source
832
20.3k
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
20.3k
  return getStateManager().get_context<T>();
834
20.3k
}
MallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocPairs>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::ReallocPairs>() const
Line
Count
Source
832
132
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
132
  return getStateManager().get_context<T>();
834
132
}
MallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::FreeReturnValue>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::FreeReturnValue>() const
Line
Count
Source
832
707
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
707
  return getStateManager().get_context<T>();
834
707
}
MallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocSizeZeroSymbols>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::ReallocSizeZeroSymbols>() const
Line
Count
Source
832
19
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
19
  return getStateManager().get_context<T>();
834
19
}
MisusedMovedObjectChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::TrackedRegionMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::TrackedRegionMap>() const
Line
Count
Source
832
1.19k
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
1.19k
  return getStateManager().get_context<T>();
834
1.19k
}
clang::ento::ProgramStateTrait<clang::ento::mpi::RequestMap>::context_type clang::ento::ProgramState::get_context<clang::ento::mpi::RequestMap>() const
Line
Count
Source
832
153
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
153
  return getStateManager().get_context<T>();
834
153
}
NSErrorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NSErrorOut>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::NSErrorOut>() const
Line
Count
Source
832
3
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
3
  return getStateManager().get_context<T>();
834
3
}
NSErrorChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CFErrorOut>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::CFErrorOut>() const
Line
Count
Source
832
7
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
7
  return getStateManager().get_context<T>();
834
7
}
NullabilityChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NullabilityMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::NullabilityMap>() const
Line
Count
Source
832
122
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
122
  return getStateManager().get_context<T>();
834
122
}
ObjCContainersChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ArraySizeMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::ArraySizeMap>() const
Line
Count
Source
832
210
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
210
  return getStateManager().get_context<T>();
834
210
}
ObjCSelfInitChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::SelfFlag>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::SelfFlag>() const
Line
Count
Source
832
344
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
344
  return getStateManager().get_context<T>();
834
344
}
ObjCSuperDeallocChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CalledSuperDealloc>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::CalledSuperDealloc>() const
Line
Count
Source
832
27
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
27
  return getStateManager().get_context<T>();
834
27
}
PointerArithChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::RegionState>() const
Line
Count
Source
832
5.33k
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
5.33k
  return getStateManager().get_context<T>();
834
5.33k
}
PthreadLockChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::LockMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::LockMap>() const
Line
Count
Source
832
175
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
175
  return getStateManager().get_context<T>();
834
175
}
PthreadLockChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DestroyRetVal>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::DestroyRetVal>() const
Line
Count
Source
832
66
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
66
  return getStateManager().get_context<T>();
834
66
}
PthreadLockChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::LockSet>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::LockSet>() const
Line
Count
Source
832
53
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
53
  return getStateManager().get_context<T>();
834
53
}
RetainCountChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::RefBindings>() const
Line
Count
Source
832
13.6k
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
13.6k
  return getStateManager().get_context<T>();
834
13.6k
}
SimpleStreamChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::StreamMap>() const
Line
Count
Source
832
95
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
95
  return getStateManager().get_context<T>();
834
95
}
StreamChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::StreamMap>() const
Line
Count
Source
832
26
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
26
  return getStateManager().get_context<T>();
834
26
}
TestAfterDivZeroChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DivZeroMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::DivZeroMap>() const
Line
Count
Source
832
114
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
114
  return getStateManager().get_context<T>();
834
114
}
Unexecuted instantiation: TrustNonnullChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NonNullImplicationMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::NonNullImplicationMap>() const
Unexecuted instantiation: TrustNonnullChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::NullImplicationMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::NullImplicationMap>() const
ValistChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedVALists>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::InitializedVALists>() const
Line
Count
Source
832
169
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
169
  return getStateManager().get_context<T>();
834
169
}
VirtualCallChecker.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::CtorDtorMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::CtorDtorMap>() const
Line
Count
Source
832
134
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
134
  return getStateManager().get_context<T>();
834
134
}
clang::ento::ProgramStateTrait<clang::ento::ConstraintRange>::context_type clang::ento::ProgramState::get_context<clang::ento::ConstraintRange>() const
Line
Count
Source
832
420k
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
420k
  return getStateManager().get_context<T>();
834
420k
}
ExprEngine.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::ObjectsUnderConstruction>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::ObjectsUnderConstruction>() const
Line
Count
Source
832
20.4k
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
20.4k
  return getStateManager().get_context<T>();
834
20.4k
}
ExprEngine.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedGlobalsSet>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::InitializedGlobalsSet>() const
Line
Count
Source
832
189
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
189
  return getStateManager().get_context<T>();
834
189
}
ExprEngineCallAndReturn.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::DynamicDispatchBifurcationMap>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::DynamicDispatchBifurcationMap>() const
Line
Count
Source
832
18
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
18
  return getStateManager().get_context<T>();
834
18
}
LoopUnrolling.cpp:clang::ento::ProgramStateTrait<(anonymous namespace)::LoopStack>::context_type clang::ento::ProgramState::get_context<(anonymous namespace)::LoopStack>() const
Line
Count
Source
832
188
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
188
  return getStateManager().get_context<T>();
834
188
}
clang::ento::ProgramStateTrait<clang::ento::TaintMap>::context_type clang::ento::ProgramState::get_context<clang::ento::TaintMap>() const
Line
Count
Source
832
156
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
156
  return getStateManager().get_context<T>();
834
156
}
clang::ento::ProgramStateTrait<clang::ento::DerivedSymTaint>::context_type clang::ento::ProgramState::get_context<clang::ento::DerivedSymTaint>() const
Line
Count
Source
832
6
typename ProgramStateTrait<T>::context_type ProgramState::get_context() const {
833
6
  return getStateManager().get_context<T>();
834
6
}
835
836
template<typename T>
837
23.2k
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
23.2k
  return getStateManager().remove<T>(this, K, get_context<T>());
839
23.2k
}
BasicObjCFoundationChecks.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::ContainerNonEmptyMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerNonEmptyMap>::key_type) const
Line
Count
Source
837
357
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
357
  return getStateManager().remove<T>(this, K, get_context<T>());
839
357
}
BasicObjCFoundationChecks.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::ContainerCountMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerCountMap>::key_type) const
Line
Count
Source
837
349
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
349
  return getStateManager().remove<T>(this, K, get_context<T>());
839
349
}
CStringChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::CStringLength>(clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::key_type) const
Line
Count
Source
837
20
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
20
  return getStateManager().remove<T>(this, K, get_context<T>());
839
20
}
CheckObjCDealloc.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::UnreleasedIvarMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::UnreleasedIvarMap>::key_type) const
Line
Count
Source
837
125
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
125
  return getStateManager().remove<T>(this, K, get_context<T>());
839
125
}
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<clang::ento::DynamicTypeMap>(clang::ento::ProgramStateTrait<clang::ento::DynamicTypeMap>::key_type) const
Line
Count
Source
837
2.09k
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
2.09k
  return getStateManager().remove<T>(this, K, get_context<T>());
839
2.09k
}
DynamicTypePropagation.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::MostSpecializedTypeArgsMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::MostSpecializedTypeArgsMap>::key_type) const
Line
Count
Source
837
102
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
102
  return getStateManager().remove<T>(this, K, get_context<T>());
839
102
}
ExprInspectionChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::MarkedSymbols>(clang::ento::ProgramStateTrait<(anonymous namespace)::MarkedSymbols>::key_type) const
Line
Count
Source
837
5
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
5
  return getStateManager().remove<T>(this, K, get_context<T>());
839
5
}
ExprInspectionChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::DenotedSymbols>(clang::ento::ProgramStateTrait<(anonymous namespace)::DenotedSymbols>::key_type) const
Line
Count
Source
837
164
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
164
  return getStateManager().remove<T>(this, K, get_context<T>());
839
164
}
InnerPointerChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::RawPtrMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::RawPtrMap>::key_type) const
Line
Count
Source
837
41
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
41
  return getStateManager().remove<T>(this, K, get_context<T>());
839
41
}
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::IteratorRegionMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::key_type) const
Line
Count
Source
837
1.19k
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
1.19k
  return getStateManager().remove<T>(this, K, get_context<T>());
839
1.19k
}
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::IteratorSymbolMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::key_type) const
Line
Count
Source
837
152
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
152
  return getStateManager().remove<T>(this, K, get_context<T>());
839
152
}
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::ContainerMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerMap>::key_type) const
Line
Count
Source
837
286
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
286
  return getStateManager().remove<T>(this, K, get_context<T>());
839
286
}
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::IteratorComparisonMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorComparisonMap>::key_type) const
Line
Count
Source
837
38
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
38
  return getStateManager().remove<T>(this, K, get_context<T>());
839
38
}
MacOSKeychainAPIChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::AllocatedData>(clang::ento::ProgramStateTrait<(anonymous namespace)::AllocatedData>::key_type) const
Line
Count
Source
837
53
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
53
  return getStateManager().remove<T>(this, K, get_context<T>());
839
53
}
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::ReallocPairs>(clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocPairs>::key_type) const
Line
Count
Source
837
80
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
80
  return getStateManager().remove<T>(this, K, get_context<T>());
839
80
}
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::FreeReturnValue>(clang::ento::ProgramStateTrait<(anonymous namespace)::FreeReturnValue>::key_type) const
Line
Count
Source
837
686
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
686
  return getStateManager().remove<T>(this, K, get_context<T>());
839
686
}
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::RegionState>(clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::key_type) const
Line
Count
Source
837
1.04k
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
1.04k
  return getStateManager().remove<T>(this, K, get_context<T>());
839
1.04k
}
MisusedMovedObjectChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::TrackedRegionMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::TrackedRegionMap>::key_type) const
Line
Count
Source
837
542
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
542
  return getStateManager().remove<T>(this, K, get_context<T>());
839
542
}
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<clang::ento::mpi::RequestMap>(clang::ento::ProgramStateTrait<clang::ento::mpi::RequestMap>::key_type) const
Line
Count
Source
837
56
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
56
  return getStateManager().remove<T>(this, K, get_context<T>());
839
56
}
NullabilityChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::NullabilityMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::NullabilityMap>::key_type) const
Line
Count
Source
837
74
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
74
  return getStateManager().remove<T>(this, K, get_context<T>());
839
74
}
ObjCContainersChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::ArraySizeMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::ArraySizeMap>::key_type) const
Line
Count
Source
837
191
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
191
  return getStateManager().remove<T>(this, K, get_context<T>());
839
191
}
Unexecuted instantiation: ObjCSelfInitChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::SelfFlag>(clang::ento::ProgramStateTrait<(anonymous namespace)::SelfFlag>::key_type) const
PthreadLockChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::LockMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::LockMap>::key_type) const
Line
Count
Source
837
4
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
4
  return getStateManager().remove<T>(this, K, get_context<T>());
839
4
}
PthreadLockChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::DestroyRetVal>(clang::ento::ProgramStateTrait<(anonymous namespace)::DestroyRetVal>::key_type) const
Line
Count
Source
837
38
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
38
  return getStateManager().remove<T>(this, K, get_context<T>());
839
38
}
RetainCountChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::RefBindings>(clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::key_type) const
Line
Count
Source
837
4.90k
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
4.90k
  return getStateManager().remove<T>(this, K, get_context<T>());
839
4.90k
}
SimpleStreamChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::StreamMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::key_type) const
Line
Count
Source
837
79
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
79
  return getStateManager().remove<T>(this, K, get_context<T>());
839
79
}
Unexecuted instantiation: TrustNonnullChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::NullImplicationMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::NullImplicationMap>::key_type) const
Unexecuted instantiation: TrustNonnullChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::NonNullImplicationMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::NonNullImplicationMap>::key_type) const
ValistChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::InitializedVALists>(clang::ento::ProgramStateTrait<(anonymous namespace)::InitializedVALists>::key_type) const
Line
Count
Source
837
84
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
84
  return getStateManager().remove<T>(this, K, get_context<T>());
839
84
}
VirtualCallChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::CtorDtorMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::CtorDtorMap>::key_type) const
Line
Count
Source
837
68
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
68
  return getStateManager().remove<T>(this, K, get_context<T>());
839
68
}
ExprEngine.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::ObjectsUnderConstruction>(clang::ento::ProgramStateTrait<(anonymous namespace)::ObjectsUnderConstruction>::key_type) const
Line
Count
Source
837
10.3k
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K) const {
838
10.3k
  return getStateManager().remove<T>(this, K, get_context<T>());
839
10.3k
}
840
841
template<typename T>
842
ProgramStateRef ProgramState::remove(typename ProgramStateTrait<T>::key_type K,
843
                               typename ProgramStateTrait<T>::context_type C) const {
844
  return getStateManager().remove<T>(this, K, C);
845
}
846
847
template <typename T>
848
119
ProgramStateRef ProgramState::remove() const {
849
119
  return getStateManager().remove<T>(this);
850
119
}
GenericTaintChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::TaintArgsOnPostVisit>() const
Line
Count
Source
848
61
ProgramStateRef ProgramState::remove() const {
849
61
  return getStateManager().remove<T>(this);
850
61
}
ObjCSelfInitChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::PreCallSelfFlags>() const
Line
Count
Source
848
26
ProgramStateRef ProgramState::remove() const {
849
26
  return getStateManager().remove<T>(this);
850
26
}
ObjCSelfInitChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<(anonymous namespace)::CalledInit>() const
Line
Count
Source
848
4
ProgramStateRef ProgramState::remove() const {
849
4
  return getStateManager().remove<T>(this);
850
4
}
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::remove<clang::ento::ReplayWithoutInlining>() const
Line
Count
Source
848
28
ProgramStateRef ProgramState::remove() const {
849
28
  return getStateManager().remove<T>(this);
850
28
}
851
852
template<typename T>
853
69.0k
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
69.0k
  return getStateManager().set<T>(this, D);
855
69.0k
}
BlockInCriticalSectionChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::MutexCounter>(clang::ento::ProgramStateTrait<(anonymous namespace)::MutexCounter>::data_type) const
Line
Count
Source
853
25
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
25
  return getStateManager().set<T>(this, D);
855
25
}
CStringChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::CStringLength>(clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::data_type) const
Line
Count
Source
853
1.43k
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
1.43k
  return getStateManager().set<T>(this, D);
855
1.43k
}
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::IteratorRegionMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::data_type) const
Line
Count
Source
853
200
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
200
  return getStateManager().set<T>(this, D);
855
200
}
Unexecuted instantiation: IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::IteratorSymbolMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::data_type) const
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::RegionState>(clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::data_type) const
Line
Count
Source
853
16.7k
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
16.7k
  return getStateManager().set<T>(this, D);
855
16.7k
}
NullabilityChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::InvariantViolated>(clang::ento::ProgramStateTrait<(anonymous namespace)::InvariantViolated>::data_type) const
Line
Count
Source
853
94
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
94
  return getStateManager().set<T>(this, D);
855
94
}
ObjCSelfInitChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::CalledInit>(clang::ento::ProgramStateTrait<(anonymous namespace)::CalledInit>::data_type) const
Line
Count
Source
853
85
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
85
  return getStateManager().set<T>(this, D);
855
85
}
ObjCSelfInitChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::PreCallSelfFlags>(clang::ento::ProgramStateTrait<(anonymous namespace)::PreCallSelfFlags>::data_type) const
Line
Count
Source
853
24
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
24
  return getStateManager().set<T>(this, D);
855
24
}
PthreadLockChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::LockSet>(clang::ento::ProgramStateTrait<(anonymous namespace)::LockSet>::data_type) const
Line
Count
Source
853
29
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
29
  return getStateManager().set<T>(this, D);
855
29
}
RetainCountChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::RefBindings>(clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::data_type) const
Line
Count
Source
853
1.08k
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
1.08k
  return getStateManager().set<T>(this, D);
855
1.08k
}
TestAfterDivZeroChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::DivZeroMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::DivZeroMap>::data_type) const
Line
Count
Source
853
46
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
46
  return getStateManager().set<T>(this, D);
855
46
}
VforkChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::VforkResultRegion>(clang::ento::ProgramStateTrait<(anonymous namespace)::VforkResultRegion>::data_type) const
Line
Count
Source
853
14
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
14
  return getStateManager().set<T>(this, D);
855
14
}
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<clang::ento::ReplayWithoutInlining>(clang::ento::ProgramStateTrait<clang::ento::ReplayWithoutInlining>::data_type) const
Line
Count
Source
853
33
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
33
  return getStateManager().set<T>(this, D);
855
33
}
LoopUnrolling.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::LoopStack>(clang::ento::ProgramStateTrait<(anonymous namespace)::LoopStack>::data_type) const
Line
Count
Source
853
165
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
165
  return getStateManager().set<T>(this, D);
855
165
}
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<clang::ento::ConstraintRange>(clang::ento::ProgramStateTrait<clang::ento::ConstraintRange>::data_type) const
Line
Count
Source
853
49.0k
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::data_type D) const {
854
49.0k
  return getStateManager().set<T>(this, D);
855
49.0k
}
856
857
template<typename T>
858
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::key_type K,
859
150k
                            typename ProgramStateTrait<T>::value_type E) const {
860
150k
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
150k
}
BasicObjCFoundationChecks.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::ContainerNonEmptyMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerNonEmptyMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerNonEmptyMap>::value_type) const
Line
Count
Source
859
92
                            typename ProgramStateTrait<T>::value_type E) const {
860
92
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
92
}
BasicObjCFoundationChecks.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::ContainerCountMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerCountMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerCountMap>::value_type) const
Line
Count
Source
859
24
                            typename ProgramStateTrait<T>::value_type E) const {
860
24
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
24
}
CStringChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::CStringLength>(clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::CStringLength>::value_type) const
Line
Count
Source
859
737
                            typename ProgramStateTrait<T>::value_type E) const {
860
737
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
737
}
CheckObjCDealloc.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::UnreleasedIvarMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::UnreleasedIvarMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::UnreleasedIvarMap>::value_type) const
Line
Count
Source
859
189
                            typename ProgramStateTrait<T>::value_type E) const {
860
189
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
189
}
DynamicTypePropagation.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::MostSpecializedTypeArgsMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::MostSpecializedTypeArgsMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::MostSpecializedTypeArgsMap>::value_type) const
Line
Count
Source
859
106
                            typename ProgramStateTrait<T>::value_type E) const {
860
106
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
106
}
ExprInspectionChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::DenotedSymbols>(clang::ento::ProgramStateTrait<(anonymous namespace)::DenotedSymbols>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::DenotedSymbols>::value_type) const
Line
Count
Source
859
164
                            typename ProgramStateTrait<T>::value_type E) const {
860
164
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
164
}
InnerPointerChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::RawPtrMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::RawPtrMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RawPtrMap>::value_type) const
Line
Count
Source
859
45
                            typename ProgramStateTrait<T>::value_type E) const {
860
45
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
45
}
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::ContainerMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ContainerMap>::value_type) const
Line
Count
Source
859
504
                            typename ProgramStateTrait<T>::value_type E) const {
860
504
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
504
}
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::IteratorComparisonMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorComparisonMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorComparisonMap>::value_type) const
Line
Count
Source
859
22
                            typename ProgramStateTrait<T>::value_type E) const {
860
22
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
22
}
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::IteratorRegionMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorRegionMap>::value_type) const
Line
Count
Source
859
1.93k
                            typename ProgramStateTrait<T>::value_type E) const {
860
1.93k
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
1.93k
}
IteratorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::IteratorSymbolMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::IteratorSymbolMap>::value_type) const
Line
Count
Source
859
156
                            typename ProgramStateTrait<T>::value_type E) const {
860
156
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
156
}
LocalizationChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::LocalizedMemMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::LocalizedMemMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::LocalizedMemMap>::value_type) const
Line
Count
Source
859
194
                            typename ProgramStateTrait<T>::value_type E) const {
860
194
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
194
}
MacOSKeychainAPIChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::AllocatedData>(clang::ento::ProgramStateTrait<(anonymous namespace)::AllocatedData>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::AllocatedData>::value_type) const
Line
Count
Source
859
27
                            typename ProgramStateTrait<T>::value_type E) const {
860
27
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
27
}
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::RegionState>(clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::value_type) const
Line
Count
Source
859
2.57k
                            typename ProgramStateTrait<T>::value_type E) const {
860
2.57k
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
2.57k
}
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::ReallocPairs>(clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocPairs>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ReallocPairs>::value_type) const
Line
Count
Source
859
52
                            typename ProgramStateTrait<T>::value_type E) const {
860
52
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
52
}
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::FreeReturnValue>(clang::ento::ProgramStateTrait<(anonymous namespace)::FreeReturnValue>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::FreeReturnValue>::value_type) const
Line
Count
Source
859
21
                            typename ProgramStateTrait<T>::value_type E) const {
860
21
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
21
}
MisusedMovedObjectChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::TrackedRegionMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::TrackedRegionMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::TrackedRegionMap>::value_type) const
Line
Count
Source
859
648
                            typename ProgramStateTrait<T>::value_type E) const {
860
648
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
648
}
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<clang::ento::mpi::RequestMap>(clang::ento::ProgramStateTrait<clang::ento::mpi::RequestMap>::key_type, clang::ento::ProgramStateTrait<clang::ento::mpi::RequestMap>::value_type) const
Line
Count
Source
859
97
                            typename ProgramStateTrait<T>::value_type E) const {
860
97
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
97
}
NSErrorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::NSErrorOut>(clang::ento::ProgramStateTrait<(anonymous namespace)::NSErrorOut>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NSErrorOut>::value_type) const
Line
Count
Source
859
3
                            typename ProgramStateTrait<T>::value_type E) const {
860
3
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
3
}
NSErrorChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::CFErrorOut>(clang::ento::ProgramStateTrait<(anonymous namespace)::CFErrorOut>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::CFErrorOut>::value_type) const
Line
Count
Source
859
7
                            typename ProgramStateTrait<T>::value_type E) const {
860
7
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
7
}
NullabilityChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::NullabilityMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::NullabilityMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NullabilityMap>::value_type) const
Line
Count
Source
859
48
                            typename ProgramStateTrait<T>::value_type E) const {
860
48
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
48
}
ObjCContainersChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::ArraySizeMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::ArraySizeMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ArraySizeMap>::value_type) const
Line
Count
Source
859
19
                            typename ProgramStateTrait<T>::value_type E) const {
860
19
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
19
}
ObjCSelfInitChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::SelfFlag>(clang::ento::ProgramStateTrait<(anonymous namespace)::SelfFlag>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::SelfFlag>::value_type) const
Line
Count
Source
859
344
                            typename ProgramStateTrait<T>::value_type E) const {
860
344
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
344
}
PointerArithChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::RegionState>(clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RegionState>::value_type) const
Line
Count
Source
859
5.33k
                            typename ProgramStateTrait<T>::value_type E) const {
860
5.33k
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
5.33k
}
PthreadLockChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::LockMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::LockMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::LockMap>::value_type) const
Line
Count
Source
859
171
                            typename ProgramStateTrait<T>::value_type E) const {
860
171
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
171
}
PthreadLockChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::DestroyRetVal>(clang::ento::ProgramStateTrait<(anonymous namespace)::DestroyRetVal>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::DestroyRetVal>::value_type) const
Line
Count
Source
859
28
                            typename ProgramStateTrait<T>::value_type E) const {
860
28
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
28
}
RetainCountChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::RefBindings>(clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::RefBindings>::value_type) const
Line
Count
Source
859
3.15k
                            typename ProgramStateTrait<T>::value_type E) const {
860
3.15k
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
3.15k
}
SimpleStreamChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::StreamMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::value_type) const
Line
Count
Source
859
16
                            typename ProgramStateTrait<T>::value_type E) const {
860
16
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
16
}
StreamChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::StreamMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::StreamMap>::value_type) const
Line
Count
Source
859
26
                            typename ProgramStateTrait<T>::value_type E) const {
860
26
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
26
}
Unexecuted instantiation: TrustNonnullChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::NonNullImplicationMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::NonNullImplicationMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NonNullImplicationMap>::value_type) const
Unexecuted instantiation: TrustNonnullChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::NullImplicationMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::NullImplicationMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::NullImplicationMap>::value_type) const
VirtualCallChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::CtorDtorMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::CtorDtorMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::CtorDtorMap>::value_type) const
Line
Count
Source
859
66
                            typename ProgramStateTrait<T>::value_type E) const {
860
66
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
66
}
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<clang::ento::DynamicTypeMap>(clang::ento::ProgramStateTrait<clang::ento::DynamicTypeMap>::key_type, clang::ento::ProgramStateTrait<clang::ento::DynamicTypeMap>::value_type) const
Line
Count
Source
859
3.24k
                            typename ProgramStateTrait<T>::value_type E) const {
860
3.24k
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
3.24k
}
ExprEngine.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::ObjectsUnderConstruction>(clang::ento::ProgramStateTrait<(anonymous namespace)::ObjectsUnderConstruction>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::ObjectsUnderConstruction>::value_type) const
Line
Count
Source
859
10.0k
                            typename ProgramStateTrait<T>::value_type E) const {
860
10.0k
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
10.0k
}
ExprEngineCallAndReturn.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<(anonymous namespace)::DynamicDispatchBifurcationMap>(clang::ento::ProgramStateTrait<(anonymous namespace)::DynamicDispatchBifurcationMap>::key_type, clang::ento::ProgramStateTrait<(anonymous namespace)::DynamicDispatchBifurcationMap>::value_type) const
Line
Count
Source
859
18
                            typename ProgramStateTrait<T>::value_type E) const {
860
18
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
18
}
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<clang::ento::TaintMap>(clang::ento::ProgramStateTrait<clang::ento::TaintMap>::key_type, clang::ento::ProgramStateTrait<clang::ento::TaintMap>::value_type) const
Line
Count
Source
859
156
                            typename ProgramStateTrait<T>::value_type E) const {
860
156
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
156
}
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<clang::ento::DerivedSymTaint>(clang::ento::ProgramStateTrait<clang::ento::DerivedSymTaint>::key_type, clang::ento::ProgramStateTrait<clang::ento::DerivedSymTaint>::value_type) const
Line
Count
Source
859
6
                            typename ProgramStateTrait<T>::value_type E) const {
860
6
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
6
}
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::ProgramState::set<clang::ento::ConstraintRange>(clang::ento::ProgramStateTrait<clang::ento::ConstraintRange>::key_type, clang::ento::ProgramStateTrait<clang::ento::ConstraintRange>::value_type) const
Line
Count
Source
859
120k
                            typename ProgramStateTrait<T>::value_type E) const {
860
120k
  return getStateManager().set<T>(this, K, E, get_context<T>());
861
120k
}
862
863
template<typename T>
864
ProgramStateRef ProgramState::set(typename ProgramStateTrait<T>::key_type K,
865
                            typename ProgramStateTrait<T>::value_type E,
866
                            typename ProgramStateTrait<T>::context_type C) const {
867
  return getStateManager().set<T>(this, K, E, C);
868
}
869
870
template <typename CB>
871
3.76k
CB ProgramState::scanReachableSymbols(SVal val) const {
872
3.76k
  CB cb(this);
873
3.76k
  scanReachableSymbols(val, cb);
874
3.76k
  return cb;
875
3.76k
}
RetainCountChecker.cpp:(anonymous namespace)::StopTrackingCallback clang::ento::ProgramState::scanReachableSymbols<(anonymous namespace)::StopTrackingCallback>(clang::ento::SVal) const
Line
Count
Source
871
261
CB ProgramState::scanReachableSymbols(SVal val) const {
872
261
  CB cb(this);
873
261
  scanReachableSymbols(val, cb);
874
261
  return cb;
875
261
}
ExprEngine.cpp:clang::ento::ExprEngine::escapeValue(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SVal, clang::ento::PointerEscapeKind) const::CollectReachableSymbolsCallback clang::ento::ProgramState::scanReachableSymbols<clang::ento::ExprEngine::escapeValue(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SVal, clang::ento::PointerEscapeKind) const::CollectReachableSymbolsCallback>(clang::ento::SVal) const
Line
Count
Source
871
3.50k
CB ProgramState::scanReachableSymbols(SVal val) const {
872
3.50k
  CB cb(this);
873
3.50k
  scanReachableSymbols(val, cb);
874
3.50k
  return cb;
875
3.50k
}
876
877
template <typename CB>
878
CB ProgramState::scanReachableSymbols(
879
25
    llvm::iterator_range<region_iterator> Reachable) const {
880
25
  CB cb(this);
881
25
  scanReachableSymbols(Reachable, cb);
882
25
  return cb;
883
25
}
MallocChecker.cpp:(anonymous namespace)::StopTrackingCallback clang::ento::ProgramState::scanReachableSymbols<(anonymous namespace)::StopTrackingCallback>(llvm::iterator_range<clang::ento::MemRegion const**>) const
Line
Count
Source
879
5
    llvm::iterator_range<region_iterator> Reachable) const {
880
5
  CB cb(this);
881
5
  scanReachableSymbols(Reachable, cb);
882
5
  return cb;
883
5
}
RetainCountChecker.cpp:(anonymous namespace)::StopTrackingCallback clang::ento::ProgramState::scanReachableSymbols<(anonymous namespace)::StopTrackingCallback>(llvm::iterator_range<clang::ento::MemRegion const**>) const
Line
Count
Source
879
20
    llvm::iterator_range<region_iterator> Reachable) const {
880
20
  CB cb(this);
881
20
  scanReachableSymbols(Reachable, cb);
882
20
  return cb;
883
20
}
884
885
/// \class ScanReachableSymbols
886
/// A utility class that visits the reachable symbols using a custom
887
/// SymbolVisitor. Terminates recursive traversal when the visitor function
888
/// returns false.
889
class ScanReachableSymbols {
890
  typedef llvm::DenseSet<const void*> VisitedItems;
891
892
  VisitedItems visited;
893
  ProgramStateRef state;
894
  SymbolVisitor &visitor;
895
public:
896
  ScanReachableSymbols(ProgramStateRef st, SymbolVisitor &v)
897
263k
      : state(std::move(st)), visitor(v) {}
898
899
  bool scan(nonloc::LazyCompoundVal val);
900
  bool scan(nonloc::CompoundVal val);
901
  bool scan(SVal val);
902
  bool scan(const MemRegion *R);
903
  bool scan(const SymExpr *sym);
904
};
905
906
} // end ento namespace
907
908
} // end clang namespace
909
910
#endif