Lines Matching refs:LSI

87     const clang::sema::LambdaScopeInfo *LSI =  in getStackIndexOfNearestEnclosingCaptureReadyLambda()  local
116 if (LSI->ImpCaptureStyle == sema::LambdaScopeInfo::ImpCap_None) { in getStackIndexOfNearestEnclosingCaptureReadyLambda()
117 if (IsCapturingVariable && !LSI->isCaptured(VarToCapture)) in getStackIndexOfNearestEnclosingCaptureReadyLambda()
119 if (IsCapturingThis && !LSI->isCXXThisCaptured()) in getStackIndexOfNearestEnclosingCaptureReadyLambda()
228 getGenericLambdaTemplateParameterList(LambdaScopeInfo *LSI, Sema &SemaRef) { in getGenericLambdaTemplateParameterList() argument
229 if (!LSI->GLTemplateParameterList && !LSI->TemplateParams.empty()) { in getGenericLambdaTemplateParameterList()
230 LSI->GLTemplateParameterList = TemplateParameterList::Create( in getGenericLambdaTemplateParameterList()
233 /*L angle loc*/ LSI->ExplicitTemplateParamsRange.getBegin(), in getGenericLambdaTemplateParameterList()
234 LSI->TemplateParams, in getGenericLambdaTemplateParameterList()
235 /*R angle loc*/LSI->ExplicitTemplateParamsRange.getEnd(), in getGenericLambdaTemplateParameterList()
236 LSI->RequiresClause.get()); in getGenericLambdaTemplateParameterList()
238 return LSI->GLTemplateParameterList; in getGenericLambdaTemplateParameterList()
483 void Sema::buildLambdaScope(LambdaScopeInfo *LSI, in buildLambdaScope() argument
491 LSI->CallOperator = CallOperator; in buildLambdaScope()
493 LSI->Lambda = LambdaClass; in buildLambdaScope()
495 LSI->ImpCaptureStyle = LambdaScopeInfo::ImpCap_LambdaByval; in buildLambdaScope()
497 LSI->ImpCaptureStyle = LambdaScopeInfo::ImpCap_LambdaByref; in buildLambdaScope()
498 LSI->CaptureDefaultLoc = CaptureDefaultLoc; in buildLambdaScope()
499 LSI->IntroducerRange = IntroducerRange; in buildLambdaScope()
500 LSI->ExplicitParams = ExplicitParams; in buildLambdaScope()
501 LSI->Mutable = Mutable; in buildLambdaScope()
504 LSI->ReturnType = CallOperator->getReturnType(); in buildLambdaScope()
506 if (!LSI->ReturnType->isDependentType() && in buildLambdaScope()
507 !LSI->ReturnType->isVoidType()) { in buildLambdaScope()
508 if (RequireCompleteType(CallOperator->getBeginLoc(), LSI->ReturnType, in buildLambdaScope()
514 LSI->HasImplicitReturnType = true; in buildLambdaScope()
518 void Sema::finishLambdaExplicitCaptures(LambdaScopeInfo *LSI) { in finishLambdaExplicitCaptures() argument
519 LSI->finishedExplicitCaptures(); in finishLambdaExplicitCaptures()
526 LambdaScopeInfo *LSI = getCurLambda(); in ActOnLambdaExplicitTemplateParameterList() local
527 assert(LSI && "Expected a lambda scope"); in ActOnLambdaExplicitTemplateParameterList()
528 assert(LSI->NumExplicitTemplateParams == 0 && in ActOnLambdaExplicitTemplateParameterList()
530 assert(LSI->TemplateParams.empty() && in ActOnLambdaExplicitTemplateParameterList()
535 LSI->TemplateParams.append(TParams.begin(), TParams.end()); in ActOnLambdaExplicitTemplateParameterList()
536 LSI->NumExplicitTemplateParams = TParams.size(); in ActOnLambdaExplicitTemplateParameterList()
537 LSI->ExplicitTemplateParamsRange = {LAngleLoc, RAngleLoc}; in ActOnLambdaExplicitTemplateParameterList()
538 LSI->RequiresClause = RequiresClause; in ActOnLambdaExplicitTemplateParameterList()
884 void Sema::addInitCapture(LambdaScopeInfo *LSI, VarDecl *Var) { in addInitCapture() argument
886 LSI->addCapture(Var, /*isBlock*/false, Var->getType()->isReferenceType(), in addInitCapture()
894 LambdaScopeInfo *const LSI = getCurLambda(); in ActOnStartOfLambdaDefinition() local
895 assert(LSI && "LambdaScopeInfo should be on stack!"); in ActOnStartOfLambdaDefinition()
901 if (LSI->NumExplicitTemplateParams > 0) { in ActOnStartOfLambdaDefinition()
1014 buildLambdaScope(LSI, Method, Intro.Range, Intro.Default, Intro.DefaultLoc, in ActOnStartOfLambdaDefinition()
1051 if (LSI->isCXXThisCaptured()) { in ActOnStartOfLambdaDefinition()
1053 << "'this'" << SourceRange(LSI->getCXXThisCapture().getLocation()) in ActOnStartOfLambdaDefinition()
1081 if (!LSI->Captures.empty()) in ActOnStartOfLambdaDefinition()
1082 LSI->ExplicitCaptureRanges[LSI->Captures.size() - 1] = C->ExplicitRange; in ActOnStartOfLambdaDefinition()
1178 if (Var && LSI->isCaptured(Var)) { in ActOnStartOfLambdaDefinition()
1180 << C->Id << SourceRange(LSI->getCapture(Var).getLocation()) in ActOnStartOfLambdaDefinition()
1227 addInitCapture(LSI, Var); in ActOnStartOfLambdaDefinition()
1233 if (!LSI->Captures.empty()) in ActOnStartOfLambdaDefinition()
1234 LSI->ExplicitCaptureRanges[LSI->Captures.size() - 1] = C->ExplicitRange; in ActOnStartOfLambdaDefinition()
1236 finishLambdaExplicitCaptures(LSI); in ActOnStartOfLambdaDefinition()
1238 LSI->ContainsUnexpandedParameterPack |= ContainsUnexpandedParameterPack; in ActOnStartOfLambdaDefinition()
1246 LSI->CallOperator->isConsteval() in ActOnStartOfLambdaDefinition()
1253 LambdaScopeInfo *LSI = cast<LambdaScopeInfo>(FunctionScopes.back()); in ActOnLambdaError() local
1264 CXXRecordDecl *Class = LSI->Lambda; in ActOnLambdaError()
1634 LambdaScopeInfo LSI = *cast<LambdaScopeInfo>(FunctionScopes.back()); in ActOnLambdaExpr() local
1635 ActOnFinishFunctionBody(LSI.CallOperator, Body); in ActOnLambdaExpr()
1636 return BuildLambdaExpr(StartLoc, Body->getEndLoc(), &LSI); in ActOnLambdaExpr()
1749 LambdaScopeInfo *LSI) { in BuildLambdaExpr() argument
1753 SourceLocation CaptureDefaultLoc = LSI->CaptureDefaultLoc; in BuildLambdaExpr()
1755 mapImplicitCaptureStyle(LSI->ImpCaptureStyle); in BuildLambdaExpr()
1765 CallOperator = LSI->CallOperator; in BuildLambdaExpr()
1766 Class = LSI->Lambda; in BuildLambdaExpr()
1767 IntroducerRange = LSI->IntroducerRange; in BuildLambdaExpr()
1768 ExplicitParams = LSI->ExplicitParams; in BuildLambdaExpr()
1769 ExplicitResultType = !LSI->HasImplicitReturnType; in BuildLambdaExpr()
1770 LambdaCleanup = LSI->Cleanup; in BuildLambdaExpr()
1771 ContainsUnexpandedParameterPack = LSI->ContainsUnexpandedParameterPack; in BuildLambdaExpr()
1791 for (unsigned I = 0, N = LSI->Captures.size(); I != N; ++I) { in BuildLambdaExpr()
1792 const Capture &From = LSI->Captures[I]; in BuildLambdaExpr()
1798 bool IsImplicit = I >= LSI->NumExplicitCaptures; in BuildLambdaExpr()
1803 SourceRange CaptureRange = LSI->ExplicitCaptureRanges[I]; in BuildLambdaExpr()
1814 bool IsLast = (I + 1) == LSI->NumExplicitCaptures; in BuildLambdaExpr()
1930 DiagnoseShadowingLambdaDecls(LSI); in BuildLambdaExpr()