5 instantiations of SwitchBucket
Microsoft.CodeAnalysis (5)
CodeGen\SwitchIntegralJumpTableEmitter.cs (4)
236crumbled.Add(new SwitchBucket(_sortedCaseLabels, uncrumbled.StartLabelIndex, uncrumbled.EndLabelIndex, isDegenerate: true)); 241crumbled.Add(new SwitchBucket(_sortedCaseLabels, uncrumbled.StartLabelIndex, degenerateSplit - 1, isDegenerate: true)); 242crumbled.Add(new SwitchBucket(_sortedCaseLabels, degenerateSplit, uncrumbled.EndLabelIndex, isDegenerate: true)); 254return new SwitchBucket(_sortedCaseLabels, startLabelIndex);
CodeGen\SwitchIntegralJumpTableEmitter.SwitchBucket.cs (1)
309this = new SwitchBucket(_allLabels, prevBucket._startLabelIndex, _endLabelIndex);
15 references to SwitchBucket
Microsoft.CodeAnalysis (15)
CodeGen\SwitchIntegralJumpTableEmitter.cs (12)
126ImmutableArray<SwitchBucket> switchBuckets = this.GenerateSwitchBuckets(startLabelIndex, endLabelIndex); 178private ImmutableArray<SwitchBucket> GenerateSwitchBuckets(int startLabelIndex, int endLabelIndex) 184var switchBucketsStack = ArrayBuilder<SwitchBucket>.GetInstance(); 191SwitchBucket newBucket = CreateNextBucket(curStartLabelIndex, endLabelIndex); 200SwitchBucket prevBucket = switchBucketsStack.Peek(); 223var crumbled = ArrayBuilder<SwitchBucket>.GetInstance(); 224foreach (var uncrumbled in switchBucketsStack) 251private SwitchBucket CreateNextBucket(int startLabelIndex, int endLabelIndex) 261private void EmitSwitchBucketsLinearLeaf(ImmutableArray<SwitchBucket> switchBuckets, int low, int high) 275private void EmitSwitchBuckets(ImmutableArray<SwitchBucket> switchBuckets, int low, int high) 320private void EmitSwitchBucket(SwitchBucket switchBucket, object bucketFallThroughLabel) 355private object[] CreateBucketLabels(SwitchBucket switchBucket)
CodeGen\SwitchIntegralJumpTableEmitter.SwitchBucket.cs (3)
282internal static bool MergeIsAdvantageous(SwitchBucket bucket1, SwitchBucket bucket2) 304internal bool TryMergeWith(SwitchBucket prevBucket)