Coverage Report

Created: 2018-09-21 05:35

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