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); 644case PatternIndexOffsetLoweringStrategy.SubtractFromLength: 658case PatternIndexOffsetLoweringStrategy.UseAsIs: 662case PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI: 754PatternIndexOffsetLoweringStrategy strategy) 758case PatternIndexOffsetLoweringStrategy.Zero: 761case PatternIndexOffsetLoweringStrategy.Length: 765case PatternIndexOffsetLoweringStrategy.SubtractFromLength: 777case PatternIndexOffsetLoweringStrategy.UseAsIs: 782case PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI: 813out PatternIndexOffsetLoweringStrategy strategy) 825strategy = PatternIndexOffsetLoweringStrategy.SubtractFromLength; 832strategy = PatternIndexOffsetLoweringStrategy.UseAsIs; 843strategy = PatternIndexOffsetLoweringStrategy.SubtractFromLength; 848strategy = PatternIndexOffsetLoweringStrategy.UseAsIs; 856strategy = PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI; 905PatternIndexOffsetLoweringStrategy startStrategy, endStrategy; 995Debug.Assert(startStrategy is not PatternIndexOffsetLoweringStrategy.Length); 996Debug.Assert(endMakeOffsetInput is not null || endStrategy == PatternIndexOffsetLoweringStrategy.Length); 1004if (startStrategy is PatternIndexOffsetLoweringStrategy.SubtractFromLength or PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI) 1006if (startStrategy == PatternIndexOffsetLoweringStrategy.SubtractFromLength) 1045case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.Length): 1046case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI): 1049case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.SubtractFromLength): 1052case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.UseAsIs): 1055case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.Length): 1056case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI): 1059case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.SubtractFromLength): 1062case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.UseAsIs): 1065case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.Length): 1066case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.Length): 1069case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.SubtractFromLength): 1070case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI): 1071case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.SubtractFromLength): 1072case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI): 1075case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.UseAsIs): 1076case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.UseAsIs): 1084Debug.Assert(startStrategy != PatternIndexOffsetLoweringStrategy.Zero || (rewriteFlags & captureStartOffset) == 0); 1085Debug.Assert((rewriteFlags & captureEndOffset) == 0 || (rewriteFlags & captureStartOffset) != 0 || startStrategy == PatternIndexOffsetLoweringStrategy.Zero); 1086Debug.Assert((rewriteFlags & captureStartOffset) == 0 || (rewriteFlags & captureEndOffset) != 0 || endStrategy == PatternIndexOffsetLoweringStrategy.Length); 1087Debug.Assert(endStrategy != PatternIndexOffsetLoweringStrategy.Length || (rewriteFlags & captureEndOffset) == 0); 1341private void RewriteRangeParts(BoundExpression rangeArg, out BoundRangeExpression? rangeExpr, out BoundExpression? startMakeOffsetInput, out PatternIndexOffsetLoweringStrategy startStrategy, out BoundExpression? endMakeOffsetInput, out PatternIndexOffsetLoweringStrategy endStrategy, out BoundExpression? rewrittenRangeArg) 1370startStrategy = PatternIndexOffsetLoweringStrategy.Zero; 1380endStrategy = PatternIndexOffsetLoweringStrategy.Length;