Lines Matching refs:LSI

84     const clang::sema::LambdaScopeInfo *LSI =  in getStackIndexOfNearestEnclosingCaptureReadyLambda()  local
113 if (LSI->ImpCaptureStyle == sema::LambdaScopeInfo::ImpCap_None) { in getStackIndexOfNearestEnclosingCaptureReadyLambda()
114 if (IsCapturingVariable && !LSI->isCaptured(VarToCapture)) in getStackIndexOfNearestEnclosingCaptureReadyLambda()
116 if (IsCapturingThis && !LSI->isCXXThisCaptured()) in getStackIndexOfNearestEnclosingCaptureReadyLambda()
225 getGenericLambdaTemplateParameterList(LambdaScopeInfo *LSI, Sema &SemaRef) { in getGenericLambdaTemplateParameterList() argument
226 if (LSI->GLTemplateParameterList) in getGenericLambdaTemplateParameterList()
227 return LSI->GLTemplateParameterList; in getGenericLambdaTemplateParameterList()
229 if (LSI->AutoTemplateParams.size()) { in getGenericLambdaTemplateParameterList()
230 SourceRange IntroRange = LSI->IntroducerRange; in getGenericLambdaTemplateParameterList()
233 LSI->GLTemplateParameterList = TemplateParameterList::Create( in getGenericLambdaTemplateParameterList()
236 (NamedDecl **)LSI->AutoTemplateParams.data(), in getGenericLambdaTemplateParameterList()
237 LSI->AutoTemplateParams.size(), RAngleLoc); in getGenericLambdaTemplateParameterList()
239 return LSI->GLTemplateParameterList; in getGenericLambdaTemplateParameterList()
435 void Sema::buildLambdaScope(LambdaScopeInfo *LSI, in buildLambdaScope() argument
443 LSI->CallOperator = CallOperator; in buildLambdaScope()
445 LSI->Lambda = LambdaClass; in buildLambdaScope()
447 LSI->ImpCaptureStyle = LambdaScopeInfo::ImpCap_LambdaByval; in buildLambdaScope()
449 LSI->ImpCaptureStyle = LambdaScopeInfo::ImpCap_LambdaByref; in buildLambdaScope()
450 LSI->CaptureDefaultLoc = CaptureDefaultLoc; in buildLambdaScope()
451 LSI->IntroducerRange = IntroducerRange; in buildLambdaScope()
452 LSI->ExplicitParams = ExplicitParams; in buildLambdaScope()
453 LSI->Mutable = Mutable; in buildLambdaScope()
456 LSI->ReturnType = CallOperator->getReturnType(); in buildLambdaScope()
458 if (!LSI->ReturnType->isDependentType() && in buildLambdaScope()
459 !LSI->ReturnType->isVoidType()) { in buildLambdaScope()
460 if (RequireCompleteType(CallOperator->getLocStart(), LSI->ReturnType, in buildLambdaScope()
466 LSI->HasImplicitReturnType = true; in buildLambdaScope()
470 void Sema::finishLambdaExplicitCaptures(LambdaScopeInfo *LSI) { in finishLambdaExplicitCaptures() argument
471 LSI->finishedExplicitCaptures(); in finishLambdaExplicitCaptures()
824 FieldDecl *Sema::buildInitCaptureField(LambdaScopeInfo *LSI, VarDecl *Var) { in buildInitCaptureField() argument
826 Context, LSI->Lambda, Var->getLocation(), Var->getLocation(), in buildInitCaptureField()
831 LSI->Lambda->addDecl(Field); in buildInitCaptureField()
833 LSI->addCapture(Var, /*isBlock*/false, Var->getType()->isReferenceType(), in buildInitCaptureField()
844 LambdaScopeInfo *const LSI = getCurLambda(); in ActOnStartOfLambdaDefinition() local
845 assert(LSI && "LambdaScopeInfo should be on stack!"); in ActOnStartOfLambdaDefinition()
847 getGenericLambdaTemplateParameterList(LSI, *this); in ActOnStartOfLambdaDefinition()
933 buildLambdaScope(LSI, Method, in ActOnStartOfLambdaDefinition()
969 if (LSI->isCXXThisCaptured()) { in ActOnStartOfLambdaDefinition()
971 << "'this'" << SourceRange(LSI->getCXXThisCapture().getLocation()) in ActOnStartOfLambdaDefinition()
1071 if (Var && LSI->isCaptured(Var)) { in ActOnStartOfLambdaDefinition()
1073 << C->Id << SourceRange(LSI->getCapture(Var).getLocation()) in ActOnStartOfLambdaDefinition()
1119 buildInitCaptureField(LSI, Var); in ActOnStartOfLambdaDefinition()
1126 finishLambdaExplicitCaptures(LSI); in ActOnStartOfLambdaDefinition()
1128 LSI->ContainsUnexpandedParameterPack = ContainsUnexpandedParameterPack; in ActOnStartOfLambdaDefinition()
1140 LambdaScopeInfo *LSI = getCurLambda(); in ActOnLambdaError() local
1151 CXXRecordDecl *Class = LSI->Lambda; in ActOnLambdaError()
1401 LambdaScopeInfo *LSI = getCurLambda(); in ActOnLambdaExpr() local
1402 CallOperator = LSI->CallOperator; in ActOnLambdaExpr()
1403 Class = LSI->Lambda; in ActOnLambdaExpr()
1404 IntroducerRange = LSI->IntroducerRange; in ActOnLambdaExpr()
1405 ExplicitParams = LSI->ExplicitParams; in ActOnLambdaExpr()
1406 ExplicitResultType = !LSI->HasImplicitReturnType; in ActOnLambdaExpr()
1407 LambdaExprNeedsCleanups = LSI->ExprNeedsCleanups; in ActOnLambdaExpr()
1408 ContainsUnexpandedParameterPack = LSI->ContainsUnexpandedParameterPack; in ActOnLambdaExpr()
1409 ArrayIndexVars.swap(LSI->ArrayIndexVars); in ActOnLambdaExpr()
1410 ArrayIndexStarts.swap(LSI->ArrayIndexStarts); in ActOnLambdaExpr()
1413 for (unsigned I = 0, N = LSI->Captures.size(); I != N; ++I) { in ActOnLambdaExpr()
1414 LambdaScopeInfo::Capture From = LSI->Captures[I]; in ActOnLambdaExpr()
1416 bool IsImplicit = I >= LSI->NumExplicitCaptures; in ActOnLambdaExpr()
1441 switch (LSI->ImpCaptureStyle) { in ActOnLambdaExpr()
1459 CaptureDefaultLoc = LSI->CaptureDefaultLoc; in ActOnLambdaExpr()
1470 if (LSI->HasImplicitReturnType && !getLangOpts().CPlusPlus14) { in ActOnLambdaExpr()
1471 deduceClosureReturnType(*LSI); in ActOnLambdaExpr()
1477 if (LSI->ReturnType.isNull()) { in ActOnLambdaExpr()
1478 LSI->ReturnType = Context.VoidTy; in ActOnLambdaExpr()
1485 LSI->ReturnType, Proto->getParamTypes(), Proto->getExtProtoInfo()); in ActOnLambdaExpr()