reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
  226   std::string VisitSymExpr(SymbolRef S) {
tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
   93   SymbolRef Sym;
   97   StackHintGeneratorForSymbol(SymbolRef S, StringRef M) : Sym(S), Msg(M) {}
  311   llvm::DenseMap<SymbolRef, bugreporter::TrackingKind> InterestingSymbols;
  431   void markInteresting(SymbolRef sym, bugreporter::TrackingKind TKind =
  448   bool isInteresting(SymbolRef sym) const;
  454   getInterestingnessKind(SymbolRef sym) const;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
  156                                         SymbolRef sym) const {
  171   ConditionTruthVal isNull(ProgramStateRef State, SymbolRef Sym) {
  195   virtual ConditionTruthVal checkNull(ProgramStateRef State, SymbolRef Sym);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
  767   const SymbolRef sym;
  769   SymbolicRegion(const SymbolRef s, const MemSpaceRegion *sreg)
  781   SymbolRef getSymbol() const { return sym; }
  790                             SymbolRef sym,
 1314   const SymbolicRegion* getSymbolicRegion(SymbolRef Sym);
 1317   const SymbolicRegion *getSymbolicHeapRegion(SymbolRef sym);
 1449   llvm::DenseMap<SymbolRef, StorageTypeForKinds> SymTraitsMap;
 1454       llvm::DenseMap<SymbolRef, StorageTypeForKinds>::const_iterator;
 1476   void setTrait(SymbolRef Sym, InvalidationKinds IK);
 1478   bool hasTrait(SymbolRef Sym, InvalidationKinds IK) const;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
  129 using ConstraintRangeTy = llvm::ImmutableMap<SymbolRef, RangeSet>;
  149   ProgramStateRef assumeSym(ProgramStateRef State, SymbolRef Sym,
  152   ProgramStateRef assumeSymInclusiveRange(ProgramStateRef State, SymbolRef Sym,
  157   ProgramStateRef assumeSymUnsupported(ProgramStateRef State, SymbolRef Sym,
  162   virtual ProgramStateRef assumeSymRel(ProgramStateRef State, SymbolRef Sym,
  173   virtual ProgramStateRef assumeSymNE(ProgramStateRef State, SymbolRef Sym,
  177   virtual ProgramStateRef assumeSymEQ(ProgramStateRef State, SymbolRef Sym,
  181   virtual ProgramStateRef assumeSymLT(ProgramStateRef State, SymbolRef Sym,
  185   virtual ProgramStateRef assumeSymGT(ProgramStateRef State, SymbolRef Sym,
  189   virtual ProgramStateRef assumeSymLE(ProgramStateRef State, SymbolRef Sym,
  193   virtual ProgramStateRef assumeSymGE(ProgramStateRef State, SymbolRef Sym,
  198       ProgramStateRef State, SymbolRef Sym, const llvm::APSInt &From,
  202       ProgramStateRef State, SymbolRef Sym, const llvm::APSInt &From,
  209   static void computeAdjustment(SymbolRef &Sym, llvm::APSInt &Adjustment);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
   22     std::pair<clang::ento::SymbolRef, const llvm::SMTExpr *>>
   41   ProgramStateRef assumeSym(ProgramStateRef State, SymbolRef Sym,
   61   ProgramStateRef assumeSymInclusiveRange(ProgramStateRef State, SymbolRef Sym,
   70   ProgramStateRef assumeSymUnsupported(ProgramStateRef State, SymbolRef Sym,
   80   ConditionTruthVal checkNull(ProgramStateRef State, SymbolRef Sym) override {
  109                                 SymbolRef Sym) const override {
  156       SymbolRef CastSym = SC->getOperand();
  296   virtual ProgramStateRef assumeExpr(ProgramStateRef State, SymbolRef Sym,
  326   ConditionTruthVal checkModel(ProgramStateRef State, SymbolRef Sym,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
  418                                             ASTContext &Ctx, SymbolRef Sym,
  462                                          ASTContext &Ctx, SymbolRef Sym,
  504   getRangeExpr(llvm::SMTSolverRef &Solver, ASTContext &Ctx, SymbolRef Sym,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
  228       SymbolRef parentSymbol, const TypedValueRegion *region);
  353   Loc makeLoc(SymbolRef sym) {
  372   SVal makeSymbolVal(SymbolRef Sym) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValVisitor.h
   81   RetTy Visit(SymbolRef S) {
   98   RetTy VisitSymExpr(SymbolRef S) { return RetTy(); }
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
  172   SymbolRef getAsLocSymbol(bool IncludeBaseRegions = false) const;
  175   SymbolRef getLocSymbolInBase() const;
  183   SymbolRef getAsSymbol(bool IncludeBaseRegions = false) const;
  352   SymbolVal(SymbolRef sym) : NonLoc(SymbolValKind, sym) {
  357   SymbolRef getSymbol() const {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SimpleConstraintManager.h
   54   virtual ProgramStateRef assumeSym(ProgramStateRef State, SymbolRef Sym,
   62                                                   SymbolRef Sym,
   70                                                SymbolRef Sym,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
   51 using InvalidatedSymbols = llvm::DenseSet<SymbolRef>;
  269     SymbolRef Sym;
  274     FindUniqueBinding(SymbolRef sym) : Sym(sym) {}
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
  111 using SymbolRefSmallVectorTy = SmallVector<SymbolRef, 2>;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
  128   SymbolRef parentSymbol;
  132   SymbolDerived(SymbolID sym, SymbolRef parent, const TypedValueRegion *r)
  139   SymbolRef getParentSymbol() const { return parentSymbol; }
  147   static void Profile(llvm::FoldingSetNodeID& profile, SymbolRef parent,
  462   using SymbolDependTy = llvm::DenseMap<SymbolRef, SymbolRefSmallVectorTy *>;
  499   const SymbolDerived *getDerivedSymbol(SymbolRef parentSymbol,
  539   void addSymbolDependency(const SymbolRef Primary, const SymbolRef Dependent);
  539   void addSymbolDependency(const SymbolRef Primary, const SymbolRef Dependent);
  541   const SymbolRefSmallVectorTy *getDependentSymbols(const SymbolRef Primary);
  554   using SymbolSetTy = llvm::DenseSet<SymbolRef>;
  555   using SymbolMapTy = llvm::DenseMap<SymbolRef, SymbolStatus>;
  583   bool isLive(SymbolRef sym);
  593   void markLive(SymbolRef sym);
  602   void markInUse(SymbolRef sym);
  613   bool isDead(SymbolRef sym) {
  626   void markDependentsLive(SymbolRef sym);
  642   virtual bool VisitSymbol(SymbolRef sym) = 0;
tools/clang/lib/StaticAnalyzer/Checkers/AllocationState.h
   20 ProgramStateRef markReleased(ProgramStateRef State, SymbolRef Sym,
   26 std::unique_ptr<BugReporterVisitor> getInnerPointerBRVisitor(SymbolRef Sym);
   31 const MemRegion *getContainerObjRegion(ProgramStateRef State, SymbolRef Sym);
tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
  915                          SymbolRef CollectionS, bool Assumption) {
  919   const SymbolRef *CountS = State->get<ContainerCountMap>(CollectionS);
  951   SymbolRef CollectionS = C.getSVal(FCS->getCollection()).getAsSymbol();
 1027   SymbolRef ContainerS = M.getReceiverSVal().getAsSymbol();
 1037   SymbolRef CountS = C.getSVal(MsgExpr).getAsSymbol();
 1053 static SymbolRef getMethodReceiverIfKnownImmutable(const CallEvent *Call) {
 1096   SymbolRef ImmutableReceiver = getMethodReceiverIfKnownImmutable(Call);
 1102     SymbolRef Sym = *I;
 1127     SymbolRef Sym = I->first;
tools/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
   44   void reportBlockInCritSection(SymbolRef FileDescSym,
  161     SymbolRef BlockDesc = Call.getReturnValue().getAsSymbol();
  167     SymbolRef BlockDescSym, const CallEvent &Call, CheckerContext &C) const {
tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
 2390     if (SymbolRef Sym = Len.getAsSymbol()) {
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
  133   bool diagnoseExtraRelease(SymbolRef ReleasedValue, const ObjCMethodCall &M,
  136   bool diagnoseMistakenDealloc(SymbolRef DeallocedValue,
  140   SymbolRef getValueReleasedByNillingOut(const ObjCMethodCall &M,
  143   const ObjCIvarRegion *getIvarRegionForIvarSymbol(SymbolRef IvarSym) const;
  144   SymbolRef getInstanceSymbolFromIvarSymbol(SymbolRef IvarSym) const;
  144   SymbolRef getInstanceSymbolFromIvarSymbol(SymbolRef IvarSym) const;
  147   findPropertyOnDeallocatingInstance(SymbolRef IvarSym,
  166   void transitionToReleaseValue(CheckerContext &C, SymbolRef Value) const;
  168                                               SymbolRef InstanceSym,
  169                                               SymbolRef ValueSym) const;
  262   SymbolRef SelfSymbol = SelfVal.getAsSymbol();
  290     SymbolRef Symbol = InitialVal.getAsSymbol();
  310 ObjCDeallocChecker::getIvarRegionForIvarSymbol(SymbolRef IvarSym) const {
  316 SymbolRef
  317 ObjCDeallocChecker::getInstanceSymbolFromIvarSymbol(SymbolRef IvarSym) const {
  335   SymbolRef ReleasedValue = nullptr;
  372   SymbolRef ReleasedValue = Call.getArgSVal(0).getAsSymbol();
  422   SymbolRef NullSymbol = nullptr;
  437   SymbolRef InstanceSymbol = getInstanceSymbolFromIvarSymbol(NullSymbol);
  475     SymbolRef InstanceSymbol = getInstanceSymbolFromIvarSymbol(Sym);
  499   SymbolRef SelfSym = SelfVal.getAsSymbol();
  607     SymbolRef IvarSym, CheckerContext &C) const {
  635 bool ObjCDeallocChecker::diagnoseExtraRelease(SymbolRef ReleasedValue,
  713 bool ObjCDeallocChecker::diagnoseMistakenDealloc(SymbolRef DeallocedValue,
  836                                                   SymbolRef Value) const {
  838   SymbolRef InstanceSym = getInstanceSymbolFromIvarSymbol(Value);
  854     ProgramStateRef State, SymbolRef Instance, SymbolRef Value) const {
  854     ProgramStateRef State, SymbolRef Instance, SymbolRef Value) const {
  924 SymbolRef
tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
   78     GenericsBugVisitor(SymbolRef S) : Sym(S) {}
   92     SymbolRef Sym;
   97                          SymbolRef Sym, CheckerContext &C,
  448 storeWhenMoreInformative(ProgramStateRef &State, SymbolRef Sym,
  551   SymbolRef Sym = C.getSVal(CE).getAsSymbol();
  707   SymbolRef Sym = M.getReceiverSVal().getAsSymbol();
  786     SymbolRef ArgSym = ArgSVal.getAsSymbol();
  818   SymbolRef RetSym = M.getReturnValue().getAsSymbol();
  846   SymbolRef RecSym = M.getReceiverSVal().getAsSymbol();
  901     ExplodedNode *N, SymbolRef Sym, CheckerContext &C,
tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
  252   SymbolRef Sym = Val.getAsSymbol();
  267     SymbolRef Sym = *I;
  278     SymbolRef Sym = I.first;
  322   SymbolRef Sym = C.getSVal(CE->getArg(0)).getAsSymbol();
  397   SymbolRef Sym = C.getSVal(CE->getArg(0)).getAsSymbol();
tools/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
   43     SymbolRef PtrToBuf;
   46     InnerPointerBRVisitor(SymbolRef Sym) : PtrToBuf(Sym) {}
   63     bool isSymbolTracked(ProgramStateRef State, SymbolRef Sym) {
  207       if (SymbolRef Sym = RawPtr.getAsSymbol(/*IncludeBaseRegions=*/true)) {
  263 std::unique_ptr<BugReporterVisitor> getInnerPointerBRVisitor(SymbolRef Sym) {
  267 const MemRegion *getContainerObjRegion(ProgramStateRef State, SymbolRef Sym) {
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
   95   const SymbolRef Offset;
   97   IteratorPosition(const MemRegion *C, bool V, SymbolRef Of)
  103   SymbolRef getOffset() const { return Offset; }
  109   static IteratorPosition getPosition(const MemRegion *C, SymbolRef Of) {
  113   IteratorPosition setTo(SymbolRef NewOf) const {
  139   const SymbolRef Begin, End;
  141   ContainerData(SymbolRef B, SymbolRef E) : Begin(B), End(E) {}
  141   ContainerData(SymbolRef B, SymbolRef E) : Begin(B), End(E) {}
  144   static ContainerData fromBegin(SymbolRef B) {
  148   static ContainerData fromEnd(SymbolRef E) {
  152   SymbolRef getBegin() const { return Begin; }
  153   SymbolRef getEnd() const { return End; }
  155   ContainerData newBegin(SymbolRef B) const { return ContainerData(B, End); }
  157   ContainerData newEnd(SymbolRef E) const { return ContainerData(Begin, E); }
  186                          SymbolRef Sym1, SymbolRef Sym2, const SVal &RetVal,
  186                          SymbolRef Sym1, SymbolRef Sym2, const SVal &RetVal,
  300 SymbolRef getContainerBegin(ProgramStateRef State, const MemRegion *Cont);
  301 SymbolRef getContainerEnd(ProgramStateRef State, const MemRegion *Cont);
  315 ProgramStateRef assumeNoOverflow(ProgramStateRef State, SymbolRef Sym,
  321                                      const MemRegion *Cont, SymbolRef Offset,
  324                                             SymbolRef Offset,
  327                                             SymbolRef Offset1,
  329                                             SymbolRef Offset2,
  337                                                    SymbolRef Offset,
  340     ProgramStateRef State, SValBuilder &SVB, SymbolRef OldSym,
  341     SymbolRef NewSym, SymbolRef CondSym, BinaryOperator::Opcode Opc);
  341     SymbolRef NewSym, SymbolRef CondSym, BinaryOperator::Opcode Opc);
  342 ProgramStateRef relateSymbols(ProgramStateRef State, SymbolRef Sym1,
  343                               SymbolRef Sym2, bool Equal);
  873   SymbolRef Sym;
  895                                         ProgramStateRef State, SymbolRef Sym1,
  896                                         SymbolRef Sym2, const SVal &RetVal,
 1632 bool isLess(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2);
 1632 bool isLess(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2);
 1633 bool isGreater(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2);
 1633 bool isGreater(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2);
 1634 bool isEqual(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2);
 1634 bool isEqual(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2);
 1635 bool compare(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2,
 1635 bool compare(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2,
 1641 SymbolRef rebaseSymbol(ProgramStateRef State, SValBuilder &SVB, SymbolRef Expr,
 1641 SymbolRef rebaseSymbol(ProgramStateRef State, SValBuilder &SVB, SymbolRef Expr,
 1642                         SymbolRef OldSym, SymbolRef NewSym);
 1642                         SymbolRef OldSym, SymbolRef NewSym);
 1926 SymbolRef getContainerBegin(ProgramStateRef State, const MemRegion *Cont) {
 1934 SymbolRef getContainerEnd(ProgramStateRef State, const MemRegion *Cont) {
 2036 ProgramStateRef relateSymbols(ProgramStateRef State, SymbolRef Sym1,
 2037                               SymbolRef Sym2, bool Equal) {
 2103 ProgramStateRef assumeNoOverflow(ProgramStateRef State, SymbolRef Sym,
 2182                                      const MemRegion *Cont, SymbolRef Offset,
 2195                                             SymbolRef Offset,
 2207                                             SymbolRef Offset1,
 2209                                             SymbolRef Offset2,
 2236                                                    SymbolRef Offset,
 2252     ProgramStateRef State, SValBuilder &SVB, SymbolRef OldSym,
 2253     SymbolRef NewSym, SymbolRef CondSym, BinaryOperator::Opcode Opc) {
 2253     SymbolRef NewSym, SymbolRef CondSym, BinaryOperator::Opcode Opc) {
 2267 SymbolRef rebaseSymbol(ProgramStateRef State, SValBuilder &SVB,
 2268                        SymbolRef OrigExpr, SymbolRef OldExpr,
 2268                        SymbolRef OrigExpr, SymbolRef OldExpr,
 2269                        SymbolRef NewSym) {
 2338 bool isLess(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2) {
 2338 bool isLess(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2) {
 2342 bool isGreater(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2) {
 2342 bool isGreater(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2) {
 2346 bool isEqual(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2) {
 2346 bool isEqual(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2) {
 2350 bool compare(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2,
 2350 bool compare(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2,
tools/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
  120   SymbolRef Sym = V.getAsSymbol(IncludeBaseRegions);
tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
   42     SymbolRef Region;
   44     AllocationState(const Expr *E, unsigned int Idx, SymbolRef R) :
   72   typedef std::pair<SymbolRef, const AllocationState*> AllocationPair;
  113   const ExplodedNode *getAllocationNode(const ExplodedNode *N, SymbolRef Sym,
  134     SymbolRef Sym;
  137     SecKeychainBugVisitor(SymbolRef S) : Sym(S) {}
  208 static SymbolRef getAsPointeeSymbol(const Expr *Expr,
  215     SymbolRef sym = SM.getBinding(State->getStore(), *X).getAsLocSymbol();
  270     if (SymbolRef V = getAsPointeeSymbol(ArgExpr, C))
  313   SymbolRef ArgSM = ArgSVal.getAsLocSymbol();
  423   if (SymbolRef V = getAsPointeeSymbol(ArgExpr, C)) {
  436     SymbolRef RetStatusSymbol = C.getSVal(CE).getAsSymbol();
  450                                            SymbolRef Sym,
  521   SymbolRef ReturnSymbol = nullptr;
  591     SymbolRef Sym = I.first;
  612       SymbolRef ParentSym = SD->getParentSymbol();
tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
  203 static bool isReleased(SymbolRef Sym, CheckerContext &C);
  249   SymbolRef ReallocatedSym;
  252   ReallocPair(SymbolRef S, OwnershipAfterReallocKind K)
  585   bool checkUseAfterFree(SymbolRef Sym, CheckerContext &C, const Stmt *S) const;
  589   void checkUseZeroAllocated(SymbolRef Sym, CheckerContext &C,
  593   bool checkDoubleDelete(SymbolRef Sym, CheckerContext &C) const;
  607                                    SymbolRef &EscapingSymbol) const;
  628   Optional<CheckKind> getCheckIfTracked(CheckerContext &C, SymbolRef Sym,
  640                                SymbolRef Sym, bool OwnershipTransferred) const;
  645                           SymbolRef Sym) const;
  647                         SymbolRef Sym, SymbolRef PrevSym) const;
  647                         SymbolRef Sym, SymbolRef PrevSym) const;
  649   void ReportDoubleDelete(CheckerContext &C, SymbolRef Sym) const;
  652                               SymbolRef Sym) const;
  659   static LeakInfo getAllocationSite(const ExplodedNode *N, SymbolRef Sym,
  662   void reportLeak(SymbolRef Sym, ExplodedNode *N, CheckerContext &C) const;
  677   SymbolRef Sym;
  683   SymbolRef FailedReallocSymbol;
  692   MallocBugVisitor(SymbolRef S, bool isLeak = false)
  772     StackHintGeneratorForReallocationFailed(SymbolRef S, StringRef M)
  807   bool VisitSymbol(SymbolRef sym) override {
 1270     SymbolRef Sym = RetVal->getAsLocSymbol();
 1422     if (SymbolRef Sym = C.getSVal(DE->getArgument()).getAsSymbol())
 1569   SymbolRef Sym = RetVal->getAsLocSymbol();
 1617                                 SymbolRef Sym, SymbolRef &RetStatusSymbol) {
 1617                                 SymbolRef Sym, SymbolRef &RetStatusSymbol) {
 1618   const SymbolRef *Ret = State->get<FreeReturnValue>(Sym);
 1821   SymbolRef SymBase = SrBase->getSymbol();
 1823   SymbolRef PreviousRetStatusSymbol = nullptr;
 1884     SymbolRef RetStatusSymbol = RetVal.getAsSymbol();
 1948 MallocChecker::getCheckIfTracked(CheckerContext &C, SymbolRef Sym,
 2122                                             SymbolRef Sym,
 2233                                        SymbolRef Sym) const {
 2271                                      bool Released, SymbolRef Sym,
 2272                                      SymbolRef PrevSym) const {
 2301 void MallocChecker::ReportDoubleDelete(CheckerContext &C, SymbolRef Sym) const {
 2327                                            SymbolRef Sym) const {
 2453   SymbolRef FromPtr = arg0Val.getAsSymbol();
 2455   SymbolRef ToPtr = RetVal.getAsSymbol();
 2513                                                          SymbolRef Sym,
 2554 void MallocChecker::reportLeak(SymbolRef Sym, ExplodedNode *N,
 2625   SmallVector<SymbolRef, 2> Errors;
 2668       for (SmallVectorImpl<SymbolRef>::iterator
 2682     SymbolRef Sym = DC->getCXXThisVal().getAsSymbol();
 2704     SymbolRef Sym = CC->getCXXThisVal().getAsSymbol();
 2713       SymbolRef Sym = ArgSVal.getAsSymbol();
 2747   SymbolRef Sym = RetVal.getAsSymbol();
 2801 static bool isReleased(SymbolRef Sym, CheckerContext &C) {
 2828     if (SymbolRef Sym = C.getSVal(Arg).getAsSymbol())
 2836 bool MallocChecker::checkUseAfterFree(SymbolRef Sym, CheckerContext &C,
 2847 void MallocChecker::checkUseZeroAllocated(SymbolRef Sym, CheckerContext &C,
 2860 bool MallocChecker::checkDoubleDelete(SymbolRef Sym, CheckerContext &C) const {
 2872   SymbolRef Sym = l.getLocSymbolInBase();
 2903     SymbolRef ReallocSym = I.getData().ReallocatedSym;
 2928                                               SymbolRef &EscapingSymbol) const {
 3119   SymbolRef EscapingSymbol = nullptr;
 3130     SymbolRef sym = *I;
 3143 static SymbolRef findFailedReallocSymbol(ProgramStateRef currState,
 3149     SymbolRef sym = Pair.first;
 3306       if (SymbolRef sym = findFailedReallocSymbol(state, statePrev)) {
 3385 markReleased(ProgramStateRef State, SymbolRef Sym, const Expr *Origin) {
tools/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
  265     SymbolRef Sym = SR->getSymbol();
tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
  168 typedef llvm::ImmutableMap<SymbolRef, unsigned> ErrorOutFlag;
  174   if (SymbolRef sym = val.getAsSymbol())
  183   if (SymbolRef sym = val.getAsSymbol())
tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
 1075   if (SymbolRef Sym = ValDefOrUnknown->getAsSymbol())
tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp
   40   inline SymbolRef getArraySym(const Expr *E, CheckerContext &C) const {
   42     SymbolRef ArraySym = ArrayRef.getAsSymbol();
   78   SymbolRef ArraySym = ArrayRef.getAsSymbol();
  122     SymbolRef ArraySym = getArraySym(ArrayExpr, C);
tools/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp
  107   if (SymbolRef sym = val.getAsSymbol())
  120   if (SymbolRef sym = val.getAsSymbol()) {
  331     if (SymbolRef sym = loc.getAsSymbol())
tools/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
   53   void reportUseAfterDealloc(SymbolRef Sym, StringRef Desc, const Stmt *S,
   65   SymbolRef ReceiverSymbol;
   69   SuperDeallocBRVisitor(SymbolRef ReceiverSymbol)
   86   SymbolRef ReceiverSymbol = M.getReceiverSVal().getAsSymbol();
  119   SymbolRef ReceiverSymbol = M.getSelfSVal().getAsSymbol();
  131   SymbolRef BaseSym = L.getLocSymbolInBase();
  174 void ObjCSuperDeallocChecker::reportUseAfterDealloc(SymbolRef Sym,
  204     SymbolRef Sym = CE.getArgSVal(I).getAsSymbol();
tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
   96                                                 const SymbolRef *sym) const;
  159     ProgramStateRef state, const MemRegion *lockR, const SymbolRef *sym) const {
  225   const SymbolRef *sym = state->get<DestroyRetVal>(lockR);
  296   const SymbolRef *sym = state->get<DestroyRetVal>(lockR);
  356   const SymbolRef *sym = State->get<DestroyRetVal>(LockR);
  365       SymbolRef sym = C.getSVal(CE).getAsSymbol();
  417   const SymbolRef *sym = State->get<DestroyRetVal>(LockR);
  472     const SymbolRef Sym = I->second;
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
   28 const RefVal *getRefBinding(ProgramStateRef State, SymbolRef Sym) {
   36 static ProgramStateRef setRefBinding(ProgramStateRef State, SymbolRef Sym,
   42 static ProgramStateRef removeRefBinding(ProgramStateRef State, SymbolRef Sym) {
  135   bool VisitSymbol(SymbolRef sym) override {
  211   SymbolRef Sym = C.getSVal(CE).getAsLocSymbol();
  235     if (SymbolRef sym = V.getAsSymbol())
  249   if (SymbolRef sym =
  276   if (SymbolRef Sym = Pred->getSVal(Ex).getAsSymbol()) {
  292   SymbolRef Sym = State->getSVal(*IVarLoc).getAsSymbol();
  372       if (SymbolRef Sym = ReceiverV.getAsLocSymbol())
  457     if (SymbolRef Sym = V.getAsLocSymbol()) {
  470     if (SymbolRef Sym = MsgInvocation->getReceiverSVal().getAsLocSymbol()) {
  480   if (SymbolRef Sym = CallOrMsg.getReturnValue().getAsSymbol()) {
  561     SymbolRef Pointee = PointeeVal.getAsLocSymbol();
  613   SymbolRef ErrorSym = nullptr;
  623     if (SymbolRef Sym = V.getAsLocSymbol()) {
  645       if (SymbolRef Sym = MsgInvocation->getReceiverSVal().getAsLocSymbol()) {
  659       if (SymbolRef Sym = MCall->getCXXThisVal().getAsLocSymbol()) {
  688   if (SymbolRef Sym = CallOrMsg.getReturnValue().getAsSymbol()) {
  712                                                  SymbolRef sym, RefVal V,
  844                                        SymbolRef Sym) const {
  862                                              SymbolRef Sym,
  985   SymbolRef Sym = state->getSValAsScalarOrLoc(RetE, C.getLocationContext())
 1070                                                   SymbolRef Sym,
 1191   llvm::SmallPtrSet<SymbolRef, 8> WhitelistedSymbols;
 1197   for (SymbolRef sym : *invalidated) {
 1211                                             SymbolRef Sym,
 1286                                       SymbolRef sid, RefVal V,
 1287                                     SmallVectorImpl<SymbolRef> &Leaked) const {
 1314                                  SmallVectorImpl<SymbolRef> &Leaked,
 1322     for (SymbolRef L : Leaked) {
 1349     SymbolRef Sym = state->getSVal(state->getRegion(Param, LCtx)).getAsSymbol();
 1401   SmallVector<SymbolRef, 10> Leaked;
 1414   SmallVector<SymbolRef, 10> Leaked;
 1418     SymbolRef Sym = I.first;
 1448   for (SymbolRef L : Leaked)
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
  328                                 SymbolRef Sym, ProgramStateRef state) const;
  334   ProgramStateRef updateSymbol(ProgramStateRef state, SymbolRef sym,
  339                                         SymbolRef Sym) const;
  342                            RefVal::Kind ErrorKind, SymbolRef Sym,
  348                                     SymbolRef sid, RefVal V,
  349                                     SmallVectorImpl<SymbolRef> &Leaked) const;
  354                           SymbolRef Sym,
  359                              SmallVectorImpl<SymbolRef> &Leaked,
  382 const RefVal *getRefBinding(ProgramStateRef State, SymbolRef Sym);
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
  171                                              SymbolRef &Sym,
  212                                            const RefVal &CurrV, SymbolRef &Sym,
  317   SymbolRef Sym;
  320   RefCountReportVisitor(SymbolRef sym) : Sym(sym) {}
  339   RefLeakReportVisitor(SymbolRef sym) : RefCountReportVisitor(sym) {}
  392     if (SymbolRef SR = Call->getArgSVal(I).getAsLocSymbol()) {
  422 annotateStartParameter(const ExplodedNode *N, SymbolRef Sym,
  632                                         const ExplodedNode *N, SymbolRef Sym) {
  812                                ExplodedNode *n, SymbolRef sym, bool isLeak)
  820                                ExplodedNode *n, SymbolRef sym,
  827 void RefLeakReport::deriveParamLocation(CheckerContext &Ctx, SymbolRef sym) {
  847                                           SymbolRef sym) {
  906                              ExplodedNode *n, SymbolRef sym,
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h
   58   SymbolRef Sym;
   63               ExplodedNode *n, SymbolRef sym,
   67               ExplodedNode *n, SymbolRef sym,
   84   void deriveParamLocation(CheckerContext &Ctx, SymbolRef sym);
   86   void deriveAllocLocation(CheckerContext &Ctx, SymbolRef sym);
   92                 SymbolRef sym, CheckerContext &Ctx);
tools/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
   28 typedef SmallVector<SymbolRef, 2> SymbolVector;
   59   void reportDoubleClose(SymbolRef FileDescSym,
   63   void reportLeaks(ArrayRef<SymbolRef> LeakedStreams, CheckerContext &C,
   98   bool VisitSymbol(SymbolRef sym) override {
  126   SymbolRef FileDesc = Call.getReturnValue().getAsSymbol();
  145   SymbolRef FileDesc = Call.getArgSVal(0).getAsSymbol();
  162 static bool isLeaked(SymbolRef Sym, const StreamState &SS,
  181     SymbolRef Sym = I->first;
  199 void SimpleStreamChecker::reportDoubleClose(SymbolRef FileDescSym,
  216 void SimpleStreamChecker::reportLeaks(ArrayRef<SymbolRef> LeakedStreams,
  221   for (SymbolRef LeakedStream : LeakedStreams) {
  260     SymbolRef Sym = *I;
tools/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
  229   if (SymbolRef Sym = RetVal.getAsSymbol()) {
  359   SymbolRef Sym = C.getSVal(CE->getArg(0)).getAsSymbol();
  395     SymbolRef Sym = I.first;
tools/clang/lib/StaticAnalyzer/Checkers/Taint.cpp
   52   SymbolRef Sym = V.getAsSymbol();
   69       if (SymbolRef Sym = binding->getAsSymbol())
   85 ProgramStateRef taint::addTaint(ProgramStateRef State, SymbolRef Sym,
   98                                        SymbolRef ParentSym,
  154 bool taint::isTainted(ProgramStateRef State, SymbolRef Sym, TaintTagType Kind) {
tools/clang/lib/StaticAnalyzer/Checkers/Taint.h
   41 addTaint(ProgramStateRef State, SymbolRef Sym,
   56                 SymbolRef ParentSym, const SubRegion *SubRegion,
   69 bool isTainted(ProgramStateRef State, SymbolRef Sym,
tools/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp
   32   SymbolRef getPointedToSymbol(CheckerContext &C,
tools/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp
   28   SymbolRef ZeroSymbol;
   33   ZeroState(SymbolRef S, unsigned B, const StackFrameContext *SFC)
   59   SymbolRef ZeroSymbol;
   64   DivisionBRVisitor(SymbolRef ZeroSymbol, const StackFrameContext *SFC)
  145   SymbolRef SR = Var.getAsSymbol();
  157   SymbolRef SR = Var.getAsSymbol();
tools/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp
   68     const SymbolRef CondS = Cond.getAsSymbol();
   73       const SymbolRef Antecedent = *B;
  116       SymbolRef ArgS = Msg.getArgSVal(0).getAsSymbol();
  117       SymbolRef RetS = Msg.getReturnValue().getAsSymbol();
  149     for (const std::pair<SymbolRef, SymbolRef> &P : State->get<MapName>())
  149     for (const std::pair<SymbolRef, SymbolRef> &P : State->get<MapName>())
  213   ProgramStateRef addImplication(SymbolRef Antecedent,
  219     const SymbolRef *Consequent =
tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp
  300     SymbolRef AS = SV.getAsLocSymbol();
  311       SymbolRef AS = PSV.getAsLocSymbol();
  320   SymbolRef RetSym = SV.getAsLocSymbol();
 2204 void PathSensitiveBugReport::markInteresting(SymbolRef sym,
 2265 PathSensitiveBugReport::getInterestingnessKind(SymbolRef sym) const {
 2295 bool PathSensitiveBugReport::isInteresting(SymbolRef sym) const {
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
 2831     const SymbolRef Sym = I.first;
 2865     const SymbolRef &Sym = C.first;
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
  901     if (SymbolRef Sym = MV.getAsSymbol(true))
tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp
   26                                     SymbolRef Sym) {
   33                                                SymbolRef Sym) {
tools/clang/lib/StaticAnalyzer/Core/DynamicType.cpp
   52     SymbolRef Sym = SR->getSymbol();
tools/clang/lib/StaticAnalyzer/Core/Environment.cpp
  149   bool VisitSymbol(SymbolRef sym) override {
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
  720     if (SymbolRef Sym = I.second.getAsSymbol())
 1184     bool VisitSymbol(SymbolRef Sym) override {
tools/clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
   71           SymbolRef Sym = SymMgr.conjureSymbol(elem, LCtx, T,
tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
  323 void SymbolicRegion::ProfileRegion(llvm::FoldingSetNodeID& ID, SymbolRef sym,
 1023 const SymbolicRegion *MemRegionManager::getSymbolicRegion(SymbolRef sym) {
 1027 const SymbolicRegion *MemRegionManager::getSymbolicHeapRegion(SymbolRef Sym) {
 1585 void RegionAndSymbolInvalidationTraits::setTrait(SymbolRef Sym,
 1599 bool RegionAndSymbolInvalidationTraits::hasTrait(SymbolRef Sym,
tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
  271     if (SymbolRef sym = V.getAsSymbol()) {
  379   SymbolRef Sym = V.getAsSymbol(/* IncludeBaseRegion */ true);
  577   if (SymbolRef Sym = val.getAsSymbol())
tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
  257   ConditionTruthVal checkNull(ProgramStateRef State, SymbolRef Sym) override;
  260                                 SymbolRef Sym) const override;
  272   ProgramStateRef assumeSymNE(ProgramStateRef State, SymbolRef Sym,
  276   ProgramStateRef assumeSymEQ(ProgramStateRef State, SymbolRef Sym,
  280   ProgramStateRef assumeSymLT(ProgramStateRef State, SymbolRef Sym,
  284   ProgramStateRef assumeSymGT(ProgramStateRef State, SymbolRef Sym,
  288   ProgramStateRef assumeSymLE(ProgramStateRef State, SymbolRef Sym,
  292   ProgramStateRef assumeSymGE(ProgramStateRef State, SymbolRef Sym,
  297       ProgramStateRef State, SymbolRef Sym, const llvm::APSInt &From,
  301       ProgramStateRef State, SymbolRef Sym, const llvm::APSInt &From,
  307   RangeSet getRange(ProgramStateRef State, SymbolRef Sym);
  309                                          SymbolRef Sym);
  311   RangeSet getSymLTRange(ProgramStateRef St, SymbolRef Sym,
  314   RangeSet getSymGTRange(ProgramStateRef St, SymbolRef Sym,
  317   RangeSet getSymLERange(ProgramStateRef St, SymbolRef Sym,
  323   RangeSet getSymGERange(ProgramStateRef St, SymbolRef Sym,
  383                                                     SymbolRef Sym) {
  407                                                       SymbolRef Sym) const {
  422     SymbolRef Sym = I.getKey();
  436     SymbolRef Sym,
  480                                           SymbolRef Sym) {
  522                                                SymbolRef Sym) {
  527       SymbolRef negSym = SymMgr.getSymSymExpr(SSE->getRHS(), BO_Sub,
  554 RangeConstraintManager::assumeSymNE(ProgramStateRef St, SymbolRef Sym,
  574 RangeConstraintManager::assumeSymEQ(ProgramStateRef St, SymbolRef Sym,
  589                                                SymbolRef Sym,
  617 RangeConstraintManager::assumeSymLT(ProgramStateRef St, SymbolRef Sym,
  625                                                SymbolRef Sym,
  653 RangeConstraintManager::assumeSymGT(ProgramStateRef St, SymbolRef Sym,
  661                                                SymbolRef Sym,
  689 RangeConstraintManager::assumeSymGE(ProgramStateRef St, SymbolRef Sym,
  725                                                SymbolRef Sym,
  732 RangeConstraintManager::assumeSymLE(ProgramStateRef St, SymbolRef Sym,
  740     ProgramStateRef State, SymbolRef Sym, const llvm::APSInt &From,
  750     ProgramStateRef State, SymbolRef Sym, const llvm::APSInt &From,
tools/clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp
   24                                                    SymbolRef Sym,
   57       SymbolRef Subtraction =
   74     ProgramStateRef State, SymbolRef Sym, const llvm::APSInt &From,
   81   SymbolRef AdjustedSym = Sym;
  103                                               SymbolRef Sym, bool Assumption) {
  120                                                       SymbolRef Sym,
  184 void RangedConstraintManager::computeAdjustment(SymbolRef &Sym,
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
 1043   if (SymbolRef Sym = V.getAsSymbol())
 1762             if (SymbolRef parentSym = V->getAsSymbol())
 1827     if (SymbolRef parentSym = val.getAsSymbol())
 1972     if (SymbolRef parentSym = V->getAsSymbol())
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
  127   SymbolRef sym = SymMgr.getRegionValueSymbol(region);
  164   SymbolRef sym = SymMgr.conjureSymbol(expr, LCtx, type, count, symbolTag);
  182   SymbolRef sym = SymMgr.conjureSymbol(stmt, LCtx, type, visitCount);
  200   SymbolRef sym = SymMgr.conjureSymbol(E, LCtx, T, VisitCount);
  211   SymbolRef sym =
  221 SValBuilder::getDerivedRegionValueSymbolVal(SymbolRef parentSymbol,
  231   SymbolRef sym = SymMgr.getDerivedSymbol(parentSymbol, region);
  540     if (SymbolRef Sym = val.getAsSymbol(true)) {
tools/clang/lib/StaticAnalyzer/Core/SVals.cpp
   46     SymbolRef sym = SV->getSymbol();
   54       SymbolRef sym = SR->getSymbol();
   85 SymbolRef SVal::getAsLocSymbol(bool IncludeBaseRegions) const {
  101 SymbolRef SVal::getLocSymbolInBase() const {
  127 SymbolRef SVal::getAsSymbol(bool IncludeBaseRegions) const {
tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
   60     SymbolRef Sym = Cond.getAsSymExpr();
   71     SymbolRef Sym = SV.getSymbol();
  104     SymbolRef Sym = Value.getAsSymExpr();
  116     if (SymbolRef Sym = Value.getAsSymbol())
tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
  313 static bool isInRelation(BinaryOperator::Opcode Rel, SymbolRef Sym,
  330 static bool isWithinConstantOverflowBounds(SymbolRef Sym,
  355 static std::pair<SymbolRef, llvm::APSInt>
  356 decomposeSymbol(SymbolRef Sym, BasicValueFactory &BV) {
  373                                    SymbolRef LSym, llvm::APSInt LInt,
  374                                    SymbolRef RSym, llvm::APSInt RInt) {
  401   SymbolRef ResultSym = nullptr;
  439                             SymbolRef Sym, llvm::APSInt Int, QualType Ty) {
  464   SymbolRef LSym = Lhs.getAsSymbol();
  488   SymbolRef RSym = Rhs.getAsSymbol();
  579           if (SymbolRef lSym = lhs.getAsLocSymbol(true))
  661       SymbolRef Sym = lhs.castAs<nonloc::SymbolVal>().getSymbol();
  884     if (SymbolRef rSym = rhs.getAsLocSymbol()) {
  934       if (SymbolRef lSym = lhs.getAsLocSymbol(true)) {
 1092     SymbolRef LHSSym = lhs.getAsLocSymbol();
 1093     SymbolRef RHSSym = rhs.getAsLocSymbol();
 1222   if (SymbolRef Sym = V.getAsSymbol())
 1242     llvm::DenseMap<SymbolRef, SVal> Cached;
 1244     static bool isUnchanged(SymbolRef Sym, SVal Val) {
 1248     SVal cache(SymbolRef Sym, SVal V) {
 1253     SVal skip(SymbolRef Sym) {
 1292         if (SymbolRef Sym = LHS.getAsSymbol()) {
 1327     SVal VisitSymExpr(SymbolRef S) { return nonloc::SymbolVal(S); }
tools/clang/lib/StaticAnalyzer/Core/Store.cpp
  410     SymbolRef Sym = V.getAsSymbol();
  548   SymbolRef SymV = val.getAsLocSymbol();
tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
  133 SymbolRef SymExpr::symbol_iterator::operator*() {
  203 SymbolManager::getDerivedSymbol(SymbolRef parentSymbol,
  363 void SymbolManager::addSymbolDependency(const SymbolRef Primary,
  364                                         const SymbolRef Dependent) {
  377                                                      const SymbolRef Primary) {
  384 void SymbolReaper::markDependentsLive(SymbolRef sym) {
  401 void SymbolReaper::markLive(SymbolRef sym) {
  422 void SymbolReaper::markInUse(SymbolRef sym) {
  462 bool SymbolReaper::isLive(SymbolRef sym) {