Lines Matching refs:LSI

88     const clang::sema::LambdaScopeInfo *LSI =  in getStackIndexOfNearestEnclosingCaptureReadyLambda()  local
117 if (LSI->ImpCaptureStyle == sema::LambdaScopeInfo::ImpCap_None) { in getStackIndexOfNearestEnclosingCaptureReadyLambda()
118 if (IsCapturingVariable && !LSI->isCaptured(VarToCapture)) in getStackIndexOfNearestEnclosingCaptureReadyLambda()
120 if (IsCapturingThis && !LSI->isCXXThisCaptured()) in getStackIndexOfNearestEnclosingCaptureReadyLambda()
230 getGenericLambdaTemplateParameterList(LambdaScopeInfo *LSI, Sema &SemaRef) { in getGenericLambdaTemplateParameterList() argument
231 if (!LSI->GLTemplateParameterList && !LSI->TemplateParams.empty()) { in getGenericLambdaTemplateParameterList()
232 LSI->GLTemplateParameterList = TemplateParameterList::Create( in getGenericLambdaTemplateParameterList()
235 /*L angle loc*/ LSI->ExplicitTemplateParamsRange.getBegin(), in getGenericLambdaTemplateParameterList()
236 LSI->TemplateParams, in getGenericLambdaTemplateParameterList()
237 /*R angle loc*/LSI->ExplicitTemplateParamsRange.getEnd(), in getGenericLambdaTemplateParameterList()
238 LSI->RequiresClause.get()); in getGenericLambdaTemplateParameterList()
240 return LSI->GLTemplateParameterList; in getGenericLambdaTemplateParameterList()
491 void Sema::buildLambdaScope(LambdaScopeInfo *LSI, in buildLambdaScope() argument
499 LSI->CallOperator = CallOperator; in buildLambdaScope()
501 LSI->Lambda = LambdaClass; in buildLambdaScope()
503 LSI->ImpCaptureStyle = LambdaScopeInfo::ImpCap_LambdaByval; in buildLambdaScope()
505 LSI->ImpCaptureStyle = LambdaScopeInfo::ImpCap_LambdaByref; in buildLambdaScope()
506 LSI->CaptureDefaultLoc = CaptureDefaultLoc; in buildLambdaScope()
507 LSI->IntroducerRange = IntroducerRange; in buildLambdaScope()
508 LSI->ExplicitParams = ExplicitParams; in buildLambdaScope()
509 LSI->Mutable = Mutable; in buildLambdaScope()
512 LSI->ReturnType = CallOperator->getReturnType(); in buildLambdaScope()
514 if (!LSI->ReturnType->isDependentType() && in buildLambdaScope()
515 !LSI->ReturnType->isVoidType()) { in buildLambdaScope()
516 if (RequireCompleteType(CallOperator->getBeginLoc(), LSI->ReturnType, in buildLambdaScope()
522 LSI->HasImplicitReturnType = true; in buildLambdaScope()
526 void Sema::finishLambdaExplicitCaptures(LambdaScopeInfo *LSI) { in finishLambdaExplicitCaptures() argument
527 LSI->finishedExplicitCaptures(); in finishLambdaExplicitCaptures()
534 LambdaScopeInfo *LSI = getCurLambda(); in ActOnLambdaExplicitTemplateParameterList() local
535 assert(LSI && "Expected a lambda scope"); in ActOnLambdaExplicitTemplateParameterList()
536 assert(LSI->NumExplicitTemplateParams == 0 && in ActOnLambdaExplicitTemplateParameterList()
538 assert(LSI->TemplateParams.empty() && in ActOnLambdaExplicitTemplateParameterList()
543 LSI->TemplateParams.append(TParams.begin(), TParams.end()); in ActOnLambdaExplicitTemplateParameterList()
544 LSI->NumExplicitTemplateParams = TParams.size(); in ActOnLambdaExplicitTemplateParameterList()
545 LSI->ExplicitTemplateParamsRange = {LAngleLoc, RAngleLoc}; in ActOnLambdaExplicitTemplateParameterList()
546 LSI->RequiresClause = RequiresClause; in ActOnLambdaExplicitTemplateParameterList()
892 void Sema::addInitCapture(LambdaScopeInfo *LSI, VarDecl *Var, in addInitCapture() argument
895 LSI->addCapture(Var, /*isBlock*/ false, isReferenceType, in addInitCapture()
903 LambdaScopeInfo *const LSI = getCurLambda(); in ActOnStartOfLambdaDefinition() local
904 assert(LSI && "LambdaScopeInfo should be on stack!"); in ActOnStartOfLambdaDefinition()
910 if (LSI->NumExplicitTemplateParams > 0) { in ActOnStartOfLambdaDefinition()
1045 buildLambdaScope(LSI, Method, Intro.Range, Intro.Default, Intro.DefaultLoc, in ActOnStartOfLambdaDefinition()
1082 if (LSI->isCXXThisCaptured()) { in ActOnStartOfLambdaDefinition()
1084 << "'this'" << SourceRange(LSI->getCXXThisCapture().getLocation()) in ActOnStartOfLambdaDefinition()
1112 if (!LSI->Captures.empty()) in ActOnStartOfLambdaDefinition()
1113 LSI->ExplicitCaptureRanges[LSI->Captures.size() - 1] = C->ExplicitRange; in ActOnStartOfLambdaDefinition()
1212 if (Var && LSI->isCaptured(Var)) { in ActOnStartOfLambdaDefinition()
1214 << C->Id << SourceRange(LSI->getCapture(Var).getLocation()) in ActOnStartOfLambdaDefinition()
1263 addInitCapture(LSI, cast<VarDecl>(Var), C->Kind == LCK_ByRef); in ActOnStartOfLambdaDefinition()
1269 if (!LSI->Captures.empty()) in ActOnStartOfLambdaDefinition()
1270 LSI->ExplicitCaptureRanges[LSI->Captures.size() - 1] = C->ExplicitRange; in ActOnStartOfLambdaDefinition()
1272 finishLambdaExplicitCaptures(LSI); in ActOnStartOfLambdaDefinition()
1274 LSI->ContainsUnexpandedParameterPack |= ContainsUnexpandedParameterPack; in ActOnStartOfLambdaDefinition()
1282 LSI->CallOperator->isConsteval() in ActOnStartOfLambdaDefinition()
1289 LambdaScopeInfo *LSI = cast<LambdaScopeInfo>(FunctionScopes.back()); in ActOnLambdaError() local
1300 CXXRecordDecl *Class = LSI->Lambda; in ActOnLambdaError()
1676 LambdaScopeInfo LSI = *cast<LambdaScopeInfo>(FunctionScopes.back()); in ActOnLambdaExpr() local
1677 ActOnFinishFunctionBody(LSI.CallOperator, Body); in ActOnLambdaExpr()
1678 return BuildLambdaExpr(StartLoc, Body->getEndLoc(), &LSI); in ActOnLambdaExpr()
1791 LambdaScopeInfo *LSI) { in BuildLambdaExpr() argument
1795 SourceLocation CaptureDefaultLoc = LSI->CaptureDefaultLoc; in BuildLambdaExpr()
1797 mapImplicitCaptureStyle(LSI->ImpCaptureStyle); in BuildLambdaExpr()
1807 CallOperator = LSI->CallOperator; in BuildLambdaExpr()
1808 Class = LSI->Lambda; in BuildLambdaExpr()
1809 IntroducerRange = LSI->IntroducerRange; in BuildLambdaExpr()
1810 ExplicitParams = LSI->ExplicitParams; in BuildLambdaExpr()
1811 ExplicitResultType = !LSI->HasImplicitReturnType; in BuildLambdaExpr()
1812 LambdaCleanup = LSI->Cleanup; in BuildLambdaExpr()
1813 ContainsUnexpandedParameterPack = LSI->ContainsUnexpandedParameterPack; in BuildLambdaExpr()
1833 for (unsigned I = 0, N = LSI->Captures.size(); I != N; ++I) { in BuildLambdaExpr()
1834 const Capture &From = LSI->Captures[I]; in BuildLambdaExpr()
1840 bool IsImplicit = I >= LSI->NumExplicitCaptures; in BuildLambdaExpr()
1845 SourceRange CaptureRange = LSI->ExplicitCaptureRanges[I]; in BuildLambdaExpr()
1856 bool IsLast = (I + 1) == LSI->NumExplicitCaptures; in BuildLambdaExpr()
1972 DiagnoseShadowingLambdaDecls(LSI); in BuildLambdaExpr()