35 references to MatchStage
Microsoft.NET.Sdk.StaticWebAssets.Tasks (35)
Utils\Globbing\StaticWebAssetGlobMatcher.cs (35)
48var stage = state.Stage;
54case MatchStage.Done:
68case MatchStage.Literal:
77case MatchStage.Extension:
86case MatchStage.Complex:
95case MatchStage.WildCard:
104case MatchStage.RecursiveWildCard:
376internal struct MatchState(GlobNode node, MatchStage stage, int segmentIndex, int extensionSegmentIndex, int complexSegmentIndex)
382public MatchStage Stage { get; set; } = stage;
399public readonly void Deconstruct(out GlobNode node, out MatchStage stage, out int segmentIndex, out int extensionIndex, out int complexIndex)
415case MatchStage.Literal:
418return new(Node, MatchStage.Extension, SegmentIndex, 0, 0)
424return new(Node, MatchStage.Complex, SegmentIndex, 0, 0)
430return new(Node, MatchStage.WildCard, SegmentIndex, 0, 0)
436return new(Node, MatchStage.RecursiveWildCard, SegmentIndex, 0, 0)
440case MatchStage.Extension:
443return new(Node, MatchStage.Complex, SegmentIndex, 0, 0)
449return new(Node, MatchStage.WildCard, SegmentIndex, 0, 0)
455return new(Node, MatchStage.RecursiveWildCard, SegmentIndex, 0, 0)
459case MatchStage.Complex:
462return new(Node, MatchStage.WildCard, SegmentIndex, 0, 0)
467return new(Node, MatchStage.RecursiveWildCard, SegmentIndex, 0, 0)
471case MatchStage.WildCard:
474return new(Node, MatchStage.RecursiveWildCard, SegmentIndex, 0, 0)
478case MatchStage.RecursiveWildCard:
479return new(Node, MatchStage.Done, SegmentIndex, 0, 0)
486private static MatchStage GetInitialStage(GlobNode node)
490return MatchStage.Literal;
495return MatchStage.Extension;
500return MatchStage.Complex;
505return MatchStage.WildCard;
510return MatchStage.RecursiveWildCard;
513return MatchStage.Done;
516internal readonly MatchState NextExtension(int extensionIndex) => new(Node, MatchStage.Extension, SegmentIndex, extensionIndex, ComplexSegmentIndex)
522internal readonly MatchState NextComplex() => new(Node, MatchStage.Complex, SegmentIndex, ExtensionSegmentIndex, ComplexSegmentIndex + 1);