reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
526 castTy = Context.getCanonicalType(castTy); 526 castTy = Context.getCanonicalType(castTy); 528 if (val.isUnknownOrUndef() || castTy == originalTy) 531 if (castTy->isBooleanType()) { 535 return makeTruthVal(!val.isZeroConstant(), castTy); 544 return makeNonLoc(Sym, BO_NE, BVF.getValue(0, Sym->getType()), castTy); 548 return evalCastFromLoc(*L, castTy); 551 return evalCastFromLoc(L, castTy); 555 if (!castTy->isVariableArrayType() && !originalTy->isVariableArrayType()) 556 if (shouldBeModeledWithNoOp(Context, Context.getPointerType(castTy), 561 if (castTy->isIntegralOrEnumerationType() && Loc::isLocType(originalTy)) 562 return evalCastFromLoc(val.castAs<Loc>(), castTy); 565 if (Loc::isLocType(castTy) && originalTy->isIntegralOrEnumerationType()) { 569 R = storeMgr.castRegion(R, castTy); 574 return dispatchCast(val, castTy); 579 assert(Loc::isLocType(castTy)); 592 if (castTy->isPointerType() || castTy->isReferenceType()) 592 if (castTy->isPointerType() || castTy->isReferenceType()) 597 assert(castTy->isIntegralOrEnumerationType()); 603 return evalCastFromLoc(val.castAs<Loc>(), castTy); 609 if (castTy->isIntegralOrEnumerationType()) 610 return evalCastFromLoc(loc::MemRegionVal(R), castTy); 614 if (!Loc::isLocType(castTy)) { 642 originalTy->isBlockPointerType() || castTy->isReferenceType()); 649 R = storeMgr.castRegion(R, castTy); 653 return dispatchCast(val, castTy);