282 references to ControlFlowRegionKind
ILLink.RoslynAnalyzer (26)
DataFlow\ControlFlowGraphProxy.cs (26)
39
ControlFlowRegionKind
.Try => RegionKind.Try,
40
ControlFlowRegionKind
.Catch => RegionKind.Catch,
41
ControlFlowRegionKind
.Filter => RegionKind.Filter,
42
ControlFlowRegionKind
.Finally => RegionKind.Finally,
125
while (region != null && region.Kind !=
ControlFlowRegionKind
.Root) {
126
if (region.Kind is
ControlFlowRegionKind
.Try or
ControlFlowRegionKind
.Catch or
ControlFlowRegionKind
.Filter) {
141
while (region != null && region.Kind !=
ControlFlowRegionKind
.Root) {
142
if (region.Kind ==
ControlFlowRegionKind
.Finally) {
153
if (catchOrFilterOrFinallyRegion.Region.Kind is not (
ControlFlowRegionKind
.Catch or
ControlFlowRegionKind
.Filter or
ControlFlowRegionKind
.Finally))
161
if (enclosingRegion.Kind ==
ControlFlowRegionKind
.FilterAndHandler) {
163
Debug.Assert (enclosingRegion.Kind ==
ControlFlowRegionKind
.TryAndCatch);
171
if (nested.Kind ==
ControlFlowRegionKind
.Try)
180
if (region.Kind is not (
ControlFlowRegionKind
.Catch or
ControlFlowRegionKind
.Filter))
184
if (region.Kind is
ControlFlowRegionKind
.Catch && region.EnclosingRegion!.Kind is
ControlFlowRegionKind
.FilterAndHandler)
193
case
ControlFlowRegionKind
.Catch:
196
case
ControlFlowRegionKind
.FilterAndHandler:
199
if (filter.Kind ==
ControlFlowRegionKind
.Filter) {
217
if (catchOrFilter.Kind ==
ControlFlowRegionKind
.Filter)
225
if (catchRegion.Region.Kind is not
ControlFlowRegionKind
.Catch)
228
return catchRegion.Region.EnclosingRegion!.Kind ==
ControlFlowRegionKind
.FilterAndHandler;
Microsoft.CodeAnalysis (152)
Operations\ControlFlowBranch.cs (4)
88
Debug.Assert(source.Kind !=
ControlFlowRegionKind
.Root);
142
if (leavingRegions[i].Kind ==
ControlFlowRegionKind
.Try && leavingRegions[i + 1].Kind ==
ControlFlowRegionKind
.TryAndFinally)
150
Debug.Assert(builder.Last().Kind ==
ControlFlowRegionKind
.Finally);
Operations\ControlFlowGraph.cs (2)
46
Debug.Assert(root.Kind ==
ControlFlowRegionKind
.Root);
215
/// Root (<see cref="
ControlFlowRegionKind
.Root"/>) region for the graph.
Operations\ControlFlowGraphBuilder.cs (94)
23
/// There are different kinds of regions, <see cref="
ControlFlowRegionKind
"/>.
116
var root = new RegionBuilder(
ControlFlowRegionKind
.Root);
122
builder.EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime));
349
Debug.Assert(region.Kind !=
ControlFlowRegionKind
.Root);
352
if (region.Kind ==
ControlFlowRegionKind
.Try && enclosing.Kind ==
ControlFlowRegionKind
.TryAndFinally)
355
Debug.Assert(enclosing.NestedRegions[1].Kind ==
ControlFlowRegionKind
.Finally);
372
Debug.Assert(@finally.Kind ==
ControlFlowRegionKind
.Finally);
407
ControlFlowRegion? enclosing = fromRegion.Kind ==
ControlFlowRegionKind
.Root ? null : fromRegion.EnclosingRegion;
408
if (fromRegion.Kind ==
ControlFlowRegionKind
.Try)
412
case
ControlFlowRegionKind
.TryAndFinally:
414
Debug.Assert(enclosing.NestedRegions[1].Kind ==
ControlFlowRegionKind
.Finally);
422
case
ControlFlowRegionKind
.TryAndCatch:
431
else if (fromRegion.Kind ==
ControlFlowRegionKind
.Filter)
434
Debug.Assert(enclosing!.Kind ==
ControlFlowRegionKind
.FilterAndHandler);
437
Debug.Assert(tryAndCatch.Kind ==
ControlFlowRegionKind
.TryAndCatch);
461
Debug.Assert(tryAndCatch.Kind ==
ControlFlowRegionKind
.TryAndCatch);
471
case
ControlFlowRegionKind
.Catch:
475
case
ControlFlowRegionKind
.FilterAndHandler:
477
Debug.Assert(@catch.NestedRegions[0].Kind ==
ControlFlowRegionKind
.Filter);
530
if (r.Kind ==
ControlFlowRegionKind
.LocalLifetime &&
541
case
ControlFlowRegionKind
.Root:
542
case
ControlFlowRegionKind
.Filter:
543
case
ControlFlowRegionKind
.Try:
544
case
ControlFlowRegionKind
.Catch:
545
case
ControlFlowRegionKind
.Finally:
546
case
ControlFlowRegionKind
.LocalLifetime:
547
case
ControlFlowRegionKind
.StaticLocalInitializer:
548
case
ControlFlowRegionKind
.ErroneousBody:
553
if (subRegion.Kind ==
ControlFlowRegionKind
.LocalLifetime && subRegion.FirstBlock == region.FirstBlock && subRegion.LastBlock == region.LastBlock)
555
Debug.Assert(region.Kind !=
ControlFlowRegionKind
.Root);
573
if (subRegion.Kind ==
ControlFlowRegionKind
.LocalLifetime && !subRegion.HasLocalFunctions &&
599
case
ControlFlowRegionKind
.TryAndCatch:
600
case
ControlFlowRegionKind
.TryAndFinally:
601
case
ControlFlowRegionKind
.FilterAndHandler:
616
Debug.Assert(subRegion.Kind !=
ControlFlowRegionKind
.Root);
730
Debug.Assert(currentRegion.Kind ==
ControlFlowRegionKind
.Filter ||
731
currentRegion.Kind ==
ControlFlowRegionKind
.Finally);
752
if (currentRegion.Kind ==
ControlFlowRegionKind
.Finally &&
759
Debug.Assert(tryAndFinally.Kind ==
ControlFlowRegionKind
.TryAndFinally);
763
Debug.Assert(@try.Kind ==
ControlFlowRegionKind
.Try);
775
@try.Kind =
ControlFlowRegionKind
.LocalLifetime;
1025
case
ControlFlowRegionKind
.Filter:
1026
case
ControlFlowRegionKind
.Catch:
1027
case
ControlFlowRegionKind
.Finally:
1386
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, locals: operation.Locals));
1484
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, locals: operation.Locals));
1524
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.ErroneousBody));
1645
var resultCaptureRegion = new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, isStackSpillRegion: true);
1841
frameOpt.RegionBuilderOpt = new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, isStackSpillRegion: true);
3576
var locals = new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, locals: operation.Locals);
3666
tryAndFinallyRegion = new RegionBuilder(
ControlFlowRegionKind
.TryAndFinally);
3668
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.Try));
3674
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.TryAndCatch));
3675
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.Try));
3678
Debug.Assert(CurrentRegionRequired.Kind ==
ControlFlowRegionKind
.Try);
3697
filterAndHandlerRegion = new RegionBuilder(
ControlFlowRegionKind
.FilterAndHandler, catchClause.ExceptionType, catchClause.Locals);
3700
var filterRegion = new RegionBuilder(
ControlFlowRegionKind
.Filter, catchClause.ExceptionType);
3716
var handlerRegion = new RegionBuilder(
ControlFlowRegionKind
.Catch, catchClause.ExceptionType,
3755
Debug.Assert(CurrentRegionRequired.Kind ==
ControlFlowRegionKind
.TryAndCatch);
3761
Debug.Assert(CurrentRegionRequired.Kind ==
ControlFlowRegionKind
.Try);
3764
var finallyRegion = new RegionBuilder(
ControlFlowRegionKind
.Finally);
3958
var usingRegion = new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, locals: locals);
4077
resourceRegion = new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime);
4087
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.TryAndFinally));
4088
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.Try));
4092
Debug.Assert(CurrentRegionRequired.Kind ==
ControlFlowRegionKind
.Try);
4099
Debug.Assert(CurrentRegionRequired.Kind ==
ControlFlowRegionKind
.TryAndFinally);
4114
Debug.Assert(CurrentRegionRequired.Kind ==
ControlFlowRegionKind
.TryAndFinally);
4120
var finallyRegion = new RegionBuilder(
ControlFlowRegionKind
.Finally);
4308
var lockRegion = new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime,
4359
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.TryAndFinally));
4360
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.Try));
4394
Debug.Assert(CurrentRegionRequired.Kind ==
ControlFlowRegionKind
.Try);
4402
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.Finally));
4442
Debug.Assert(CurrentRegionRequired.Kind ==
ControlFlowRegionKind
.TryAndFinally);
4457
var enumeratorCaptureRegion = new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime);
4482
regionForCollection = new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, locals: ImmutableArray.Create(local));
4499
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.TryAndFinally));
4500
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.Try));
4513
var localsRegion = new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, locals: operation.Locals);
4531
Debug.Assert(_currentRegion.Kind ==
ControlFlowRegionKind
.Try);
4548
Debug.Assert(_currentRegion.Kind ==
ControlFlowRegionKind
.TryAndFinally);
4748
var loopRegion = new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, locals: locals);
5470
var switchRegion = new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, locals: locals);
5735
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, locals: operation.Locals));
5751
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, locals: operation.ConditionLocals));
5779
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, locals: operation.Locals));
5837
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.StaticLocalInitializer));
6795
var constructorRegion = new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime);
6855
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime));
7276
EnterRegion(new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, locals: initializer.Locals));
7750
var armScopeRegion = new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime, locals: arm.Locals);
7951
var innerCaptureRegion = new RegionBuilder(
ControlFlowRegionKind
.LocalLifetime);
Operations\ControlFlowGraphBuilder.RegionBuilder.cs (25)
17
public
ControlFlowRegionKind
Kind;
31
public RegionBuilder(
ControlFlowRegionKind
kind, ITypeSymbol? exceptionType = null, ImmutableArray<ILocalSymbol> locals = default, bool isStackSpillRegion = false)
33
Debug.Assert(!isStackSpillRegion || (kind ==
ControlFlowRegionKind
.LocalLifetime && locals.IsDefaultOrEmpty));
66
Debug.Assert(Kind !=
ControlFlowRegionKind
.Root);
78
Debug.Assert(Kind !=
ControlFlowRegionKind
.Root);
97
Debug.Assert(Kind !=
ControlFlowRegionKind
.Root);
110
Debug.Assert(Kind !=
ControlFlowRegionKind
.Root);
142
ControlFlowRegionKind
lastKind = Regions.Last().Kind;
145
case
ControlFlowRegionKind
.FilterAndHandler:
147
Debug.Assert(lastKind == (Regions.Count < 2 ?
ControlFlowRegionKind
.Filter :
ControlFlowRegionKind
.Catch));
150
case
ControlFlowRegionKind
.TryAndCatch:
153
Debug.Assert(lastKind ==
ControlFlowRegionKind
.Try);
157
Debug.Assert(lastKind ==
ControlFlowRegionKind
.Catch || lastKind ==
ControlFlowRegionKind
.FilterAndHandler);
161
case
ControlFlowRegionKind
.TryAndFinally:
165
Debug.Assert(lastKind ==
ControlFlowRegionKind
.Try);
169
Debug.Assert(lastKind ==
ControlFlowRegionKind
.Finally);
174
Debug.Assert(lastKind !=
ControlFlowRegionKind
.Filter);
175
Debug.Assert(lastKind !=
ControlFlowRegionKind
.Catch);
176
Debug.Assert(lastKind !=
ControlFlowRegionKind
.Finally);
177
Debug.Assert(lastKind !=
ControlFlowRegionKind
.Try);
251
Debug.Assert((Kind !=
ControlFlowRegionKind
.FilterAndHandler &&
252
Kind !=
ControlFlowRegionKind
.TryAndCatch &&
253
Kind !=
ControlFlowRegionKind
.TryAndFinally) ||
Operations\ControlFlowRegion.cs (27)
20
public
ControlFlowRegionKind
Kind { get; }
23
/// Enclosing region. Null for <see cref="
ControlFlowRegionKind
.Root"/>
28
/// Target exception type for <see cref="
ControlFlowRegionKind
.Filter"/>, <see cref="
ControlFlowRegionKind
.Catch"/>,
29
/// <see cref="
ControlFlowRegionKind
.FilterAndHandler "/>
63
internal ControlFlowRegion(
ControlFlowRegionKind
kind, int firstBlockOrdinal, int lastBlockOrdinal,
86
Debug.Assert(r.EnclosingRegion == null && r.Kind !=
ControlFlowRegionKind
.Root);
94
case
ControlFlowRegionKind
.TryAndFinally:
95
case
ControlFlowRegionKind
.FilterAndHandler:
97
Debug.Assert(NestedRegions[0].Kind == (kind ==
ControlFlowRegionKind
.TryAndFinally ?
ControlFlowRegionKind
.Try :
ControlFlowRegionKind
.Filter));
98
Debug.Assert(NestedRegions[1].Kind == (kind ==
ControlFlowRegionKind
.TryAndFinally ?
ControlFlowRegionKind
.Finally :
ControlFlowRegionKind
.Catch));
104
case
ControlFlowRegionKind
.TryAndCatch:
106
Debug.Assert(NestedRegions[0].Kind ==
ControlFlowRegionKind
.Try);
116
Debug.Assert(r.Kind ==
ControlFlowRegionKind
.FilterAndHandler || r.Kind ==
ControlFlowRegionKind
.Catch);
122
case
ControlFlowRegionKind
.Root:
123
case
ControlFlowRegionKind
.LocalLifetime:
124
case
ControlFlowRegionKind
.Try:
125
case
ControlFlowRegionKind
.Filter:
126
case
ControlFlowRegionKind
.Catch:
127
case
ControlFlowRegionKind
.Finally:
128
case
ControlFlowRegionKind
.StaticLocalInitializer:
129
case
ControlFlowRegionKind
.ErroneousBody:
Microsoft.CodeAnalysis.CodeStyle (27)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
315
case
ControlFlowRegionKind
.Catch:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (18)
176
if (current.EnclosingRegion.Kind ==
ControlFlowRegionKind
.Finally &&
258
Debug.Assert(region.Kind !=
ControlFlowRegionKind
.Root);
260
if (region.Kind ==
ControlFlowRegionKind
.Try && enclosing.Kind ==
ControlFlowRegionKind
.TryAndFinally)
263
Debug.Assert(enclosing.NestedRegions[1].Kind ==
ControlFlowRegionKind
.Finally);
280
Debug.Assert(@finally.Kind ==
ControlFlowRegionKind
.Finally);
319
var enclosing = fromRegion.Kind ==
ControlFlowRegionKind
.Root ? null : fromRegion.EnclosingRegion;
320
if (fromRegion.Kind ==
ControlFlowRegionKind
.Try)
324
case
ControlFlowRegionKind
.TryAndFinally:
326
Debug.Assert(enclosing.NestedRegions[1].Kind ==
ControlFlowRegionKind
.Finally);
336
case
ControlFlowRegionKind
.TryAndCatch:
345
else if (fromRegion.Kind ==
ControlFlowRegionKind
.Filter)
348
Debug.Assert(enclosing.Kind ==
ControlFlowRegionKind
.FilterAndHandler);
350
Debug.Assert(tryAndCatch.Kind ==
ControlFlowRegionKind
.TryAndCatch);
374
Debug.Assert(tryAndCatch.Kind ==
ControlFlowRegionKind
.TryAndCatch);
384
case
ControlFlowRegionKind
.Catch:
388
case
ControlFlowRegionKind
.FilterAndHandler:
390
Debug.Assert(@catch.NestedRegions[0].Kind ==
ControlFlowRegionKind
.Filter);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (2)
169
if (basicBlock.EnclosingRegion.Kind ==
ControlFlowRegionKind
.Catch &&
189
if (region.Kind ==
ControlFlowRegionKind
.TryAndFinally)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (6)
370
case
ControlFlowRegionKind
.Catch:
371
case
ControlFlowRegionKind
.Filter:
372
case
ControlFlowRegionKind
.FilterAndHandler:
373
case
ControlFlowRegionKind
.Finally:
387
case
ControlFlowRegionKind
.TryAndCatch:
388
case
ControlFlowRegionKind
.TryAndFinally:
Microsoft.CodeAnalysis.Test.Utilities (50)
Compilation\ControlFlowGraphVerifier.cs (32)
151
Assert.Equal(
ControlFlowRegionKind
.Root, currentRegion.Kind);
297
Assert.True(block.EnclosingRegion.Kind ==
ControlFlowRegionKind
.Filter || block.EnclosingRegion.Kind ==
ControlFlowRegionKind
.Finally);
734
while (region.Kind !=
ControlFlowRegionKind
.Root)
736
if (region.Kind ==
ControlFlowRegionKind
.Try && region.EnclosingRegion.Kind ==
ControlFlowRegionKind
.TryAndFinally)
738
Debug.Assert(region.EnclosingRegion.NestedRegions[1].Kind ==
ControlFlowRegionKind
.Finally);
1433
case
ControlFlowRegionKind
.Filter:
1440
case
ControlFlowRegionKind
.Try:
1445
case
ControlFlowRegionKind
.FilterAndHandler:
1448
case
ControlFlowRegionKind
.Finally:
1452
case
ControlFlowRegionKind
.Catch:
1455
case
ControlFlowRegionKind
.FilterAndHandler:
1459
case
ControlFlowRegionKind
.TryAndCatch:
1467
case
ControlFlowRegionKind
.LocalLifetime:
1473
case
ControlFlowRegionKind
.TryAndCatch:
1474
case
ControlFlowRegionKind
.TryAndFinally:
1481
case
ControlFlowRegionKind
.StaticLocalInitializer:
1487
case
ControlFlowRegionKind
.ErroneousBody:
1531
case
ControlFlowRegionKind
.LocalLifetime:
1532
case
ControlFlowRegionKind
.Filter:
1533
case
ControlFlowRegionKind
.Try:
1534
case
ControlFlowRegionKind
.Finally:
1535
case
ControlFlowRegionKind
.FilterAndHandler:
1536
case
ControlFlowRegionKind
.StaticLocalInitializer:
1537
case
ControlFlowRegionKind
.ErroneousBody:
1541
case
ControlFlowRegionKind
.Catch:
1544
case
ControlFlowRegionKind
.FilterAndHandler:
1545
case
ControlFlowRegionKind
.TryAndCatch:
1556
goto case
ControlFlowRegionKind
.Filter;
1558
case
ControlFlowRegionKind
.TryAndCatch:
1559
case
ControlFlowRegionKind
.TryAndFinally:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (18)
176
if (current.EnclosingRegion.Kind ==
ControlFlowRegionKind
.Finally &&
258
Debug.Assert(region.Kind !=
ControlFlowRegionKind
.Root);
260
if (region.Kind ==
ControlFlowRegionKind
.Try && enclosing.Kind ==
ControlFlowRegionKind
.TryAndFinally)
263
Debug.Assert(enclosing.NestedRegions[1].Kind ==
ControlFlowRegionKind
.Finally);
280
Debug.Assert(@finally.Kind ==
ControlFlowRegionKind
.Finally);
319
var enclosing = fromRegion.Kind ==
ControlFlowRegionKind
.Root ? null : fromRegion.EnclosingRegion;
320
if (fromRegion.Kind ==
ControlFlowRegionKind
.Try)
324
case
ControlFlowRegionKind
.TryAndFinally:
326
Debug.Assert(enclosing.NestedRegions[1].Kind ==
ControlFlowRegionKind
.Finally);
336
case
ControlFlowRegionKind
.TryAndCatch:
345
else if (fromRegion.Kind ==
ControlFlowRegionKind
.Filter)
348
Debug.Assert(enclosing.Kind ==
ControlFlowRegionKind
.FilterAndHandler);
350
Debug.Assert(tryAndCatch.Kind ==
ControlFlowRegionKind
.TryAndCatch);
374
Debug.Assert(tryAndCatch.Kind ==
ControlFlowRegionKind
.TryAndCatch);
384
case
ControlFlowRegionKind
.Catch:
388
case
ControlFlowRegionKind
.FilterAndHandler:
390
Debug.Assert(@catch.NestedRegions[0].Kind ==
ControlFlowRegionKind
.Filter);
Microsoft.CodeAnalysis.Workspaces (27)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
315
case
ControlFlowRegionKind
.Catch:
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (18)
176
if (current.EnclosingRegion.Kind ==
ControlFlowRegionKind
.Finally &&
258
Debug.Assert(region.Kind !=
ControlFlowRegionKind
.Root);
260
if (region.Kind ==
ControlFlowRegionKind
.Try && enclosing.Kind ==
ControlFlowRegionKind
.TryAndFinally)
263
Debug.Assert(enclosing.NestedRegions[1].Kind ==
ControlFlowRegionKind
.Finally);
280
Debug.Assert(@finally.Kind ==
ControlFlowRegionKind
.Finally);
319
var enclosing = fromRegion.Kind ==
ControlFlowRegionKind
.Root ? null : fromRegion.EnclosingRegion;
320
if (fromRegion.Kind ==
ControlFlowRegionKind
.Try)
324
case
ControlFlowRegionKind
.TryAndFinally:
326
Debug.Assert(enclosing.NestedRegions[1].Kind ==
ControlFlowRegionKind
.Finally);
336
case
ControlFlowRegionKind
.TryAndCatch:
345
else if (fromRegion.Kind ==
ControlFlowRegionKind
.Filter)
348
Debug.Assert(enclosing.Kind ==
ControlFlowRegionKind
.FilterAndHandler);
350
Debug.Assert(tryAndCatch.Kind ==
ControlFlowRegionKind
.TryAndCatch);
374
Debug.Assert(tryAndCatch.Kind ==
ControlFlowRegionKind
.TryAndCatch);
384
case
ControlFlowRegionKind
.Catch:
388
case
ControlFlowRegionKind
.FilterAndHandler:
390
Debug.Assert(@catch.NestedRegions[0].Kind ==
ControlFlowRegionKind
.Filter);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (2)
169
if (basicBlock.EnclosingRegion.Kind ==
ControlFlowRegionKind
.Catch &&
189
if (region.Kind ==
ControlFlowRegionKind
.TryAndFinally)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (6)
370
case
ControlFlowRegionKind
.Catch:
371
case
ControlFlowRegionKind
.Filter:
372
case
ControlFlowRegionKind
.FilterAndHandler:
373
case
ControlFlowRegionKind
.Finally:
387
case
ControlFlowRegionKind
.TryAndCatch:
388
case
ControlFlowRegionKind
.TryAndFinally: