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); 614case PatternIndexOffsetLoweringStrategy.SubtractFromLength: 628case PatternIndexOffsetLoweringStrategy.UseAsIs: 632case PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI: 724PatternIndexOffsetLoweringStrategy strategy) 728case PatternIndexOffsetLoweringStrategy.Zero: 731case PatternIndexOffsetLoweringStrategy.Length: 735case PatternIndexOffsetLoweringStrategy.SubtractFromLength: 747case PatternIndexOffsetLoweringStrategy.UseAsIs: 752case PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI: 783out PatternIndexOffsetLoweringStrategy strategy) 795strategy = PatternIndexOffsetLoweringStrategy.SubtractFromLength; 802strategy = PatternIndexOffsetLoweringStrategy.UseAsIs; 813strategy = PatternIndexOffsetLoweringStrategy.SubtractFromLength; 818strategy = PatternIndexOffsetLoweringStrategy.UseAsIs; 826strategy = PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI; 874PatternIndexOffsetLoweringStrategy startStrategy, endStrategy; 955Debug.Assert(startStrategy is not PatternIndexOffsetLoweringStrategy.Length); 956Debug.Assert(endMakeOffsetInput is not null || endStrategy == PatternIndexOffsetLoweringStrategy.Length); 964if (startStrategy is PatternIndexOffsetLoweringStrategy.SubtractFromLength or PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI) 966if (startStrategy == PatternIndexOffsetLoweringStrategy.SubtractFromLength) 1005case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.Length): 1006case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI): 1009case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.SubtractFromLength): 1012case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.UseAsIs): 1015case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.Length): 1016case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI): 1019case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.SubtractFromLength): 1022case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.UseAsIs): 1025case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.Length): 1026case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.Length): 1029case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.SubtractFromLength): 1030case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI): 1031case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.SubtractFromLength): 1032case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI): 1035case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.UseAsIs): 1036case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.UseAsIs): 1044Debug.Assert(startStrategy != PatternIndexOffsetLoweringStrategy.Zero || (rewriteFlags & captureStartOffset) == 0); 1045Debug.Assert((rewriteFlags & captureEndOffset) == 0 || (rewriteFlags & captureStartOffset) != 0 || startStrategy == PatternIndexOffsetLoweringStrategy.Zero); 1046Debug.Assert((rewriteFlags & captureStartOffset) == 0 || (rewriteFlags & captureEndOffset) != 0 || endStrategy == PatternIndexOffsetLoweringStrategy.Length); 1047Debug.Assert(endStrategy != PatternIndexOffsetLoweringStrategy.Length || (rewriteFlags & captureEndOffset) == 0); 1259private void RewriteRangeParts(BoundExpression rangeArg, out BoundRangeExpression? rangeExpr, out BoundExpression? startMakeOffsetInput, out PatternIndexOffsetLoweringStrategy startStrategy, out BoundExpression? endMakeOffsetInput, out PatternIndexOffsetLoweringStrategy endStrategy, out BoundExpression? rewrittenRangeArg) 1288startStrategy = PatternIndexOffsetLoweringStrategy.Zero; 1298endStrategy = PatternIndexOffsetLoweringStrategy.Length;