Lines Matching refs:castExpr
3097 Expr *castExpr, in addFixitForObjCARCConversion() argument
3128 Expr *castedE = castExpr; in addFixitForObjCARCConversion()
3174 Expr *castedE = castExpr->IgnoreImpCasts(); in addFixitForObjCARCConversion()
3218 Expr *castExpr, Expr *realCast, in diagnoseObjCARCConversion() argument
3222 (castRange.isValid() ? castRange.getBegin() : castExpr->getExprLoc()); in diagnoseObjCARCConversion()
3228 QualType castExprType = castExpr->getType(); in diagnoseObjCARCConversion()
3265 << castExpr->getSourceRange(); in diagnoseObjCARCConversion()
3268 ARCCastChecker(S.Context, exprACTC, castACTC, true).Visit(castExpr); in diagnoseObjCARCConversion()
3277 castType, castExpr, realCast, "__bridge ", in diagnoseObjCARCConversion()
3285 S.Diag(br ? castExpr->getExprLoc() : noteLoc, in diagnoseObjCARCConversion()
3290 castType, castExpr, realCast, "__bridge_transfer ", in diagnoseObjCARCConversion()
3307 << castExpr->getSourceRange(); in diagnoseObjCARCConversion()
3309 ARCCastChecker(S.Context, exprACTC, castACTC, true).Visit(castExpr); in diagnoseObjCARCConversion()
3317 castType, castExpr, realCast, "__bridge ", in diagnoseObjCARCConversion()
3325 S.Diag(br ? castExpr->getExprLoc() : noteLoc, in diagnoseObjCARCConversion()
3330 castType, castExpr, realCast, "__bridge_retained ", in diagnoseObjCARCConversion()
3340 << castRange << castExpr->getSourceRange(); in diagnoseObjCARCConversion()
3344 static bool CheckObjCBridgeNSCast(Sema &S, QualType castType, Expr *castExpr, in CheckObjCBridgeNSCast() argument
3346 QualType T = castExpr->getType(); in CheckObjCBridgeNSCast()
3372 S.Diag(castExpr->getLocStart(), diag::warn_objc_invalid_bridge) in CheckObjCBridgeNSCast()
3384 S.Diag(castExpr->getLocStart(), diag::warn_objc_invalid_bridge) in CheckObjCBridgeNSCast()
3393 S.Diag(castExpr->getLocStart(), diag::err_objc_cf_bridged_not_interface) in CheckObjCBridgeNSCast()
3394 << castExpr->getType() << Parm; in CheckObjCBridgeNSCast()
3409 static bool CheckObjCBridgeCFCast(Sema &S, QualType castType, Expr *castExpr, in CheckObjCBridgeCFCast() argument
3430 castExpr->getType()->getAsObjCInterfacePointerType()) { in CheckObjCBridgeCFCast()
3437 S.Diag(castExpr->getLocStart(), diag::warn_objc_invalid_bridge_to_cf) in CheckObjCBridgeCFCast()
3438 << castExpr->getType()->getPointeeType() << T; in CheckObjCBridgeCFCast()
3442 } else if (castExpr->getType()->isObjCIdType() || in CheckObjCBridgeCFCast()
3444 castExpr->getType(), CastClass))) in CheckObjCBridgeCFCast()
3451 S.Diag(castExpr->getLocStart(), diag::warn_objc_invalid_bridge_to_cf) in CheckObjCBridgeCFCast()
3452 << castExpr->getType() << castType; in CheckObjCBridgeCFCast()
3460 S.Diag(castExpr->getLocStart(), diag::err_objc_ns_bridged_invalid_cfobject) in CheckObjCBridgeCFCast()
3461 << castExpr->getType() << castType; in CheckObjCBridgeCFCast()
3474 void Sema::CheckTollFreeBridgeCast(QualType castType, Expr *castExpr) { in CheckTollFreeBridgeCast() argument
3478 ARCConversionTypeClass exprACTC = classifyTypeForARCConversion(castExpr->getType()); in CheckTollFreeBridgeCast()
3483 CheckObjCBridgeNSCast<ObjCBridgeAttr>(*this, castType, castExpr, HasObjCBridgeAttr, in CheckTollFreeBridgeCast()
3489 CheckObjCBridgeNSCast<ObjCBridgeMutableAttr>(*this, castType, castExpr, in CheckTollFreeBridgeCast()
3495 CheckObjCBridgeNSCast<ObjCBridgeAttr>(*this, castType, castExpr, HasObjCBridgeAttr, in CheckTollFreeBridgeCast()
3498 CheckObjCBridgeNSCast<ObjCBridgeMutableAttr>(*this, castType, castExpr, in CheckTollFreeBridgeCast()
3504 CheckObjCBridgeCFCast<ObjCBridgeAttr>(*this, castType, castExpr, HasObjCBridgeAttr, in CheckTollFreeBridgeCast()
3510 CheckObjCBridgeCFCast<ObjCBridgeMutableAttr>(*this, castType, castExpr, in CheckTollFreeBridgeCast()
3516 CheckObjCBridgeCFCast<ObjCBridgeAttr>(*this, castType, castExpr, HasObjCBridgeAttr, in CheckTollFreeBridgeCast()
3519 CheckObjCBridgeCFCast<ObjCBridgeMutableAttr>(*this, castType, castExpr, in CheckTollFreeBridgeCast()
3524 void Sema::CheckObjCBridgeRelatedCast(QualType castType, Expr *castExpr) { in CheckObjCBridgeRelatedCast() argument
3525 QualType SrcType = castExpr->getType(); in CheckObjCBridgeRelatedCast()
3526 if (ObjCPropertyRefExpr *PRE = dyn_cast<ObjCPropertyRefExpr>(castExpr)) { in CheckObjCBridgeRelatedCast()
3542 CheckObjCBridgeRelatedConversions(castExpr->getLocStart(), in CheckObjCBridgeRelatedCast()
3543 castType, SrcType, castExpr); in CheckObjCBridgeRelatedCast()
3547 bool Sema::CheckTollFreeBridgeStaticCast(QualType castType, Expr *castExpr, in CheckTollFreeBridgeStaticCast() argument
3552 classifyTypeForARCConversion(castExpr->getType()); in CheckTollFreeBridgeStaticCast()
3556 CheckTollFreeBridgeCast(castType, castExpr); in CheckTollFreeBridgeStaticCast()
3718 Expr *&castExpr, CheckedConversionKind CCK, in CheckObjCARCConversion() argument
3721 QualType castExprType = castExpr->getType(); in CheckObjCARCConversion()
3752 : castExpr->getExprLoc()); in CheckObjCARCConversion()
3775 switch (ARCCastChecker(Context, exprACTC, castACTC, false).Visit(castExpr)) { in CheckObjCARCConversion()
3787 castExpr = ImplicitCastExpr::Create(Context, castExpr->getType(), in CheckObjCARCConversion()
3788 CK_ARCConsumeObject, castExpr, in CheckObjCARCConversion()
3805 ConversionToObjCStringLiteralCheck(castType, castExpr)) in CheckObjCARCConversion()
3817 castExpr, castExpr, exprACTC, CCK); in CheckObjCARCConversion()
3848 Expr *castExpr = realCast->getSubExpr(); in diagnoseARCUnbridgedCast() local
3849 assert(classifyTypeForARCConversion(castExpr->getType()) == ACTC_retainable); in diagnoseARCUnbridgedCast()
3852 castExpr, realCast, ACTC_retainable, CCK); in diagnoseARCUnbridgedCast()