Lines Matching defs:CSI
353 void Sema::deduceClosureReturnType(CapturingScopeInfo &CSI) {
354 assert(CSI.HasImplicitReturnType);
377 if (CSI.Returns.empty()) {
380 if (CSI.ReturnType.isNull())
381 CSI.ReturnType = Ctx.VoidTy;
387 assert(!CSI.ReturnType.isNull() && "We should have a tentative return type.");
388 if (CSI.ReturnType->isDependentType())
393 assert(isa<BlockScopeInfo>(CSI));
394 const EnumDecl *ED = findCommonEnumForBlockReturns(CSI.Returns);
396 CSI.ReturnType = Context.getTypeDeclType(ED);
397 adjustBlockReturnsToEnum(*this, CSI.Returns, CSI.ReturnType);
403 SmallVectorImpl<ReturnStmt*>::iterator I = CSI.Returns.begin(),
404 E = CSI.Returns.end();
419 if (Context.hasSameType(ReturnType, CSI.ReturnType))
426 << ReturnType << CSI.ReturnType
427 << isa<LambdaScopeInfo>(CSI);