/external/clang/lib/StaticAnalyzer/Core/ |
SVals.cpp | 10 // This file defines SVal, Loc, and NonLoc, classes that represent 33 if (Optional<nonloc::SymbolVal> SV = getAs<nonloc::SymbolVal>()) { 71 if (Optional<nonloc::LocAsInteger> X = getAs<nonloc::LocAsInteger>()) 113 if (Optional<nonloc::SymbolVal> X = getAs<nonloc::SymbolVal>()) 122 if (Optional<nonloc::SymbolVal> X = getAs<nonloc::SymbolVal>()) 139 if (Optional<nonloc::LocAsInteger> X = getAs<nonloc::LocAsInteger>() [all...] |
SimpleConstraintManager.cpp | 27 Optional<nonloc::SymbolVal> SymVal = X.getAs<nonloc::SymbolVal>(); 54 // We handle Loc <> Loc comparisons, but not (yet) NonLoc <> NonLoc. 71 // If we have a Loc value, cast it to a bool NonLoc first. 84 return assume(state, Cond.castAs<NonLoc>(), Assumption); 88 NonLoc cond, 115 NonLoc Cond, 128 llvm_unreachable("'Assume' not implemented for this NonLoc"); 130 case nonloc::SymbolValKind: [all...] |
SValBuilder.cpp | 44 NonLoc SValBuilder::makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op, 51 return nonloc::SymbolVal(SymMgr.getSymIntExpr(lhs, op, rhs, type)); 54 NonLoc SValBuilder::makeNonLoc(const llvm::APSInt& lhs, 59 return nonloc::SymbolVal(SymMgr.getIntSymExpr(lhs, op, rhs, type)); 62 NonLoc SValBuilder::makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op, 66 return nonloc::SymbolVal(SymMgr.getSymSymExpr(lhs, op, rhs, type)); 69 NonLoc SValBuilder::makeNonLoc(const SymExpr *operand, 73 return nonloc::SymbolVal(SymMgr.getCastSymbol(operand, fromTy, toTy)); 81 if (Optional<nonloc::ConcreteInt> CI = val.getAs<nonloc::ConcreteInt>()) [all...] |
SimpleSValBuilder.cpp | 25 SVal evalCastFromNonLoc(NonLoc val, QualType castTy) override; 34 SVal evalMinus(NonLoc val) override; 35 SVal evalComplement(NonLoc val) override; 37 NonLoc lhs, NonLoc rhs, QualType resultTy) override; 41 Loc lhs, NonLoc rhs, QualType resultTy) override; 63 assert(Val.getAs<Loc>() || Val.getAs<NonLoc>()); 65 : evalCastFromNonLoc(Val.castAs<NonLoc>(), CastTy); 68 SVal SimpleSValBuilder::evalCastFromNonLoc(NonLoc val, QualType castTy) { 72 if (Optional<nonloc::LocAsInteger> LI = val.getAs<nonloc::LocAsInteger>()) [all...] |
ConstraintManager.cpp | 32 : nonloc::SymbolVal(Sym);
|
RegionStore.cpp | 443 nonloc::LazyCompoundVal LCV); 524 NonLoc createLazyBinding(RegionBindingsConstRef B, const TypedValueRegion *R); 550 const SValListTy &getInterestingValues(nonloc::LazyCompoundVal LCV); 813 if (Optional<nonloc::ConcreteInt> ExtentCI = 814 Extent.getAs<nonloc::ConcreteInt>()) { [all...] |
Store.cpp | 47 NonLoc idx = svalBuilder.makeArrayIndex(index); 57 NonLoc idx = svalBuilder.makeZeroArrayIndex(); 427 SVal StoreManager::getLValueElement(QualType elementType, NonLoc Offset, 443 Offset = svalBuilder.convertToArrayIndex(Offset).castAs<NonLoc>(); 461 if (!BaseIdx.getAs<nonloc::ConcreteInt>()) 465 BaseIdx.castAs<nonloc::ConcreteInt>().getValue(); 470 if (!Offset.getAs<nonloc::ConcreteInt>()) { 479 const llvm::APSInt& OffI = Offset.castAs<nonloc::ConcreteInt>().getValue(); 483 nonloc::ConcreteInt NewIdx(svalBuilder.getBasicValueFactory().getValue(BaseIdxI +
|
ProgramState.cpp | 282 return nonloc::ConcreteInt(NewV); 323 nonloc::ConcreteInt Min(BVF.getMinValue(indexTy)); 327 Idx.castAs<NonLoc>(), Min, indexTy); 333 svalBuilder.evalBinOpNN(this, BO_Add, UpperBound.castAs<NonLoc>(), 340 SVal inBound = svalBuilder.evalBinOpNN(this, BO_LT, newIdx.castAs<NonLoc>(), 341 newBound.castAs<NonLoc>(), Ctx.IntTy); 508 bool ScanReachableSymbols::scan(nonloc::LazyCompoundVal val) { 521 bool ScanReachableSymbols::scan(nonloc::CompoundVal val) { 522 for (nonloc::CompoundVal::iterator I=val.begin(), E=val.end(); I!=E; ++I) 563 if (Optional<nonloc::LazyCompoundVal> X [all...] |
BugReporterVisitors.cpp | 271 if (V.getAs<nonloc::LazyCompoundVal>() || 272 V.getAs<nonloc::CompoundVal>()) 536 V.getAs<loc::ConcreteInt>() || V.getAs<nonloc::ConcreteInt>()) { 598 } else if (Optional<nonloc::ConcreteInt> CVal = 599 V.getAs<nonloc::ConcreteInt>()) { 634 } else if (Optional<nonloc::ConcreteInt> CI = 635 V.getAs<nonloc::ConcreteInt>()) { 675 } else if (Optional<nonloc::ConcreteInt> CV = 676 V.getAs<nonloc::ConcreteInt>()) { [all...] |
MemRegion.cpp | 184 return nonloc::SymbolVal(svalBuilder.getSymbolManager().getExtentSymbol(this)); 213 return nonloc::SymbolVal(svalBuilder.getSymbolManager().getExtentSymbol(this)); 217 return nonloc::SymbolVal(svalBuilder.getSymbolManager().getExtentSymbol(this)); 646 if (auto CI = ER->getIndex().getAs<nonloc::ConcreteInt>()) { 961 MemRegionManager::getElementRegion(QualType elementType, NonLoc Idx, [all...] |
ExprEngineC.cpp | 521 assert(InitVal.getAs<nonloc::LazyCompoundVal>()); [all...] |
ExprEngine.cpp | 191 // mode. Only create a region if the current value is a NonLoc. 192 if (!V.getAs<NonLoc>()) [all...] |
/external/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
SValBuilder.h | 54 virtual SVal evalCastFromNonLoc(NonLoc val, QualType castTy) = 0; 92 virtual SVal evalMinus(NonLoc val) = 0; 94 virtual SVal evalComplement(NonLoc val) = 0; 99 NonLoc lhs, NonLoc rhs, QualType resultTy) = 0; 110 Loc lhs, NonLoc rhs, QualType resultTy) = 0; 118 NonLoc lhs, NonLoc rhs, QualType resultTy); 217 NonLoc makeCompoundVal(QualType type, llvm::ImmutableList<SVal> vals) { 218 return nonloc::CompoundVal(BasicVals.getCompoundValData(type, vals)) [all...] |
SValVisitor.h | 36 // Take namespaces (loc:: and nonloc::) into account. 50 case nonloc::Id ## Kind: DISPATCH(NonLoc ## Id, nonloc :: Id); 53 llvm_unreachable("Unknown NonLoc sub-kind!"); 65 RetTy VisitNonLoc ## Id(nonloc::Id V) { DISPATCH(Parent, Parent); }
|
SVals.h | 10 // This file defines SVal, Loc, and NonLoc, classes that represent 266 class NonLoc : public DefinedSVal { 268 NonLoc() {} 269 explicit NonLoc(unsigned SubKind, const void *d) 304 // Subclasses of NonLoc. 307 namespace nonloc { namespace in namespace:clang::ento 315 class SymbolVal : public NonLoc { 317 SymbolVal(SymbolRef sym) : NonLoc(SymbolValKind, sym) {} 335 static bool isKind(const NonLoc& V) { 341 class ConcreteInt : public NonLoc { [all...] |
MemRegion.h | 1008 NonLoc Index; 1010 ElementRegion(QualType elementType, NonLoc Idx, const MemRegion* sReg) 1013 assert((!Idx.getAs<nonloc::ConcreteInt>() || 1014 Idx.castAs<nonloc::ConcreteInt>().getValue().isSigned()) && 1023 NonLoc getIndex() const { return Index; } [all...] |
ProgramState.h | 669 assert(Val.getAs<NonLoc>() && "Only NonLocs are supported!"); 672 this, Val.castAs<NonLoc>(), From, To, Assumption); 682 assert(Val.getAs<NonLoc>() && "Only NonLocs are supported!"); 685 ->assumeWithinInclusiveRangeDual(this, Val.castAs<NonLoc>(), From, To); 723 if (Optional<NonLoc> N = Idx.getAs<NonLoc>()) 843 bool scan(nonloc::LazyCompoundVal val); 844 bool scan(nonloc::CompoundVal val);
|
/external/clang/include/clang/StaticAnalyzer/Checkers/ |
SValExplainer.h | 74 std::string VisitNonLocSymbolVal(nonloc::SymbolVal V) { 78 std::string VisitNonLocConcreteInt(nonloc::ConcreteInt V) { 87 std::string VisitNonLocLazyCompoundVal(nonloc::LazyCompoundVal V) { 166 if (auto I = R->getIndex().getAs<nonloc::ConcreteInt>())
|
/external/clang/lib/StaticAnalyzer/Checkers/ |
NonNullParamChecker.cpp | 115 if (Optional<nonloc::CompoundVal> CSV = 116 DV->getAs<nonloc::CompoundVal>()) { 117 nonloc::CompoundVal::iterator CSV_I = CSV->begin();
|
CallAndMessageChecker.cpp | 221 if (Optional<nonloc::LazyCompoundVal> LV = 222 V.getAs<nonloc::LazyCompoundVal>()) {
|
StreamChecker.cpp | 265 Optional<nonloc::ConcreteInt> CI = Whence.getAs<nonloc::ConcreteInt>();
|
BasicObjCFoundationChecks.cpp | 448 Optional<nonloc::ConcreteInt> V = TheTypeVal.getAs<nonloc::ConcreteInt>(); [all...] |
MacOSKeychainAPIChecker.cpp | 237 nonloc::SymbolVal(RetSym));
|
MallocChecker.cpp | 718 if (!V.getAs<NonLoc>()) { 724 NonLoc Flags = V.castAs<NonLoc>(); 725 NonLoc ZeroFlag = C.getSValBuilder() 727 .castAs<NonLoc>(); [all...] |
/external/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/ |
MPIChecker.cpp | 167 const llvm::APSInt &ArrSize = Size.getAs<nonloc::ConcreteInt>()->getValue(); 170 const NonLoc Idx = Ctx.getSValBuilder().makeArrayIndex(i);
|