/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...] |
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...] |
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...] |
ConstraintManager.cpp | 32 : nonloc::SymbolVal(Sym);
|
RegionStore.cpp | 441 nonloc::LazyCompoundVal LCV); 522 NonLoc createLazyBinding(RegionBindingsConstRef B, const TypedValueRegion *R); 548 const SValListTy &getInterestingValues(nonloc::LazyCompoundVal LCV); 812 if (Optional<nonloc::ConcreteInt> ExtentCI = 813 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 | 270 if (V.getAs<nonloc::LazyCompoundVal>() || 271 V.getAs<nonloc::CompoundVal>()) 532 V.getAs<loc::ConcreteInt>() || V.getAs<nonloc::ConcreteInt>()) { 594 } else if (Optional<nonloc::ConcreteInt> CVal = 595 V.getAs<nonloc::ConcreteInt>()) { 630 } else if (Optional<nonloc::ConcreteInt> CI = 631 V.getAs<nonloc::ConcreteInt>()) { 671 } else if (Optional<nonloc::ConcreteInt> CV = 672 V.getAs<nonloc::ConcreteInt>()) { [all...] |
MemRegion.cpp | 188 return nonloc::SymbolVal(svalBuilder.getSymbolManager().getExtentSymbol(this)); 217 return nonloc::SymbolVal(svalBuilder.getSymbolManager().getExtentSymbol(this)); 221 return nonloc::SymbolVal(svalBuilder.getSymbolManager().getExtentSymbol(this)); 906 MemRegionManager::getElementRegion(QualType elementType, NonLoc Idx, [all...] |
ExprEngineC.cpp | 510 assert(InitVal.getAs<nonloc::LazyCompoundVal>()); 876 state = state->BindExpr(U, LCtx, evalComplement(V.castAs<NonLoc>())); 880 state = state->BindExpr(U, LCtx, evalMinus(V.castAs<NonLoc>())); [all...] |
ExprEngine.cpp | 190 // mode. Only create a region if the current value is a NonLoc. 191 if (!V.getAs<NonLoc>()) [all...] |
/external/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
SValBuilder.h | 53 virtual SVal evalCastFromNonLoc(NonLoc val, QualType castTy) = 0; 87 virtual SVal evalMinus(NonLoc val) = 0; 89 virtual SVal evalComplement(NonLoc val) = 0; 94 NonLoc lhs, NonLoc rhs, QualType resultTy) = 0; 105 Loc lhs, NonLoc rhs, QualType resultTy) = 0; 113 NonLoc lhs, NonLoc rhs, QualType resultTy); 212 NonLoc makeCompoundVal(QualType type, llvm::ImmutableList<SVal> vals) { 213 return nonloc::CompoundVal(BasicVals.getCompoundValData(type, vals)) [all...] |
SVals.h | 10 // This file defines SVal, Loc, and NonLoc, classes that represent 51 NonLocKind = 3 // for subclass NonLoc (an R-value that's not 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 313 class SymbolVal : public NonLoc { 315 SymbolVal(SymbolRef sym) : NonLoc(SymbolValKind, sym) {} 333 static bool isKind(const NonLoc& V) [all...] |
MemRegion.h | 1012 NonLoc Index; 1014 ElementRegion(QualType elementType, NonLoc Idx, const MemRegion* sReg) 1017 assert((!Idx.getAs<nonloc::ConcreteInt>() || 1018 Idx.castAs<nonloc::ConcreteInt>().getValue().isSigned()) && 1027 NonLoc getIndex() const { return Index; } [all...] |
ProgramState.h | 668 assert(Val.getAs<NonLoc>() && "Only NonLocs are supported!"); 671 this, Val.castAs<NonLoc>(), From, To, Assumption); 681 assert(Val.getAs<NonLoc>() && "Only NonLocs are supported!"); 684 ->assumeWithinInclusiveRangeDual(this, Val.castAs<NonLoc>(), From, To); 722 if (Optional<NonLoc> N = Idx.getAs<NonLoc>()) 843 bool scan(nonloc::LazyCompoundVal val); 844 bool scan(nonloc::CompoundVal val);
|
/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 | 449 Optional<nonloc::ConcreteInt> V = TheTypeVal.getAs<nonloc::ConcreteInt>(); [all...] |
MacOSKeychainAPIChecker.cpp | 241 nonloc::SymbolVal(RetSym));
|
MallocChecker.cpp | 708 if (!V.getAs<NonLoc>()) { 714 NonLoc Flags = V.castAs<NonLoc>(); 715 NonLoc ZeroFlag = C.getSValBuilder() 717 .castAs<NonLoc>(); [all...] |
CStringChecker.cpp | 195 NonLoc left, 196 NonLoc right) const; 378 Optional<NonLoc> Length = LengthVal.getAs<NonLoc>(); 383 NonLoc One = svalBuilder.makeIntVal(1, sizeTy).castAs<NonLoc>(); 384 NonLoc LastOffset = svalBuilder 385 .evalBinOpNN(state, BO_Sub, *Length, One, sizeTy).castAs<NonLoc>(); 493 Optional<NonLoc> Length = LengthVal.getAs<NonLoc>(); [all...] |