Coverage Report

Created: 2019-07-24 05:18

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