66 references to PatternIndexOffsetLoweringStrategy
Microsoft.CodeAnalysis.CSharp (66)
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (66)
271BoundExpression makeOffsetInput = DetermineMakePatternIndexOffsetExpressionStrategy(node.Argument, out PatternIndexOffsetLoweringStrategy strategy);
288PatternIndexOffsetLoweringStrategy startStrategy, endStrategy;
367BoundExpression makePatternIndexOffsetExpression(BoundExpression? makeOffsetInput, int length, PatternIndexOffsetLoweringStrategy strategy)
371if (strategy == PatternIndexOffsetLoweringStrategy.SubtractFromLength &&
551BoundExpression makeOffsetInput = DetermineMakePatternIndexOffsetExpressionStrategy(node.Argument, out PatternIndexOffsetLoweringStrategy strategy);
598case PatternIndexOffsetLoweringStrategy.SubtractFromLength:
612case PatternIndexOffsetLoweringStrategy.UseAsIs:
616case PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI:
709PatternIndexOffsetLoweringStrategy strategy)
713case PatternIndexOffsetLoweringStrategy.Zero:
716case PatternIndexOffsetLoweringStrategy.Length:
720case PatternIndexOffsetLoweringStrategy.SubtractFromLength:
732case PatternIndexOffsetLoweringStrategy.UseAsIs:
737case PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI:
771out PatternIndexOffsetLoweringStrategy strategy)
783strategy = PatternIndexOffsetLoweringStrategy.SubtractFromLength;
790strategy = PatternIndexOffsetLoweringStrategy.UseAsIs;
801strategy = PatternIndexOffsetLoweringStrategy.SubtractFromLength;
806strategy = PatternIndexOffsetLoweringStrategy.UseAsIs;
814strategy = PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI;
858PatternIndexOffsetLoweringStrategy startStrategy, endStrategy;
921Debug.Assert(startStrategy is not PatternIndexOffsetLoweringStrategy.Length);
922Debug.Assert(endMakeOffsetInput is not null || endStrategy == PatternIndexOffsetLoweringStrategy.Length);
929if (startStrategy is PatternIndexOffsetLoweringStrategy.SubtractFromLength or PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI)
931if (startStrategy == PatternIndexOffsetLoweringStrategy.SubtractFromLength)
967case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.Length):
968case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI):
971case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.SubtractFromLength):
974case (PatternIndexOffsetLoweringStrategy.Zero, PatternIndexOffsetLoweringStrategy.UseAsIs):
977case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.Length):
978case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI):
981case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.SubtractFromLength):
984case (PatternIndexOffsetLoweringStrategy.UseAsIs, PatternIndexOffsetLoweringStrategy.UseAsIs):
987case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.Length):
988case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.Length):
991case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.SubtractFromLength):
992case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI):
993case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.SubtractFromLength):
994case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI):
997case (PatternIndexOffsetLoweringStrategy.SubtractFromLength, PatternIndexOffsetLoweringStrategy.UseAsIs):
998case (PatternIndexOffsetLoweringStrategy.UseGetOffsetAPI, PatternIndexOffsetLoweringStrategy.UseAsIs):
1006Debug.Assert(startStrategy != PatternIndexOffsetLoweringStrategy.Zero || (rewriteFlags & captureStartOffset) == 0);
1007Debug.Assert((rewriteFlags & captureEndOffset) == 0 || (rewriteFlags & captureStartOffset) != 0 || startStrategy == PatternIndexOffsetLoweringStrategy.Zero);
1008Debug.Assert((rewriteFlags & captureStartOffset) == 0 || (rewriteFlags & captureEndOffset) != 0 || endStrategy == PatternIndexOffsetLoweringStrategy.Length);
1009Debug.Assert(endStrategy != PatternIndexOffsetLoweringStrategy.Length || (rewriteFlags & captureEndOffset) == 0);
1220private void RewriteRangeParts(BoundExpression rangeArg, out BoundRangeExpression? rangeExpr, out BoundExpression? startMakeOffsetInput, out PatternIndexOffsetLoweringStrategy startStrategy, out BoundExpression? endMakeOffsetInput, out PatternIndexOffsetLoweringStrategy endStrategy, out BoundExpression? rewrittenRangeArg)
1249startStrategy = PatternIndexOffsetLoweringStrategy.Zero;
1259endStrategy = PatternIndexOffsetLoweringStrategy.Length;