Home | History | Annotate | Download | only in Core

Lines Matching refs:CastTy

24   SVal dispatchCast(SVal val, QualType castTy) override;
25 SVal evalCastFromNonLoc(NonLoc val, QualType castTy) override;
26 SVal evalCastFromLoc(Loc val, QualType castTy) override;
62 SVal SimpleSValBuilder::dispatchCast(SVal Val, QualType CastTy) {
64 return Val.getAs<Loc>() ? evalCastFromLoc(Val.castAs<Loc>(), CastTy)
65 : evalCastFromNonLoc(Val.castAs<NonLoc>(), CastTy);
68 SVal SimpleSValBuilder::evalCastFromNonLoc(NonLoc val, QualType castTy) {
70 bool isLocType = Loc::isLocType(castTy);
77 unsigned castSize = Context.getTypeSize(castTy);
87 // HACK: If both castTy and T are integers, ignore the cast. This is
92 if (haveSameType(T, castTy))
96 return makeNonLoc(se, T, castTy);
105 if (castTy->isBooleanType()) {
107 return makeTruthVal(b, castTy);
112 if (!isLocType && !castTy->isIntegralOrEnumerationType())
116 BasicVals.getAPSIntType(castTy).apply(i);
124 SVal SimpleSValBuilder::evalCastFromLoc(Loc val, QualType castTy) {
132 if (Loc::isLocType(castTy) || castTy->isReferenceType())
137 if (castTy->isUnionType())
142 if (castTy->isBooleanType()) {
162 return makeTruthVal(true, castTy);
166 if (castTy->isIntegralOrEnumerationType()) {
167 unsigned BitWidth = Context.getTypeSize(castTy);
173 BasicVals.getAPSIntType(castTy).apply(i);