Coverage Report

Created: 2018-07-22 10:17

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