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;