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;