Lines Matching refs:CastTy
23 virtual SVal dispatchCast(SVal val, QualType castTy);
24 virtual SVal evalCastFromNonLoc(NonLoc val, QualType castTy);
25 virtual SVal evalCastFromLoc(Loc val, QualType castTy);
61 SVal SimpleSValBuilder::dispatchCast(SVal Val, QualType CastTy) {
63 return isa<Loc>(Val) ? evalCastFromLoc(cast<Loc>(Val), CastTy)
64 : evalCastFromNonLoc(cast<NonLoc>(Val), CastTy);
67 SVal SimpleSValBuilder::evalCastFromNonLoc(NonLoc val, QualType castTy) {
69 bool isLocType = Loc::isLocType(castTy);
76 unsigned castSize = Context.getTypeSize(castTy);
86 // HACK: If both castTy and T are integers, ignore the cast. This is
91 if (haveSameType(T, castTy))
95 return makeNonLoc(se, T, castTy);
105 if (!isLocType && !castTy->isIntegerType())
109 i.setIsUnsigned(castTy->isUnsignedIntegerOrEnumerationType() ||
110 Loc::isLocType(castTy));
111 i = i.extOrTrunc(Context.getTypeSize(castTy));
119 SVal SimpleSValBuilder::evalCastFromLoc(Loc val, QualType castTy) {
127 if (Loc::isLocType(castTy) || castTy->isReferenceType())
132 if (castTy->isUnionType())
135 if (castTy->isIntegerType()) {
136 unsigned BitWidth = Context.getTypeSize(castTy);
142 i.setIsUnsigned(castTy->isUnsignedIntegerOrEnumerationType() ||
143 Loc::isLocType(castTy));