Lines Matching defs:CSI
531 void Sema::deduceClosureReturnType(CapturingScopeInfo &CSI) {
532 assert(CSI.HasImplicitReturnType);
534 assert(CSI.ReturnType.isNull() || !CSI.ReturnType->isUndeducedType());
557 if (CSI.Returns.empty()) {
560 if (CSI.ReturnType.isNull())
561 CSI.ReturnType = Ctx.VoidTy;
567 assert(!CSI.ReturnType.isNull() && "We should have a tentative return type.");
568 if (CSI.ReturnType->isDependentType())
573 assert(isa<BlockScopeInfo>(CSI));
574 const EnumDecl *ED = findCommonEnumForBlockReturns(CSI.Returns);
576 CSI.ReturnType = Context.getTypeDeclType(ED);
577 adjustBlockReturnsToEnum(*this, CSI.Returns, CSI.ReturnType);
583 SmallVectorImpl<ReturnStmt*>::iterator I = CSI.Returns.begin(),
584 E = CSI.Returns.end();
599 if (Context.hasSameType(ReturnType, CSI.ReturnType))
606 << ReturnType << CSI.ReturnType
607 << isa<LambdaScopeInfo>(CSI);