reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
6358 if (!E) 6361 assert(!isa<CXXBindTemporaryExpr>(E) && "Double-bound temporary?"); 6364 if (!E->isRValue()) 6365 return E; 6370 E->getType()->isObjCRetainableType()) { 6376 if (CallExpr *Call = dyn_cast<CallExpr>(E)) { 6401 } else if (isa<StmtExpr>(E)) { 6406 } else if (isa<CastExpr>(E) && 6407 isa<BlockExpr>(cast<CastExpr>(E)->getSubExpr())) { 6408 return E; 6415 if (ObjCMessageExpr *Send = dyn_cast<ObjCMessageExpr>(E)) { 6417 } else if (ObjCBoxedExpr *BoxedExpr = dyn_cast<ObjCBoxedExpr>(E)) { 6419 } else if (ObjCArrayLiteral *ArrayLit = dyn_cast<ObjCArrayLiteral>(E)) { 6424 return E; 6428 = dyn_cast<ObjCDictionaryLiteral>(E)) { 6433 return E; 6445 return E; 6449 if (!ReturnsRetained && E->getType()->isObjCARCImplicitlyUnretainedType()) 6450 return E; 6456 return ImplicitCastExpr::Create(Context, E->getType(), ck, E, nullptr, 6456 return ImplicitCastExpr::Create(Context, E->getType(), ck, E, nullptr, 6461 return E; 6465 const Type *T = Context.getCanonicalType(E->getType().getTypePtr()); 6479 return E; 6487 return E; 6494 MarkFunctionReferenced(E->getExprLoc(), Destructor); 6495 CheckDestructorAccess(E->getExprLoc(), Destructor, 6497 << E->getType()); 6498 if (DiagnoseUseOfDecl(Destructor, E->getExprLoc())) 6503 return E; 6510 CXXBindTemporaryExpr *Bind = CXXBindTemporaryExpr::Create(Context, Temp, E);