4 instantiations of GlobPattern
Microsoft.Build (1)
Globbing\MSBuildGlob.cs (1)
215GlobPattern newMatcher = new(fixedDirectoryPart, wildcardDirectoryPart, filenamePart, useInvariantCulture);
Microsoft.Build.Framework (3)
Globbing\GlobPattern.cs (1)
62new(pattern, ignoreCase, useInvariantCulture, isFilePattern);
Utilities\FileMatcher.cs (2)
1419globFileMatch = new GlobPattern( 1921? new GlobPattern(
38 references to GlobPattern
Microsoft.Build (13)
FileSystem\DirectoryCacheFileSystemWrapper.cs (1)
87return FileMatcher.IsAllFilesWildcard(searchPattern) || GlobPattern.MatchesName(fileName, searchPattern);
Globbing\MSBuildGlob.cs (6)
36public GlobPattern Matcher { get; } 38public GlobState(string globRoot, string fileSpec, bool isLegal, string fixedDirectoryPart, string wildcardDirectoryPart, string filenamePart, bool needsRecursion, GlobPattern matcher) 51private static readonly WeakValueDictionary<string, GlobPattern> s_matcherCache = new(); 58internal GlobPattern TestOnlyMatcher => _state.Value.Matcher; 198GlobPattern matcher = null; 215GlobPattern newMatcher = new(fixedDirectoryPart, wildcardDirectoryPart, filenamePart, useInvariantCulture);
Utilities\FileSpecMatchTester.cs (6)
20private readonly GlobPattern _matcher; 22private FileSpecMatcherTester(string currentDirectory, string unescapedFileSpec, string filenamePattern, GlobPattern matcher) 44GlobPattern matcher = null; 91if (!GlobPattern.MatchesName(filename.AsSpan(), _filenamePattern)) 106private static void CreateGlobOrFilenamePattern(string unescapedFileSpec, string currentDirectory, out string filenamePattern, out GlobPattern matcher) 141out GlobPattern glob,
Microsoft.Build.Framework (21)
Globbing\GlobPattern.cs (1)
61internal static GlobPattern ForName(string pattern, bool ignoreCase, bool useInvariantCulture, bool isFilePattern) =>
Globbing\MSBuildPathMatcher.cs (11)
47private readonly GlobPattern?[]? _cultureSensitiveDirectoryPatterns; 56private readonly GlobPattern? _filePatternMatcher; 82? new GlobPattern?[_directoryPatterns.Length] 99_cultureSensitiveDirectoryPatterns![index] = GlobPattern.ForName( 140_filePatternMatcher = GlobPattern.ForName( 149? GlobPattern.ForName(filePattern, _ignoreCaseFilePattern, useInvariantCulture, isFilePattern: true) 513GlobPattern? matcher) 520return GlobPattern.MatchesName(name, pattern, ignoreCase); 531&& (!_enforceStrictWin32Match || GlobPattern.MatchesName(fileName, _filePattern)); 536GlobPattern? cultureSensitivePattern = _cultureSensitiveDirectoryPatterns?[patternIndex]; 554|| GlobPattern.MatchesName(directoryName, _directoryPatterns[patternIndex]));
Utilities\FileMatcher.cs (9)
150(GlobPattern matcher, bool needsRecursion, bool isLegalFileSpec)>> s_globCache = new(); 841GlobPattern globFileMatch, // can be null 866public GlobPattern GlobFileMatch { get; } 1409out GlobPattern globFileMatch, 1432out GlobPattern globFileMatch, 1442GetFileSpecInfoWithGlobCore(key.FileSpec, out var matcher, out var needsRec, out var isLegal); 1584return GlobPattern.MatchesName(Path.GetFileName(path.AsSpan()), pattern); 1620GlobPattern globFileMatch; 3670return (index != -1 && GlobPattern.MatchesName(directoryPath.AsSpan(index + 1), pattern));
Microsoft.Build.Tasks.Core (4)
Untar.cs (2)
394result = _includePatterns.All(pattern => !GlobPattern.MatchesName(FileMatcher.Normalize(entryName).AsSpan(), pattern)); 399result |= _excludePatterns.Any(pattern => GlobPattern.MatchesName(FileMatcher.Normalize(entryName).AsSpan(), pattern));
Unzip.cs (2)
311result = _includePatterns.All(pattern => !GlobPattern.MatchesName(FileMatcher.Normalize(zipArchiveEntry.FullName).AsSpan(), pattern)); 316result |= _excludePatterns.Any(pattern => GlobPattern.MatchesName(FileMatcher.Normalize(zipArchiveEntry.FullName).AsSpan(), pattern));