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.empty()) { in getGenericLambdaTemplateParameterList()
230 SourceRange IntroRange = LSI->IntroducerRange; in getGenericLambdaTemplateParameterList()
233 LSI->GLTemplateParameterList = TemplateParameterList::Create( in getGenericLambdaTemplateParameterList()
236 llvm::makeArrayRef((NamedDecl *const *)LSI->AutoTemplateParams.data(), in getGenericLambdaTemplateParameterList()
237 LSI->AutoTemplateParams.size()), in getGenericLambdaTemplateParameterList()
240 return LSI->GLTemplateParameterList; in getGenericLambdaTemplateParameterList()
436 void Sema::buildLambdaScope(LambdaScopeInfo *LSI, in buildLambdaScope() argument
444 LSI->CallOperator = CallOperator; in buildLambdaScope()
446 LSI->Lambda = LambdaClass; in buildLambdaScope()
448 LSI->ImpCaptureStyle = LambdaScopeInfo::ImpCap_LambdaByval; in buildLambdaScope()
450 LSI->ImpCaptureStyle = LambdaScopeInfo::ImpCap_LambdaByref; in buildLambdaScope()
451 LSI->CaptureDefaultLoc = CaptureDefaultLoc; in buildLambdaScope()
452 LSI->IntroducerRange = IntroducerRange; in buildLambdaScope()
453 LSI->ExplicitParams = ExplicitParams; in buildLambdaScope()
454 LSI->Mutable = Mutable; in buildLambdaScope()
457 LSI->ReturnType = CallOperator->getReturnType(); in buildLambdaScope()
459 if (!LSI->ReturnType->isDependentType() && in buildLambdaScope()
460 !LSI->ReturnType->isVoidType()) { in buildLambdaScope()
461 if (RequireCompleteType(CallOperator->getLocStart(), LSI->ReturnType, in buildLambdaScope()
467 LSI->HasImplicitReturnType = true; in buildLambdaScope()
471 void Sema::finishLambdaExplicitCaptures(LambdaScopeInfo *LSI) { in finishLambdaExplicitCaptures() argument
472 LSI->finishedExplicitCaptures(); in finishLambdaExplicitCaptures()
789 FieldDecl *Sema::buildInitCaptureField(LambdaScopeInfo *LSI, VarDecl *Var) { in buildInitCaptureField() argument
791 Context, LSI->Lambda, Var->getLocation(), Var->getLocation(), in buildInitCaptureField()
796 LSI->Lambda->addDecl(Field); in buildInitCaptureField()
798 LSI->addCapture(Var, /*isBlock*/false, Var->getType()->isReferenceType(), in buildInitCaptureField()
810 LambdaScopeInfo *const LSI = getCurLambda(); in ActOnStartOfLambdaDefinition() local
811 assert(LSI && "LambdaScopeInfo should be on stack!"); in ActOnStartOfLambdaDefinition()
894 buildLambdaScope(LSI, Method, Intro.Range, Intro.Default, Intro.DefaultLoc, in ActOnStartOfLambdaDefinition()
931 if (LSI->isCXXThisCaptured()) { in ActOnStartOfLambdaDefinition()
933 << "'this'" << SourceRange(LSI->getCXXThisCapture().getLocation()) in ActOnStartOfLambdaDefinition()
1055 if (Var && LSI->isCaptured(Var)) { in ActOnStartOfLambdaDefinition()
1057 << C->Id << SourceRange(LSI->getCapture(Var).getLocation()) in ActOnStartOfLambdaDefinition()
1103 buildInitCaptureField(LSI, Var); in ActOnStartOfLambdaDefinition()
1110 finishLambdaExplicitCaptures(LSI); in ActOnStartOfLambdaDefinition()
1112 LSI->ContainsUnexpandedParameterPack = ContainsUnexpandedParameterPack; in ActOnStartOfLambdaDefinition()
1124 LambdaScopeInfo *LSI = cast<LambdaScopeInfo>(FunctionScopes.back()); in ActOnLambdaError() local
1135 CXXRecordDecl *Class = LSI->Lambda; in ActOnLambdaError()
1468 LambdaScopeInfo LSI = *cast<LambdaScopeInfo>(FunctionScopes.back()); in ActOnLambdaExpr() local
1469 ActOnFinishFunctionBody(LSI.CallOperator, Body); in ActOnLambdaExpr()
1470 return BuildLambdaExpr(StartLoc, Body->getLocEnd(), &LSI); in ActOnLambdaExpr()
1490 LambdaScopeInfo *LSI) { in BuildLambdaExpr() argument
1494 SourceLocation CaptureDefaultLoc = LSI->CaptureDefaultLoc; in BuildLambdaExpr()
1496 mapImplicitCaptureStyle(LSI->ImpCaptureStyle); in BuildLambdaExpr()
1507 CallOperator = LSI->CallOperator; in BuildLambdaExpr()
1508 Class = LSI->Lambda; in BuildLambdaExpr()
1509 IntroducerRange = LSI->IntroducerRange; in BuildLambdaExpr()
1510 ExplicitParams = LSI->ExplicitParams; in BuildLambdaExpr()
1511 ExplicitResultType = !LSI->HasImplicitReturnType; in BuildLambdaExpr()
1512 LambdaCleanup = LSI->Cleanup; in BuildLambdaExpr()
1513 ContainsUnexpandedParameterPack = LSI->ContainsUnexpandedParameterPack; in BuildLambdaExpr()
1528 for (unsigned I = 0, N = LSI->Captures.size(); I != N; ++I, ++CurField) { in BuildLambdaExpr()
1529 LambdaScopeInfo::Capture From = LSI->Captures[I]; in BuildLambdaExpr()
1531 bool IsImplicit = I >= LSI->NumExplicitCaptures; in BuildLambdaExpr()