5 instantiations of SwitchBucket
Microsoft.CodeAnalysis (5)
CodeGen\SwitchIntegralJumpTableEmitter.cs (4)
236
crumbled.Add(new
SwitchBucket
(_sortedCaseLabels, uncrumbled.StartLabelIndex, uncrumbled.EndLabelIndex, isDegenerate: true));
241
crumbled.Add(new
SwitchBucket
(_sortedCaseLabels, uncrumbled.StartLabelIndex, degenerateSplit - 1, isDegenerate: true));
242
crumbled.Add(new
SwitchBucket
(_sortedCaseLabels, degenerateSplit, uncrumbled.EndLabelIndex, isDegenerate: true));
254
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)
126
ImmutableArray<
SwitchBucket
> switchBuckets = this.GenerateSwitchBuckets(startLabelIndex, endLabelIndex);
178
private ImmutableArray<
SwitchBucket
> GenerateSwitchBuckets(int startLabelIndex, int endLabelIndex)
184
var switchBucketsStack = ArrayBuilder<
SwitchBucket
>.GetInstance();
191
SwitchBucket
newBucket = CreateNextBucket(curStartLabelIndex, endLabelIndex);
200
SwitchBucket
prevBucket = switchBucketsStack.Peek();
223
var crumbled = ArrayBuilder<
SwitchBucket
>.GetInstance();
224
foreach (
var
uncrumbled in switchBucketsStack)
251
private
SwitchBucket
CreateNextBucket(int startLabelIndex, int endLabelIndex)
261
private void EmitSwitchBucketsLinearLeaf(ImmutableArray<
SwitchBucket
> switchBuckets, int low, int high)
275
private void EmitSwitchBuckets(ImmutableArray<
SwitchBucket
> switchBuckets, int low, int high)
320
private void EmitSwitchBucket(
SwitchBucket
switchBucket, object bucketFallThroughLabel)
355
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)