Lines Matching refs:IndirectLocalPathEntry

185 struct IndirectLocalPathEntry {  struct
203 IndirectLocalPathEntry() {} in IndirectLocalPathEntry() function
204 IndirectLocalPathEntry(EntryKind K, Expr *E) : Kind(K), E(E) {} in IndirectLocalPathEntry() function
205 IndirectLocalPathEntry(EntryKind K, Expr *E, const Decl *D) in IndirectLocalPathEntry() argument
207 IndirectLocalPathEntry(EntryKind K, Expr *E, const LambdaCapture *Capture) in IndirectLocalPathEntry() function
211 using IndirectLocalPath = llvm::SmallVectorImpl<IndirectLocalPathEntry>;
226 if (E.Kind == IndirectLocalPathEntry::VarInit && E.D == VD) in isVarOnPath()
232 return llvm::any_of(Path, [=](IndirectLocalPathEntry E) { in pathContainsInit()
233 return E.Kind == IndirectLocalPathEntry::DefaultInit || in pathContainsInit()
234 E.Kind == IndirectLocalPathEntry::VarInit; in pathContainsInit()
338 for (const IndirectLocalPathEntry &PE : llvm::reverse(Path)) { in handleGslAnnotatedTypes()
339 if (PE.Kind == IndirectLocalPathEntry::GslReferenceInit) in handleGslAnnotatedTypes()
341 if (PE.Kind == IndirectLocalPathEntry::GslPointerInit || in handleGslAnnotatedTypes()
342 PE.Kind == IndirectLocalPathEntry::GslPointerAssignment) in handleGslAnnotatedTypes()
347 Path.push_back({Value ? IndirectLocalPathEntry::GslPointerInit in handleGslAnnotatedTypes()
348 : IndirectLocalPathEntry::GslReferenceInit, in handleGslAnnotatedTypes()
451 Path.push_back({IndirectLocalPathEntry::LifetimeBoundCall, Arg, D}); in visitLifetimeBoundArguments()
541 {IndirectLocalPathEntry::DefaultInit, DIE, DIE->getField()}); in visitLocalsRetainedByReferenceBinding()
581 Path.push_back({IndirectLocalPathEntry::VarInit, DRE, VD}); in visitLocalsRetainedByReferenceBinding()
651 {IndirectLocalPathEntry::DefaultInit, DIE, DIE->getField()}); in visitLocalsRetainedByInitializer()
672 Path.push_back({IndirectLocalPathEntry::LValToRVal, CE}); in visitLocalsRetainedByInitializer()
680 Path.push_back({IndirectLocalPathEntry::VarInit, DRE, VD}); in visitLocalsRetainedByInitializer()
720 Path.push_back({IndirectLocalPathEntry::AddressOf, CE}); in visitLocalsRetainedByInitializer()
811 Path.push_back({IndirectLocalPathEntry::LambdaCaptureInit, E, &Cap}); in visitLocalsRetainedByInitializer()
830 Path.push_back({IndirectLocalPathEntry::TemporaryCopy, Arg, in visitLocalsRetainedByInitializer()
857 Path.push_back({IndirectLocalPathEntry::AddressOf, UO}); in visitLocalsRetainedByInitializer()
931 if (Elem.Kind == IndirectLocalPathEntry::DefaultInit) in shouldLifetimeExtendThroughPath()
933 else if (Elem.Kind != IndirectLocalPathEntry::LambdaCaptureInit) in shouldLifetimeExtendThroughPath()
944 case IndirectLocalPathEntry::AddressOf: in nextPathEntryRange()
945 case IndirectLocalPathEntry::LValToRVal: in nextPathEntryRange()
946 case IndirectLocalPathEntry::LifetimeBoundCall: in nextPathEntryRange()
947 case IndirectLocalPathEntry::TemporaryCopy: in nextPathEntryRange()
948 case IndirectLocalPathEntry::GslReferenceInit: in nextPathEntryRange()
949 case IndirectLocalPathEntry::GslPointerInit: in nextPathEntryRange()
950 case IndirectLocalPathEntry::GslPointerAssignment: in nextPathEntryRange()
955 case IndirectLocalPathEntry::VarInit: in nextPathEntryRange()
959 case IndirectLocalPathEntry::DefaultInit: in nextPathEntryRange()
962 case IndirectLocalPathEntry::LambdaCaptureInit: in nextPathEntryRange()
974 case IndirectLocalPathEntry::VarInit: in pathOnlyHandlesGslPointer()
975 case IndirectLocalPathEntry::AddressOf: in pathOnlyHandlesGslPointer()
976 case IndirectLocalPathEntry::LifetimeBoundCall: in pathOnlyHandlesGslPointer()
978 case IndirectLocalPathEntry::GslPointerInit: in pathOnlyHandlesGslPointer()
979 case IndirectLocalPathEntry::GslReferenceInit: in pathOnlyHandlesGslPointer()
980 case IndirectLocalPathEntry::GslPointerAssignment: in pathOnlyHandlesGslPointer()
1129 Path.back().Kind != IndirectLocalPathEntry::DefaultInit) { in checkExprLifetimeImpl()
1237 case IndirectLocalPathEntry::AddressOf: in checkExprLifetimeImpl()
1238 case IndirectLocalPathEntry::LValToRVal: in checkExprLifetimeImpl()
1243 case IndirectLocalPathEntry::LifetimeBoundCall: in checkExprLifetimeImpl()
1244 case IndirectLocalPathEntry::TemporaryCopy: in checkExprLifetimeImpl()
1245 case IndirectLocalPathEntry::GslPointerInit: in checkExprLifetimeImpl()
1246 case IndirectLocalPathEntry::GslReferenceInit: in checkExprLifetimeImpl()
1247 case IndirectLocalPathEntry::GslPointerAssignment: in checkExprLifetimeImpl()
1251 case IndirectLocalPathEntry::DefaultInit: { in checkExprLifetimeImpl()
1259 case IndirectLocalPathEntry::VarInit: { in checkExprLifetimeImpl()
1267 case IndirectLocalPathEntry::LambdaCaptureInit: in checkExprLifetimeImpl()
1287 llvm::SmallVector<IndirectLocalPathEntry, 8> Path; in checkExprLifetimeImpl()
1290 Path.push_back({IndirectLocalPathEntry::GslPointerAssignment, Init}); in checkExprLifetimeImpl()