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)
356/// the <see cref="PatternMatcher"/>'s preprocessing: strips leading non-letter/digit 359/// Since the <see cref="PatternMatcher"/> requires all words to match, failing fast on the 396while (pattern.Length > 0 && !PatternMatcher.IsWordChar(pattern[0])) 399while (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); 825/// <see cref="PatternMatcher"/> produces the expected match kind. 1134using var matcher = PatternMatcher.CreatePatternMatcher("@static", includeMatchedSpans: false); 1156using var matcher = PatternMatcher.CreatePatternMatcher("get word", includeMatchedSpans: false); 1182using var matcher = PatternMatcher.CreatePatternMatcher("line", includeMatchedSpans: false); 1210using var standardMatcher = PatternMatcher.CreatePatternMatcher("Xoobar", includeMatchedSpans: false); 1214using var fuzzyMatcher = PatternMatcher.CreatePatternMatcher("Xoobar", includeMatchedSpans: false, PatternMatcherKind.Fuzzy); 1234using var matcher = PatternMatcher.CreatePatternMatcher("class", includeMatchedSpans: false, matchKinds); 1254using var matcher = PatternMatcher.CreatePatternMatcher("[class]", includeMatchedSpans: false, matchKinds); 1272using var matcher = PatternMatcher.CreatePatternMatcher("_myField", includeMatchedSpans: false, matchKinds); 1290using 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)