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

References

tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
  560     return X.isValid() ? svalBuilder.evalMinus(X.castAs<NonLoc>()) : X;
  564     return X.isValid() ? svalBuilder.evalComplement(X.castAs<NonLoc>()) : X;
  592                                                  R.castAs<NonLoc>(), T) : R;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
 1093             Idx.castAs<nonloc::ConcreteInt>().getValue().isSigned()) &&
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
  664       ->assume(this, Cond.castAs<DefinedSVal>(), Assumption);
  673       ->assumeDual(this, Cond.castAs<DefinedSVal>());
  685       this, Val.castAs<NonLoc>(), From, To, Assumption);
  698       this, Val.castAs<NonLoc>(), From, To);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
  426     return D->first.castAs<Loc>();
  433     return V.castAs<Loc>();
tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
   47   DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
   58   NonLoc getByteOffset() const { return byteOffset.castAs<NonLoc>(); }
  149                                NV->castAs<nonloc::ConcreteInt>(),
  188                                extentVal.castAs<nonloc::ConcreteInt>(),
  195                                               extentVal.castAs<NonLoc>(),
  300   return svalBuilder.evalBinOpNN(state, BO_Add, x.castAs<NonLoc>(),
  301                                  y.castAs<NonLoc>(),
  339                           index.castAs<NonLoc>(),
tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
  908   return State->assume(Val.castAs<DefinedOrUnknownSVal>(), true);
tools/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
   52     state = state->assume(Arg.castAs<DefinedOrUnknownSVal>(), true);
   95       svalBuilder.evalEQ(state, Extent, Size.castAs<DefinedOrUnknownSVal>());
tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
  335   DefinedOrUnknownSVal Size = Extent.castAs<DefinedOrUnknownSVal>();
  338   DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
  408   NonLoc One = svalBuilder.makeIntVal(1, sizeTy).castAs<NonLoc>();
  412   NonLoc LastOffset = Offset.castAs<NonLoc>();
  697       state->assume(willOverflow.castAs<DefinedOrUnknownSVal>());
  784       state = state->assume(evalLength.castAs<DefinedOrUnknownSVal>(), true);
  909   NonLoc One = svalBuilder.makeIntVal(1, sizeTy).castAs<NonLoc>();
  913   NonLoc LastOffset = Offset.castAs<NonLoc>();
  942   DefinedOrUnknownSVal ExtentSize = Extent.castAs<DefinedOrUnknownSVal>();
  945   DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
 1122           State->assume(NewStrLenGESize.castAs<DefinedOrUnknownSVal>(), true),
 1309         state->getSVal(Left, LCtx).castAs<DefinedOrUnknownSVal>();
 1311         state->getSVal(Right, LCtx).castAs<DefinedOrUnknownSVal>();
 1426               .castAs<DefinedOrUnknownSVal>());
 1444       NonLoc resultNL = result.castAs<NonLoc>();
 1449                                   .castAs<DefinedOrUnknownSVal>(), true);
 1455                                   .castAs<DefinedOrUnknownSVal>(), true);
 1461     result = strLength.castAs<DefinedOrUnknownSVal>();
 1606               .castAs<DefinedOrUnknownSVal>());
 1668         NonLoc one = svalBuilder.makeIntVal(1, sizeTy).castAs<NonLoc>();
 1694               copiedLessThanBound.castAs<DefinedOrUnknownSVal>(), true);
 1706               copiedLessThanSrc.castAs<DefinedOrUnknownSVal>(), true);
 1765           state = state->assume(sourceInResult.castAs<DefinedOrUnknownSVal>(),
 1778               state->assume(destInResult.castAs<DefinedOrUnknownSVal>(), true);
 1937   DefinedOrUnknownSVal LV = s1Val.castAs<DefinedOrUnknownSVal>();
 1938   DefinedOrUnknownSVal RV = s2Val.castAs<DefinedOrUnknownSVal>();
 2019         DefinedSVal compareWithZeroVal = compareWithZero.castAs<DefinedSVal>();
 2302       getCStringLength(C, state, Init, StrVal).castAs<DefinedOrUnknownSVal>();
tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
  331   std::tie(StNonNull, StNull) = State->assume(L.castAs<DefinedOrUnknownSVal>());
  386         State->assume(V.castAs<DefinedOrUnknownSVal>());
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
  494   const MemRegion *SelfRegion = SelfVal.castAs<loc::MemRegionVal>().getRegion();
  619   if (DeallocedInstance.castAs<loc::MemRegionVal>().getRegion() !=
  941       M.getState()->assume(Arg.castAs<DefinedOrUnknownSVal>());
tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
  211   DefinedOrUnknownSVal location = l.castAs<DefinedOrUnknownSVal>();
  263   std::tie(StNonNull, StNull) = State->assume(V.castAs<DefinedOrUnknownSVal>());
tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
  120     State->assume(AssertionVal.castAs<DefinedOrUnknownSVal>());
tools/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp
  140     BooleanArgVal = C.getState()->getSVal(BooleanArgVal.castAs<Loc>());
  278       C.getSValBuilder().evalEQ(State, Val1.castAs<DefinedOrUnknownSVal>(),
  279                                 Val2.castAs<DefinedOrUnknownSVal>());
  285       State, ValuesEqual.castAs<DefinedSVal>(), true);
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
 1043   if (isZero(State, Value.castAs<NonLoc>()))
 2052   auto NewState = State->assume(comparison.castAs<DefinedSVal>(), Equal);
 2365   return !State->assume(comparison.castAs<DefinedSVal>(), false);
tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
 1020   NonLoc Flags = V.castAs<NonLoc>();
 1023       .castAs<NonLoc>();
 1029   DefinedSVal MaskedFlags = MaskedFlagsUC.castAs<DefinedSVal>();
 1264       SvalBuilder.makeZeroVal(Arg->getType()).castAs<DefinedSVal>();
 1408         State, BO_Mul, ElementCount.castAs<NonLoc>(),
 1412         State, Extent, SizeInBytes.castAs<DefinedOrUnknownSVal>());
 1529       .castAs<DefinedSVal>();
 1760   DefinedOrUnknownSVal location = ArgVal.castAs<DefinedOrUnknownSVal>();
 2409   DefinedOrUnknownSVal arg0Val = Arg0Val.castAs<DefinedOrUnknownSVal>();
 2428     svalBuilder.evalEQ(State, TotalSize.castAs<DefinedOrUnknownSVal>(),
tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
  228     setFlag<NSErrorOut>(state, state->getSVal(loc.castAs<Loc>()), C);
  233     setFlag<CFErrorOut>(state, state->getSVal(loc.castAs<Loc>()), C);
tools/clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp
   77     SVal V = State->getSVal(location.castAs<Loc>());
tools/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp
   62   std::tie(notNullState, nullState) = state->assume(V.castAs<DefinedSVal>());
tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp
   83       State->set<ArraySizeMap>(ArraySym, SizeV.castAs<DefinedSVal>()));
  136     DefinedSVal Idx = IdxVal.castAs<DefinedSVal>();
tools/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp
  254       unsigned selfFlags = getSelfFlags(state->getSVal(argV.castAs<Loc>()), C);
  285       addSelfFlag(state, state->getSVal(argV.castAs<Loc>()), prevFlags, C);
  311     addSelfFlag(state, state->getSVal(location.castAs<Loc>()), SelfFlag_Self,
  417   loc::MemRegionVal MRV = location.castAs<loc::MemRegionVal>();
tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
  233   DefinedSVal retVal = X.castAs<DefinedSVal>();
tools/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp
   49   DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp
   75     checkReference(C, RetE, RetVal.castAs<DefinedOrUnknownSVal>());
tools/clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp
  113   State = State->assume(ReturnV.castAs<DefinedOrUnknownSVal>(), ExpectedValue);
tools/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
  220       .castAs<DefinedSVal>();
tools/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp
  231       State = InputState->assume(ConsequentS.castAs<DefinedSVal>(), Negated);
tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp
   47   const MemRegion *MR = Loc.castAs<loc::MemRegionVal>().getRegion();
   52   DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
  301         State->getLValue(I, loc::MemRegionVal(R)).castAs<loc::MemRegionVal>();
  358                                  .castAs<loc::MemRegionVal>()
tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
  237   NonLoc oflags = V.castAs<NonLoc>();
  239       .makeIntVal(Val_O_CREAT.getValue(), oflagsEx->getType()).castAs<NonLoc>();
  245   DefinedSVal maskedFlags = maskedFlagsUC.castAs<DefinedSVal>();
  328     state->assume(argVal.castAs<DefinedSVal>());
tools/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
  118   DefinedSVal sizeD = sizeV.castAs<DefinedSVal>();
  158       svalBuilder.evalCast(sizeD, SizeTy, SE->getType()).castAs<NonLoc>();
  166       state, BO_Mul, ArrayLength, EleSizeVal.castAs<NonLoc>(), SizeTy);
  172   DefinedOrUnknownSVal ArraySize = ArraySizeVal.castAs<DefinedOrUnknownSVal>();
tools/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
  178       Reg = C.getState()->getSVal(SV.castAs<Loc>()).getAsRegion();
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
 2011               V.castAs<DefinedSVal>(), false));
tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
  108                                               LHSVal.castAs<Loc>());
  119   std::tie(StTrue, StFalse) = State->assume(Eval.castAs<DefinedSVal>());
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
  426     State = State->bindLoc(BaseReg.castAs<Loc>(), InitVal, LC, false);
  438         State->bindLoc(Reg.castAs<Loc>(), InitValWithAdjustments, LC, false);
  440     State = State->bindLoc(BaseReg.castAs<Loc>(), InitVal, LC, false);
  958   const MemRegion *Region = dest.castAs<loc::MemRegionVal>().getRegion();
 1054   Loc ThisLoc = State->getSVal(ThisStorageLoc).castAs<Loc>();
 2156     DefinedSVal V = X.castAs<DefinedSVal>();
 2350   DefinedOrUnknownSVal CondV = CondV_untested.castAs<DefinedOrUnknownSVal>();
 2495     state = state->assume(V.castAs<DefinedOrUnknownSVal>(), true);
 2794     state = state->bindLoc(location.castAs<Loc>(),
 2869       V = state->getSVal(location.castAs<Loc>(), LoadTy);
tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
 1024           state = state->BindExpr(U, LCtx, evalComplement(V.castAs<NonLoc>()));
 1028           state = state->BindExpr(U, LCtx, evalMinus(V.castAs<NonLoc>()));
 1044             Result = evalBinOp(state, BO_EQ, V.castAs<NonLoc>(), X,
 1095     DefinedSVal V2 = V2_untested.castAs<DefinedSVal>();
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
  720           State = State->assume(RetVal.castAs<DefinedOrUnknownSVal>(), true);
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
  252       ThisV = state->getSVal(ThisV.castAs<Loc>());
  539       assert(cast<VarRegion>(VV.castAs<loc::MemRegionVal>().getRegion())
  621     ThisV = State->getSVal(ThisV.castAs<Loc>());
  650     R = State->getSVal(Target.castAs<Loc>(), E->getType());
tools/clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
  191           recVal.castAs<DefinedOrUnknownSVal>();
tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
  137   const MemRegion *R = loc.castAs<loc::MemRegionVal>().getRegion();
  146   const MemRegion *R = loc.castAs<loc::MemRegionVal>().getRegion();
  338                                         Idx.castAs<NonLoc>(), Min, indexTy);
  344     svalBuilder.evalBinOpNN(this, BO_Add, UpperBound.castAs<NonLoc>(),
  351   SVal inBound = svalBuilder.evalBinOpNN(this, BO_LT, newIdx.castAs<NonLoc>(),
  352                                          newBound.castAs<NonLoc>(), Ctx.IntTy);
  358   return CM.assume(this, inBound.castAs<DefinedSVal>(), Assumption);
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
 1438       cast<SubRegion>(Array.castAs<loc::MemRegionVal>().getRegion());
 1464   const MemRegion *MR = L.castAs<loc::MemRegionVal>().getRegion();
 2171   const MemRegion *R = L.castAs<loc::MemRegionVal>().getRegion();
 2259   const nonloc::CompoundVal& CV = Init.castAs<nonloc::CompoundVal>();
 2308   nonloc::CompoundVal CV = V.castAs<nonloc::CompoundVal>();
 2417   const nonloc::CompoundVal& CV = V.castAs<nonloc::CompoundVal>();
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
  110   return evalCastFromNonLoc(val.castAs<NonLoc>(), ArrayIndexTy);
  421     return evalBinOpLN(state, op, *LV, rhs.castAs<NonLoc>(), type);
  430     return evalBinOpLN(state, op, *RV, lhs.castAs<NonLoc>(), type);
  433   return evalBinOpNN(state, op, lhs.castAs<NonLoc>(), rhs.castAs<NonLoc>(),
  433   return evalBinOpNN(state, op, lhs.castAs<NonLoc>(), rhs.castAs<NonLoc>(),
  450       .castAs<DefinedOrUnknownSVal>();
  507           .castAs<NonLoc>();
  510   NonLoc FromVal = val.castAs<NonLoc>();
  513       evalBinOpNN(state, BO_LE, FromVal, ToTypeMaxVal, CmpTy).castAs<NonLoc>();
  550     Loc L = val.castAs<nonloc::LocAsInteger>().getLoc();
  562     return evalCastFromLoc(val.castAs<Loc>(), castTy);
  588     val = StateMgr.ArrayToPointer(val.castAs<Loc>(), elemTy);
  603     return evalCastFromLoc(val.castAs<Loc>(), castTy);
tools/clang/lib/StaticAnalyzer/Core/SVals.cpp
  302       castAs<NonLoc>().dumpToStream(os);
  305       castAs<Loc>().dumpToStream(os);
  316       const auto &Value = castAs<nonloc::ConcreteInt>().getValue();
  322       os << castAs<nonloc::SymbolVal>().getSymbol();
  326       const nonloc::LocAsInteger& C = castAs<nonloc::LocAsInteger>();
  331       const nonloc::CompoundVal& C = castAs<nonloc::CompoundVal>();
  347       const nonloc::LazyCompoundVal &C = castAs<nonloc::LazyCompoundVal>();
  356           castAs<nonloc::PointerToMember>();
  382       os << castAs<loc::ConcreteInt>().getValue().getZExtValue() << " (Loc)";
  385       os << "&&" << castAs<loc::GotoLabel>().getLabel()->getName();
  388       os << '&' << castAs<loc::MemRegionVal>().getRegion()->getString();
tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
   38     Cond = SVB.evalCast(*LV, SVB.getContext().BoolTy, T).castAs<DefinedSVal>();
   41   return assume(State, Cond.castAs<NonLoc>(), Assumption);
   70     nonloc::SymbolVal SV = Cond.castAs<nonloc::SymbolVal>();
   77     bool b = Cond.castAs<nonloc::ConcreteInt>().getValue() != 0;
   83     bool IsNull = !Cond.castAs<nonloc::PointerToMember>().isNullMemberPointer();
   89     return assume(State, Cond.castAs<nonloc::LocAsInteger>().getLoc(),
  122     const llvm::APSInt &IntVal = Value.castAs<nonloc::ConcreteInt>().getValue();
tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
   70   return Val.getAs<Loc>() ? evalCastFromLoc(Val.castAs<Loc>(), CastTy)
   71                            : evalCastFromNonLoc(Val.castAs<NonLoc>(), CastTy);
  112     bool b = val.castAs<nonloc::ConcreteInt>().getValue().getBoolValue();
  121   llvm::APSInt i = val.castAs<nonloc::ConcreteInt>().getValue();
  151         const MemRegion *R = val.castAs<loc::MemRegionVal>().getRegion();
  180     llvm::APSInt i = val.castAs<loc::ConcreteInt>().getValue();
  198     return val.castAs<nonloc::ConcreteInt>().evalMinus(*this);
  207     return X.castAs<nonloc::ConcreteInt>().evalComplement(*this);
  399         .castAs<NonLoc>();
  541       auto LPTM = lhs.castAs<nonloc::PointerToMember>(),
  542            RPTM = rhs.castAs<nonloc::PointerToMember>();
  554       Loc lhsL = lhs.castAs<nonloc::LocAsInteger>().getLoc();
  562                              rhs.castAs<nonloc::LocAsInteger>().getLoc(),
  573           llvm::APSInt i = rhs.castAs<nonloc::ConcreteInt>().getValue();
  598       llvm::APSInt LHSValue = lhs.castAs<nonloc::ConcreteInt>().getValue();
  661       SymbolRef Sym = lhs.castAs<nonloc::SymbolVal>().getSymbol();
  890       const llvm::APSInt &lVal = lhs.castAs<loc::ConcreteInt>().getValue();
  898           lhs.castAs<loc::ConcreteInt>().evalBinOp(BasicVals, op, *rInt);
  949           NonLoc l = evalCastFromLoc(lhs, boolType).castAs<NonLoc>();
  950           NonLoc r = makeTruthVal(false, boolType).castAs<NonLoc>();
 1170     rhs = convertToArrayIndex(rhs).castAs<NonLoc>();
tools/clang/lib/StaticAnalyzer/Core/Store.cpp
   55     Store = Bind(Store.getStore(), I.first.castAs<Loc>(), I.second);
  436   Loc BaseL = Base.castAs<Loc>();
  441     BaseR = cast<SubRegion>(BaseL.castAs<loc::MemRegionVal>().getRegion());
  490       Base.castAs<loc::MemRegionVal>().getRegionAs<SubRegion>();
  496   Offset = svalBuilder.convertToArrayIndex(Offset).castAs<NonLoc>();
  516       BaseIdx.castAs<nonloc::ConcreteInt>().getValue();
  529   const llvm::APSInt& OffI = Offset.castAs<nonloc::ConcreteInt>().getValue();