66 references to PatternIndexOffsetLoweringStrategy
Microsoft.CodeAnalysis.CSharp (66)
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (66)
272BoundExpression makeOffsetInput = DetermineMakePatternIndexOffsetExpressionStrategy(node.Argument, out PatternIndexOffsetLoweringStrategy strategy); 289PatternIndexOffsetLoweringStrategy startStrategy, endStrategy; 369BoundExpression makePatternIndexOffsetExpression(BoundExpression? makeOffsetInput, int length, PatternIndexOffsetLoweringStrategy strategy) 373if (strategy == PatternIndexOffsetLoweringStrategy.SubtractFromLength && 551BoundExpression makeOffsetInput = DetermineMakePatternIndexOffsetExpressionStrategy(node.Argument, out PatternIndexOffsetLoweringStrategy strategy); 638case PatternIndexOffsetLoweringStrategy.SubtractFromLength: 652case PatternIndexOffsetLoweringStrategy.UseAsIs: 656case PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI: 748PatternIndexOffsetLoweringStrategy strategy) 752case PatternIndexOffsetLoweringStrategy.Zero: 755case PatternIndexOffsetLoweringStrategy.Length: 759case PatternIndexOffsetLoweringStrategy.SubtractFromLength: 771case PatternIndexOffsetLoweringStrategy.UseAsIs: 776case PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI: 807out PatternIndexOffsetLoweringStrategy strategy) 819strategy = PatternIndexOffsetLoweringStrategy.SubtractFromLength; 826strategy = PatternIndexOffsetLoweringStrategy.UseAsIs; 837strategy = PatternIndexOffsetLoweringStrategy.SubtractFromLength; 842strategy = PatternIndexOffsetLoweringStrategy.UseAsIs; 850strategy = PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI; 899PatternIndexOffsetLoweringStrategy startStrategy, endStrategy; 1002Debug.Assert(startStrategy is not PatternIndexOffsetLoweringStrategy.Length); 1003Debug.Assert(endMakeOffsetInput is not null || endStrategy == PatternIndexOffsetLoweringStrategy.Length); 1011if (startStrategy is PatternIndexOffsetLoweringStrategy.SubtractFromLength or PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI) 1013if (startStrategy == PatternIndexOffsetLoweringStrategy.SubtractFromLength) 1052case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.Length): 1053case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI): 1056case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.SubtractFromLength): 1059case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.UseAsIs): 1062case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.Length): 1063case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI): 1066case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.SubtractFromLength): 1069case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.UseAsIs): 1072case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.Length): 1073case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.Length): 1076case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.SubtractFromLength): 1077case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI): 1078case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.SubtractFromLength): 1079case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI): 1082case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.UseAsIs): 1083case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.UseAsIs): 1091Debug.Assert(startStrategy != PatternIndexOffsetLoweringStrategy.Zero || (rewriteFlags & captureStartOffset) == 0); 1092Debug.Assert((rewriteFlags & captureEndOffset) == 0 || (rewriteFlags & captureStartOffset) != 0 || startStrategy == PatternIndexOffsetLoweringStrategy.Zero); 1093Debug.Assert((rewriteFlags & captureStartOffset) == 0 || (rewriteFlags & captureEndOffset) != 0 || endStrategy == PatternIndexOffsetLoweringStrategy.Length); 1094Debug.Assert(endStrategy != PatternIndexOffsetLoweringStrategy.Length || (rewriteFlags & captureEndOffset) == 0); 1306private void RewriteRangeParts(BoundExpression rangeArg, out BoundRangeExpression? rangeExpr, out BoundExpression? startMakeOffsetInput, out PatternIndexOffsetLoweringStrategy startStrategy, out BoundExpression? endMakeOffsetInput, out PatternIndexOffsetLoweringStrategy endStrategy, out BoundExpression? rewrittenRangeArg) 1335startStrategy = PatternIndexOffsetLoweringStrategy.Zero; 1345endStrategy = PatternIndexOffsetLoweringStrategy.Length;