5 instantiations of SwitchBucket
Microsoft.CodeAnalysis (5)
CodeGen\SwitchIntegralJumpTableEmitter.cs (4)
243
crumbled.Add(new
SwitchBucket
(_sortedCaseLabels, uncrumbled.StartLabelIndex, uncrumbled.EndLabelIndex, isDegenerate: true));
248
crumbled.Add(new
SwitchBucket
(_sortedCaseLabels, uncrumbled.StartLabelIndex, degenerateSplit - 1, isDegenerate: true));
249
crumbled.Add(new
SwitchBucket
(_sortedCaseLabels, degenerateSplit, uncrumbled.EndLabelIndex, isDegenerate: true));
261
return new
SwitchBucket
(_sortedCaseLabels, startLabelIndex);
CodeGen\SwitchIntegralJumpTableEmitter.SwitchBucket.cs (1)
309
this = new
SwitchBucket
(_allLabels, prevBucket._startLabelIndex, _endLabelIndex);
15 references to SwitchBucket
Microsoft.CodeAnalysis (15)
CodeGen\SwitchIntegralJumpTableEmitter.cs (12)
133
ImmutableArray<
SwitchBucket
> switchBuckets = this.GenerateSwitchBuckets(startLabelIndex, endLabelIndex);
185
private ImmutableArray<
SwitchBucket
> GenerateSwitchBuckets(int startLabelIndex, int endLabelIndex)
191
var switchBucketsStack = ArrayBuilder<
SwitchBucket
>.GetInstance();
198
SwitchBucket
newBucket = CreateNextBucket(curStartLabelIndex, endLabelIndex);
207
SwitchBucket
prevBucket = switchBucketsStack.Peek();
230
var crumbled = ArrayBuilder<
SwitchBucket
>.GetInstance();
231
foreach (
var
uncrumbled in switchBucketsStack)
258
private
SwitchBucket
CreateNextBucket(int startLabelIndex, int endLabelIndex)
268
private void EmitSwitchBucketsLinearLeaf(ImmutableArray<
SwitchBucket
> switchBuckets, int low, int high)
282
private void EmitSwitchBuckets(ImmutableArray<
SwitchBucket
> switchBuckets, int low, int high)
327
private void EmitSwitchBucket(
SwitchBucket
switchBucket, object bucketFallThroughLabel)
362
private object[] CreateBucketLabels(
SwitchBucket
switchBucket)
CodeGen\SwitchIntegralJumpTableEmitter.SwitchBucket.cs (3)
282
internal static bool MergeIsAdvantageous(
SwitchBucket
bucket1,
SwitchBucket
bucket2)
304
internal bool TryMergeWith(
SwitchBucket
prevBucket)