5 types derived from PatternMatcher
Microsoft.CodeAnalysis.Workspaces (5)
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\RegexPatternMatcher.cs (1)
23: PatternMatcher(includeMatchedSpans, culture)
PatternMatching\SimplePatternMatcher.cs (1)
15internal sealed partial class SimplePatternMatcher : PatternMatcher
69 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 (11)
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.InProcess.cs (5)
86var (patternName, containerOpt) = PatternMatcher.GetNameAndContainer(searchPattern); 149using var nameMatcher = PatternMatcher.CreateNameMatcher( 154using var containerMatcher = PatternMatcher.CreateContainerMatcher(
Microsoft.CodeAnalysis.Workspaces (22)
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)
407/// the <see cref="PatternMatcher"/>'s preprocessing: strips leading non-letter/digit 410/// Since the <see cref="PatternMatcher"/> requires all words to match, failing fast on the 447while (pattern.Length > 0 && !PatternMatcher.IsWordChar(pattern[0])) 450while (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 (5)
61public static PatternMatcher CreatePatternMatcher( 69public static PatternMatcher CreatePatternMatcher( 88public static PatternMatcher? CreateDotSeparatedContainerMatcher( 105public static PatternMatcher? CreateNameMatcher( 118public static PatternMatcher? CreateContainerMatcher(
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 (25)
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);
FindSymbols\RegexPatternMatcherTests.cs (2)
15using var matcher = PatternMatcher.CreateNameMatcher(pattern, isRegex: true, includeMatchedSpans);
Microsoft.VisualStudio.LanguageServices (3)
DocumentOutline\DocumentOutlineViewModel_Utilities.cs (3)
143using var patternMatcher = PatternMatcher.CreatePatternMatcher( 155static bool SearchNodeTree(DocumentSymbolData tree, PatternMatcher patternMatcher, CancellationToken cancellationToken)