4 types derived from PatternMatcher
Microsoft.CodeAnalysis.Workspaces (4)
PatternMatching\CompoundPatternMatcher.cs (1)
17private sealed class CompoundPatternMatcher : PatternMatcher
PatternMatching\ContainerPatternMatcher.cs (1)
19private sealed partial class ContainerPatternMatcher : PatternMatcher
PatternMatching\FuzzyPatternMatcher.cs (1)
20internal sealed class FuzzyPatternMatcher : PatternMatcher
PatternMatching\SimplePatternMatcher.cs (1)
15internal sealed partial class SimplePatternMatcher : PatternMatcher
68 references to PatternMatcher
IdeCoreBenchmarks (2)
NavigateToPreFilterBenchmarks.cs (2)
51using var matcher = PatternMatcher.CreatePatternMatcher(
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (6)
Utilities\PatternMatcherTests.cs (6)
424using var matcher = PatternMatcher.CreatePatternMatcher("Goo", includeMatchedSpans: true, PatternMatcherKind.Fuzzy); 428Assert.True(((PatternMatcher.FuzzyPatternMatcher)matcher).GetTestAccessor().LastCacheResultIs(areSimilar: true, candidateText: "Go")); 431Assert.True(((PatternMatcher.FuzzyPatternMatcher)matcher).GetTestAccessor().LastCacheResultIs(areSimilar: false, candidateText: "DefNotAMatch")); 461var match = PatternMatcher.CreatePatternMatcher(pattern, includeMatchedSpans: true) 481PatternMatcher.CreatePatternMatcher(pattern, includeMatchedSpans: true).AddMatches(candidate, ref matches.AsRef());
Microsoft.CodeAnalysis.Features (14)
Completion\PatternMatchHelper.cs (6)
38private readonly Dictionary<(CultureInfo, bool includeMatchedSpans), PatternMatcher> _patternMatcherMap = []; 50var patternMatcher = GetPatternMatcher(culture, includeMatchSpans); 81private PatternMatcher GetPatternMatcher(CultureInfo culture, bool includeMatchedSpans) 86if (!_patternMatcherMap.TryGetValue(key, out var patternMatcher)) 88patternMatcher = PatternMatcher.CreatePatternMatcher( 250foreach (var matcher in _patternMatcherMap.Values)
NavigateTo\AbstractNavigateToSearchService.CachedDocumentSearch.cs (1)
123var (patternName, patternContainer) = PatternMatcher.GetNameAndContainer(searchPattern);
NavigateTo\AbstractNavigateToSearchService.GeneratedDocumentSearch.cs (1)
68var (patternName, patternContainerOpt) = PatternMatcher.GetNameAndContainer(pattern);
NavigateTo\AbstractNavigateToSearchService.InProcess.cs (4)
94using var containerMatcher = PatternMatcher.CreateDotSeparatedContainerMatcher(patternContainer, includeMatchedSpans: true); 95using var nameMatcher = PatternMatcher.CreatePatternMatcher(patternName, includeMatchedSpans: true, matchKinds);
NavigateTo\AbstractNavigateToSearchService.NormalSearch.cs (2)
60var (patternName, patternContainerOpt) = PatternMatcher.GetNameAndContainer(searchPattern); 199var (patternName, patternContainerOpt) = PatternMatcher.GetNameAndContainer(searchPattern);
Microsoft.CodeAnalysis.Workspaces (20)
FindSymbols\Declarations\DeclarationFinder_SourceDeclarations.cs (5)
211var (namePart, containerPart) = PatternMatcher.GetNameAndContainer(pattern); 216using var nameMatcher = PatternMatcher.CreatePatternMatcher(namePart, includeMatchedSpans: false); 231using var containerPatternMatcher = PatternMatcher.CreateDotSeparatedContainerMatcher(containerPart, includeMatchedSpans: false);
FindSymbols\TopLevelSyntaxTree\NavigateToSearchIndex.NavigateToSearchInfo.cs (4)
406/// the <see cref="PatternMatcher"/>'s preprocessing: strips leading non-letter/digit 409/// Since the <see cref="PatternMatcher"/> requires all words to match, failing fast on the 446while (pattern.Length > 0 && !PatternMatcher.IsWordChar(pattern[0])) 449while (pattern.Length > 0 && !PatternMatcher.IsWordChar(pattern[^1]))
PatternMatching\CompoundPatternMatcher.cs (6)
19private readonly ArrayBuilder<PatternMatcher> _matchers; 21public CompoundPatternMatcher(ReadOnlySpan<PatternMatcher> matchers) 24_matchers = ArrayBuilder<PatternMatcher>.GetInstance(matchers.Length); 25foreach (var matcher in matchers) 31foreach (var matcher in _matchers) 39foreach (var matcher in _matchers)
PatternMatching\PatternMatcher.cs (3)
61public static PatternMatcher CreatePatternMatcher( 69public static PatternMatcher CreatePatternMatcher( 88public static PatternMatcher? CreateDotSeparatedContainerMatcher(
PatternMatching\PatternMatcherExtensions.cs (2)
12public static PatternMatch? GetFirstMatch(this PatternMatcher matcher, string? candidate) 19public static bool Matches(this PatternMatcher matcher, [NotNullWhen(true)] string? candidate)
Microsoft.CodeAnalysis.Workspaces.UnitTests (23)
FindSymbols\NavigateToSearchIndexTests.cs (23)
38using var matcher = PatternMatcher.CreatePatternMatcher( 46using var matcher = PatternMatcher.CreateDotSeparatedContainerMatcher(containerPattern, includeMatchedSpans: false); 827/// <see cref="PatternMatcher"/> produces the expected match kind. 1136using var matcher = PatternMatcher.CreatePatternMatcher("@static", includeMatchedSpans: false); 1158using var matcher = PatternMatcher.CreatePatternMatcher("get word", includeMatchedSpans: false); 1184using var matcher = PatternMatcher.CreatePatternMatcher("line", includeMatchedSpans: false); 1212using var standardMatcher = PatternMatcher.CreatePatternMatcher("Xoobar", includeMatchedSpans: false); 1216using var fuzzyMatcher = PatternMatcher.CreatePatternMatcher("Xoobar", includeMatchedSpans: false, PatternMatcherKind.Fuzzy); 1236using var matcher = PatternMatcher.CreatePatternMatcher("class", includeMatchedSpans: false, matchKinds); 1256using var matcher = PatternMatcher.CreatePatternMatcher("[class]", includeMatchedSpans: false, matchKinds); 1274using var matcher = PatternMatcher.CreatePatternMatcher("_myField", includeMatchedSpans: false, matchKinds); 1292using var matcher = PatternMatcher.CreatePatternMatcher("[_class]", includeMatchedSpans: false, matchKinds);
Microsoft.VisualStudio.LanguageServices (3)
DocumentOutline\DocumentOutlineViewModel_Utilities.cs (3)
143using var patternMatcher = PatternMatcher.CreatePatternMatcher( 155static bool SearchNodeTree(DocumentSymbolData tree, PatternMatcher patternMatcher, CancellationToken cancellationToken)