341 references to PathUtilities
Microsoft.CodeAnalysis (90)
AssemblyUtilities.cs (5)
33RoslynDebug.Assert(PathUtilities.IsAbsolute(filePath)); 84RoslynDebug.Assert(PathUtilities.IsAbsolute(filePath)); 104Debug.Assert(PathUtilities.IsAbsolute(filePath)); 140RoslynDebug.Assert(PathUtilities.IsAbsolute(assemblyPath)); 178Debug.Assert(PathUtilities.IsAbsolute(assemblyPath));
CommandLine\AnalyzerConfig.cs (1)
151NormalizedDirectory = PathUtilities.NormalizeWithForwardSlash(directory);
CommandLine\AnalyzerConfigSet.cs (2)
198var normalizedPath = PathUtilities.NormalizeWithForwardSlash(sourcePath); 199normalizedPath = PathUtilities.ExpandAbsolutePathWithRelativeParts(normalizedPath);
CommandLine\CommandLineParser.cs (10)
64Debug.Assert(PathUtilities.IsAbsolute(directory)); 370from = PathUtilities.EnsureTrailingSeparator(from); 371to = PathUtilities.EnsureTrailingSeparator(to); 450PathUtilities.ChangeExtension(outputFileName, extension: null).Length == 0) 556string? directory = PathUtilities.GetDirectoryName(resolvedPath); 587Debug.Assert(PathUtilities.IsAbsolute(fullPath)); 868fileName = PathUtilities.GetFileName(filePath); 1108ReadOnlyMemory<char> extension = PathUtilities.GetExtension(resolvedPath.AsMemory()); 1230string? directory = PathUtilities.GetDirectoryName(path); 1231string pattern = PathUtilities.GetFileName(path);
CommandLine\CommonCompiler.CompilerEmitStreamProvider.cs (1)
73if (PathUtilities.IsUnixLikePlatform)
CommandLine\CommonCompiler.cs (6)
126Debug.Assert(null == responseFile || PathUtilities.IsAbsolute(responseFile)); 1143WithPdbFilePath(PathUtilities.NormalizePathPrefix(finalPdbFilePath, Arguments.PathMap)); 1181if (!PathUtilities.IsValidFilePath(finalPdbFilePath)) 1459var filePaths = new HashSet<string>(PathUtilities.Comparer); 1463Debug.Assert(PathUtilities.IsAbsolute(file.Path)); 1464if (filePaths.Add(PathUtilities.ExpandAbsolutePathWithRelativeParts(file.Path)))
CommandLine\SarifErrorLogger.cs (2)
149if (!PathUtilities.IsUnixLikePlatform) 152path = PathUtilities.NormalizeWithForwardSlash(path);
Compilation\Compilation.cs (1)
3189pePdbFilePath = PathUtilities.GetFileName(pePdbFilePath);
Compilation\CompilationOptions.cs (1)
583if (CryptoKeyFile != null && !PathUtilities.IsAbsolute(CryptoKeyFile))
Compilation\DeterministicKeyBuilder.cs (1)
55filePath = PathUtilities.NormalizePathPrefix(filePath, pathMap);
DiagnosticAnalyzer\AnalysisResultBuilder.cs (2)
25ImmutableDictionary<string, OneOrMany<AdditionalText>>.Empty.WithComparers(PathUtilities.Comparer); 70var builder = ImmutableDictionary.CreateBuilder<string, OneOrMany<AdditionalText>>(PathUtilities.Comparer);
DiagnosticAnalyzer\AnalysisScope.cs (1)
236!PathUtilities.Comparer.Equals(externalFileLocation.GetLineSpan().Path, filterFile.AdditionalFile.Path))
DiagnosticAnalyzer\AnalyzerAssemblyLoader.cs (2)
73string simpleName = PathUtilities.GetFileName(fullPath, includeExtension: false); 79paths = ImmutableHashSet.Create(PathUtilities.Comparer, fullPath);
DiagnosticAnalyzer\AnalyzerExecutor.AnalyzerDiagnosticReporter.cs (1)
127return PathUtilities.Comparer.Equals(_contextFile.Value.AdditionalFile.Path, externalFileLocation.GetLineSpan().Path);
FileKey.cs (1)
30Debug.Assert(PathUtilities.IsAbsolute(fullPath));
FileSystem\CompilerPathUtilities.cs (1)
18if (!PathUtilities.IsAbsolute(path))
FileSystem\FileUtilities.cs (25)
47Debug.Assert(baseDirectory == null || searchPaths != null || PathUtilities.IsAbsolute(baseDirectory)); 52var kind = PathUtilities.GetPathKind(path); 59combinedPath = PathUtilities.CombinePathsUnchecked(baseDirectory, path); 60Debug.Assert(PathUtilities.IsAbsolute(combinedPath)); 70combinedPath = PathUtilities.CombinePathsUnchecked(searchPath, path); 71Debug.Assert(PathUtilities.IsAbsolute(combinedPath)); 84Debug.Assert(PathUtilities.IsAbsolute(combinedPath)); 101Debug.Assert(baseDirectory == null || PathUtilities.IsAbsolute(baseDirectory)); 102return ResolveRelativePath(PathUtilities.GetPathKind(path), path, basePath, baseDirectory); 107Debug.Assert(PathUtilities.GetPathKind(path) == kind); 122return PathUtilities.CombinePathsUnchecked(baseDirectory, path); 139return PathUtilities.CombinePathsUnchecked(baseDirectory, path); 150return PathUtilities.CombinePathsUnchecked(baseDirectory, path); 156baseRoot = PathUtilities.GetPathRoot(basePath); 160baseRoot = PathUtilities.GetPathRoot(baseDirectory); 172Debug.Assert(PathUtilities.IsDirectorySeparator(path![0])); 173Debug.Assert(path.Length == 1 || !PathUtilities.IsDirectorySeparator(path[1])); 174return PathUtilities.CombinePathsUnchecked(baseRoot, path.Substring(1)); 198Debug.Assert(PathUtilities.IsAbsolute(resolvedBasePath)); 243Debug.Assert(PathUtilities.IsAbsolute(path)); 270Debug.Assert(PathUtilities.IsAbsolute(path)); 284Debug.Assert(PathUtilities.IsAbsolute(fullPath)); 302Debug.Assert(PathUtilities.IsAbsolute(fullPath)); 368Debug.Assert(PathUtilities.IsAbsolute(fullPath)); 386Debug.Assert(PathUtilities.IsAbsolute(fullPath));
FileSystem\PathUtilities.cs (1)
854=> PathUtilities.GetDirectoryName(path, isUnixLike);
FileSystem\RelativePathResolver.cs (3)
31Debug.Assert(searchPaths.All(PathUtilities.IsAbsolute)); 32Debug.Assert(baseDirectory == null || PathUtilities.GetPathKind(baseDirectory) == PathKind.Absolute); 52Debug.Assert(PathUtilities.IsAbsolute(fullPath));
InternalUtilities\AdditionalTextComparer.cs (2)
30if (!PathUtilities.Comparer.Equals(x.Path, y.Path)) 55return Hash.Combine(PathUtilities.Comparer.GetHashCode(obj.Path),
InternalUtilities\GeneratedCodeUtilities.cs (3)
65var fileName = PathUtilities.GetFileName(filePath); 71var extension = PathUtilities.GetExtension(fileName); 74var fileNameWithoutExtension = PathUtilities.GetFileName(filePath, includeExtension: false);
PEWriter\MetadataWriter.PortablePdb.cs (1)
967var fileName = PathUtilities.GetFileName(portableReference.FilePath);
RuleSet\RuleSetInclude.cs (2)
95if (resolvedIncludePath == null && PathUtilities.IsUnixLikePlatform) 120includePath = PathUtilities.CombinePathsUnchecked(Path.GetDirectoryName(parentRulesetPath) ?? "", includePath);
SourceFileResolver.cs (4)
47if (baseDirectory != null && PathUtilities.GetPathKind(baseDirectory) != PathKind.Absolute) 76var normalizedKey = PathUtilities.EnsureTrailingSeparator(key); 77var normalizedValue = PathUtilities.EnsureTrailingSeparator(value); 99return (normalizedPath == null || _pathMap.IsDefaultOrEmpty) ? normalizedPath : PathUtilities.NormalizePathPrefix(normalizedPath, _pathMap);
StrongName\DesktopStrongNameProvider.cs (6)
56if (!keyFileSearchPaths.IsDefault && keyFileSearchPaths.Any(static path => !PathUtilities.IsAbsolute(path))) 81Debug.Assert(PathUtilities.IsAbsolute(resolvedKeyFile)); 120if (PathUtilities.IsAbsolute(path)) 132string? combinedPath = PathUtilities.CombineAbsoluteAndRelativePaths(searchPath, path); 134Debug.Assert(combinedPath == null || PathUtilities.IsAbsolute(combinedPath)); 193catch (MarshalDirectiveException) when (PathUtilities.IsUnixLikePlatform)
StrongName\StrongNameFileSystem.cs (2)
33Debug.Assert(PathUtilities.IsAbsolute(fullPath)); 39Debug.Assert(fullPath == null || PathUtilities.IsAbsolute(fullPath));
XmlFileResolver.cs (3)
24if (baseDirectory != null && PathUtilities.GetPathKind(baseDirectory) != PathKind.Absolute) 59Debug.Assert(resolvedPath == null || PathUtilities.IsAbsolute(resolvedPath)); 69Debug.Assert(resolvedPath == null || PathUtilities.IsAbsolute(resolvedPath));
Microsoft.CodeAnalysis.CSharp (13)
CommandLine\CommandLineDiagnosticFormatter.cs (3)
70var normalizedDirectory = PathUtilities.GetDirectoryName(normalizedPath); 71if (PathUtilities.IsSameDirectoryOrChildOf(normalizedDirectory, normalizedBaseDirectory)) 74PathUtilities.IsDirectorySeparator(normalizedBaseDirectory.Last())
CommandLine\CSharpCommandLineParser.cs (7)
52Debug.Assert(baseDirectory == null || PathUtilities.IsAbsolute(baseDirectory)); 72DebugInformationFormat debugInformationFormat = PathUtilities.IsUnixLikePlatform ? DebugInformationFormat.PortablePdb : DebugInformationFormat.Pdb; 794debugInformationFormat = PathUtilities.IsUnixLikePlatform ? DebugInformationFormat.PortablePdb : DebugInformationFormat.Pdb; 1660simpleName = PathUtilities.RemoveExtension(PathUtilities.GetFileName(sourceFiles.FirstOrDefault().Path)); 1672simpleName = PathUtilities.RemoveExtension(outputFileName); 2059if (!PathUtilities.IsValidFilePath(fullPath))
CommandLine\CSharpCompiler.cs (2)
104Debug.Assert(sourceFiles[i].IsInputRedirected || PathUtilities.IsAbsolute(normalizedFilePath)); 262string entryPointFileName = PathUtilities.GetFileName(entryPoint.Locations.First().SourceTree!.FilePath);
Symbols\Source\SourceAssemblySymbol.cs (1)
488if (!string.IsNullOrEmpty(keyFile) && !PathUtilities.IsAbsolute(keyFile))
Microsoft.CodeAnalysis.CSharp.CommandLine.UnitTests (10)
CommandLineTests.cs (10)
1897var platformPdbKind = PathUtilities.IsUnixLikePlatform ? DebugInformationFormat.PortablePdb : DebugInformationFormat.Pdb; 6866Assert.Equal(1, Directory.EnumerateFiles(dir.Path, "*" + PathUtilities.GetExtension(expectedOutputName)).Count()); 6875Assert.Equal(PathUtilities.RemoveExtension(expectedOutputName), peReader.GetString(peReader.GetAssemblyDefinition().Name)); 9121var formattedcs1504Str = String.Format(cs1504, PathUtilities.CombineAbsoluteAndRelativePaths(tempParentDir.Path, "tmpDir\a.cs"), "Illegal characters in path."); 9141var formattedcs1504 = String.Format(cs1504, PathUtilities.CombineAbsoluteAndRelativePaths(tempParentDir.Path, @":a.cs"), @"The given path's format is not supported."); 11245var s = PathUtilities.DirectorySeparatorStr; 11419AssertPdbEmit(dir, pdbPath, "/goo/a.pdb", $"/pathmap:{dir.Path}=/goo,{dir.Path}{PathUtilities.DirectorySeparatorChar}=/bar"); 12089var platformPdbKind = PathUtilities.IsUnixLikePlatform ? DebugInformationFormat.PortablePdb : DebugInformationFormat.Pdb; 13640string root = PathUtilities.IsUnixLikePlatform ? "/" : "c:\\"; 14298[{PathUtilities.NormalizeWithForwardSlash(src.Path)}]
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (3)
Attributes\InternalsVisibleToAndStrongNameTests.cs (2)
175TestOptions.ReleaseDll.WithStrongNameProvider(GetProviderWithPath(PathUtilities.CombineAbsoluteAndRelativePaths(keyFileDir, @"TempSubDir\")))); 190ImmutableArray.Create(PathUtilities.CombineAbsoluteAndRelativePaths(keyFileDir, @"TempSubDir\")),
Diagnostics\DiagnosticAnalyzerTests.cs (1)
3876d => d.Id == analyzer.Descriptor.Id && PathUtilities.Comparer.Equals(d.Location.GetLineSpan().Path, additionalFile.Path));
Microsoft.CodeAnalysis.CSharp.Scripting.UnitTests (5)
CommandLineRunnerTests.cs (5)
559var scriptPath = PathUtilities.CombinePathsUnchecked(PathUtilities.GetFileName(directory.Path), scriptName); 560var workingDirectory = PathUtilities.GetDirectoryName(directory.Path); 561Assert.False(PathUtilities.IsAbsolute(scriptPath)); 592Assert.Equal(expectedOutput, PathUtilities.GetDirectoryName(path, isUnixLike: false));
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (1)
Symbols\ModuleInitializers\ModuleInitializersTests.cs (1)
1155emitOptions: EmitOptions.Default.WithDebugInformationFormat(PathUtilities.IsUnixLikePlatform ? DebugInformationFormat.PortablePdb : DebugInformationFormat.Pdb),
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (1)
Diagnostics\DiagnosticTest.cs (1)
2887var sep = PathUtilities.DirectorySeparatorChar;
Microsoft.CodeAnalysis.Scripting (14)
Hosting\AssemblyLoader\InteractiveAssemblyLoader.cs (1)
175if (!PathUtilities.IsAbsolute(path))
Hosting\AssemblyLoader\MetadataShadowCopyProvider.cs (1)
116if (!PathUtilities.IsAbsolute(path))
Hosting\Resolvers\RuntimeMetadataReferenceResolver.cs (9)
32PathUtilities.GetDirectoryName(typeof(object).GetTypeInfo().Assembly.ManifestModule.FullyQualifiedName) : null; 46private static readonly char[] s_directorySeparators = new[] { PathUtilities.DirectorySeparatorChar, PathUtilities.AltDirectorySeparatorChar }; 122var definitionDirectory = PathUtilities.GetDirectoryName((definition as PortableExecutableReference)?.FilePath); 125string pathWithoutExtension = PathUtilities.CombinePathsUnchecked(definitionDirectory, referenceIdentity.Name); 155else if (PathUtilities.IsFilePath(reference)) 159var result = ResolveTrustedPlatformAssembly(PathUtilities.GetFileName(reference, includeExtension: false), properties); 216if (PathUtilities.GetExtension(path) == ".dll") 218string fileName = PathUtilities.GetFileName(path, includeExtension: false);
RelativePathResolver.cs (3)
31Debug.Assert(searchPaths.All(PathUtilities.IsAbsolute)); 32Debug.Assert(baseDirectory == null || PathUtilities.GetPathKind(baseDirectory) == PathKind.Absolute); 52Debug.Assert(PathUtilities.IsAbsolute(fullPath));
Microsoft.CodeAnalysis.Test.Utilities (7)
Assert\ConditionalFactAttribute.cs (2)
307public override bool ShouldSkip => !PathUtilities.IsUnixLikePlatform; 313public override bool ShouldSkip => PathUtilities.IsUnixLikePlatform && !ExecutionConditionUtil.IsMacOS;
Compilation\CompilationExtensions.cs (1)
66if (MonoHelpers.IsRunningOnMono() || PathUtilities.IsUnixLikePlatform)
Diagnostics\CommonDiagnosticAnalyzers.cs (1)
1664var fileNameWithoutExtension = PathUtilities.GetFileName(tree.FilePath, includeExtension: false);
Mocks\TestMetadataReferenceResolver.cs (1)
35if (PathUtilities.IsFilePath(reference))
PDB\TestMetadataReferenceInfo.cs (1)
45PathUtilities.GetFileName(fullPath),
TempFiles\TempFile.cs (1)
25Debug.Assert(PathUtilities.IsAbsolute(path));
Microsoft.CodeAnalysis.UnitTests (175)
Analyzers\AnalyzerFileReferenceTests.cs (1)
58var refBadPath = new AnalyzerFileReference(PathUtilities.CombinePathsUnchecked(TempRoot.Root, "\0<>|*.xyz"), loader);
Diagnostics\SarifErrorLoggerTests.cs (1)
93var isUnix = PathUtilities.IsUnixLikePlatform;
Diagnostics\SarifV1ErrorLoggerTests.cs (1)
50""uri"": """ + (PathUtilities.IsUnixLikePlatform
Diagnostics\SarifV2ErrorLoggerTests.cs (1)
45""uri"": """ + (PathUtilities.IsUnixLikePlatform
Emit\EmitOptionsTests.cs (1)
64PathUtilities.IsUnixLikePlatform ? DebugInformationFormat.Pdb : DebugInformationFormat.PortablePdb);
FileSystem\PathUtilitiesTests.cs (89)
18var roslynName = PathUtilities.TestAccessor.GetDirectoryName(fullPath, isUnixLike: false); 36Assert.Null(PathUtilities.TestAccessor.GetDirectoryName(@"", isUnixLike: false)); 57PathUtilities.TestAccessor.GetDirectoryName(@"/temp/goo.txt", isUnixLike: true)); 61PathUtilities.TestAccessor.GetDirectoryName(@"/temp/goo", isUnixLike: true)); 65PathUtilities.TestAccessor.GetDirectoryName(@"/temp/", isUnixLike: true)); 69PathUtilities.TestAccessor.GetDirectoryName(@"/temp", isUnixLike: true)); 72PathUtilities.TestAccessor.GetDirectoryName(@"/", isUnixLike: true)); 75PathUtilities.TestAccessor.GetDirectoryName(@"", isUnixLike: true)); 78PathUtilities.TestAccessor.GetDirectoryName(null, isUnixLike: true)); 86PathUtilities.TestAccessor.GetDirectoryName(@"goo/temp/goo.txt", isUnixLike: true)); 90PathUtilities.TestAccessor.GetDirectoryName(@"goo/temp/goo", isUnixLike: true)); 94PathUtilities.TestAccessor.GetDirectoryName(@"goo/temp/", isUnixLike: true)); 98PathUtilities.TestAccessor.GetDirectoryName(@"goo/temp", isUnixLike: true)); 102PathUtilities.TestAccessor.GetDirectoryName(@"goo/", isUnixLike: true)); 106PathUtilities.TestAccessor.GetDirectoryName(@"goo", isUnixLike: true)); 109PathUtilities.TestAccessor.GetDirectoryName(@"", isUnixLike: true)); 112PathUtilities.TestAccessor.GetDirectoryName(null, isUnixLike: true)); 137PathUtilities.TestAccessor.GetDirectoryName(@"C:\temp\..\goo.txt", isUnixLike: false)); 141PathUtilities.TestAccessor.GetDirectoryName(@"C:\temp\..", isUnixLike: false)); 145PathUtilities.TestAccessor.GetDirectoryName(@"C:\temp\.\goo.txt", isUnixLike: false)); 149PathUtilities.TestAccessor.GetDirectoryName(@"C:\temp\.", isUnixLike: false)); 156PathUtilities.TestAccessor.GetDirectoryName(@"C:temp\..\goo.txt", isUnixLike: false)); 160PathUtilities.TestAccessor.GetDirectoryName(@"C:temp\..", isUnixLike: false)); 164PathUtilities.TestAccessor.GetDirectoryName(@"C:temp\.\goo.txt", isUnixLike: false)); 168PathUtilities.TestAccessor.GetDirectoryName(@"C:temp\.", isUnixLike: false)); 179PathUtilities.ContainsPathComponent(@"c:\packages\temp", "packages", ignoreCase: true)); 181PathUtilities.ContainsPathComponent(@"\\server\packages\temp", "packages", ignoreCase: true)); 183PathUtilities.ContainsPathComponent(@"\\packages\temp", "packages", ignoreCase: true)); 185PathUtilities.ContainsPathComponent(@"c:\packages", "packages", ignoreCase: true)); 187PathUtilities.ContainsPathComponent(@"c:\packages1\temp", "packages", ignoreCase: true)); 189PathUtilities.ContainsPathComponent(@"c:\package\temp", "packages", ignoreCase: true)); 192PathUtilities.ContainsPathComponent(@"c:\packages\temp", "packages", ignoreCase: false)); 194PathUtilities.ContainsPathComponent(@"\\server\packages\temp", "packages", ignoreCase: false)); 196PathUtilities.ContainsPathComponent(@"\\packages\temp", "packages", ignoreCase: false)); 198PathUtilities.ContainsPathComponent(@"c:\packages", "packages", ignoreCase: false)); 200PathUtilities.ContainsPathComponent(@"c:\packages1\temp", "packages", ignoreCase: false)); 202PathUtilities.ContainsPathComponent(@"c:\package\temp", "packages", ignoreCase: false)); 205PathUtilities.ContainsPathComponent(@"c:\packages\temp", "Packages", ignoreCase: true)); 207PathUtilities.ContainsPathComponent(@"\\server\packages\temp", "Packages", ignoreCase: true)); 209PathUtilities.ContainsPathComponent(@"\\packages\temp", "Packages", ignoreCase: true)); 211PathUtilities.ContainsPathComponent(@"c:\packages", "Packages", ignoreCase: true)); 213PathUtilities.ContainsPathComponent(@"c:\packages1\temp", "Packages", ignoreCase: true)); 215PathUtilities.ContainsPathComponent(@"c:\package\temp", "Packages", ignoreCase: true)); 218PathUtilities.ContainsPathComponent(@"c:\packages\temp", "Packages", ignoreCase: false)); 220PathUtilities.ContainsPathComponent(@"\\server\packages\temp", "Packages", ignoreCase: false)); 222PathUtilities.ContainsPathComponent(@"\\packages\temp", "Packages", ignoreCase: false)); 224PathUtilities.ContainsPathComponent(@"c:\packages", "Packages", ignoreCase: false)); 226PathUtilities.ContainsPathComponent(@"c:\packages1\temp", "Packages", ignoreCase: false)); 228PathUtilities.ContainsPathComponent(@"c:\package\temp", "Packages", ignoreCase: false)); 231PathUtilities.ContainsPathComponent(@"c:\Packages\temp", "packages", ignoreCase: true)); 233PathUtilities.ContainsPathComponent(@"\\server\Packages\temp", "packages", ignoreCase: true)); 235PathUtilities.ContainsPathComponent(@"\\Packages\temp", "packages", ignoreCase: true)); 237PathUtilities.ContainsPathComponent(@"c:\Packages", "packages", ignoreCase: true)); 239PathUtilities.ContainsPathComponent(@"c:\Packages1\temp", "packages", ignoreCase: true)); 241PathUtilities.ContainsPathComponent(@"c:\Package\temp", "packages", ignoreCase: true)); 244PathUtilities.ContainsPathComponent(@"c:\Packages\temp", "packages", ignoreCase: false)); 246PathUtilities.ContainsPathComponent(@"\\server\Packages\temp", "packages", ignoreCase: false)); 248PathUtilities.ContainsPathComponent(@"\\Packages\temp", "packages", ignoreCase: false)); 250PathUtilities.ContainsPathComponent(@"c:\Packages", "packages", ignoreCase: false)); 252PathUtilities.ContainsPathComponent(@"c:\Packages1\temp", "packages", ignoreCase: false)); 254PathUtilities.ContainsPathComponent(@"c:\Package\temp", "packages", ignoreCase: false)); 260Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:\", @"C:")); 261Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:\", @"C:\")); 262Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:", @"C:")); 263Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:", @"C:\")); 265Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH", @"C:")); 266Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH", @"C:\")); 268Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH\", @"C:")); 269Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH\", @"C:\")); 271Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH", @"C:\ABCD")); 272Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH", @"C:\ABCD\")); 274Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH\", @"C:\ABCD")); 275Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH\", @"C:\ABCD\")); 277Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH", @"C:\ABCD\EFGH")); 278Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH", @"C:\ABCD\EFGH\")); 280Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH\", @"C:\ABCD\EFGH")); 281Assert.True(PathUtilities.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH\", @"C:\ABCD\EFGH\")); 287Assert.False(PathUtilities.IsSameDirectoryOrChildOf(@"C:\", @"C:\ABCD")); 288Assert.False(PathUtilities.IsSameDirectoryOrChildOf(@"C:\ABC", @"C:\ABCD")); 289Assert.False(PathUtilities.IsSameDirectoryOrChildOf(@"C:\ABCDE", @"C:\ABCD")); 291Assert.False(PathUtilities.IsSameDirectoryOrChildOf(@"C:\A\B\C", @"C:\A\B\C\D")); 302("data1\\", PathUtilities.IsUnixLikePlatform), 320Assert.True(isValid == PathUtilities.IsValidFilePath(path), $"Expected {isValid} for \"{path}\""); 343Assert.Equal(Path.Combine(path1, path2), PathUtilities.CombinePaths(path1, path2)); 360Assert.Equal(Path.Combine(path1, path2), PathUtilities.CombinePaths(path1, path2)); 372Assert.Equal(Path.Combine(path1, path2), PathUtilities.CombinePaths(path1, path2)); 384Assert.Equal(expected, PathUtilities.CombinePaths(path1, path2)); 391var result = PathUtilities.GetRelativePath(@"C:\A\B\", @"C:\A\B"); 399var result = PathUtilities.GetRelativePath(@"/A/B/", @"/A/B");
FileSystem\RelativePathResolverTests.cs (2)
46path = resolver.ResolvePath(fileName, baseFilePath: PathUtilities.CombineAbsoluteAndRelativePaths(dir, "goo.csx")); 116var path = resolver.ResolvePath(fileName, baseFilePath: PathUtilities.CombineAbsoluteAndRelativePaths(dir, "goo.csx"));
FileUtilitiesTests.cs (77)
22Assert.False(PathUtilities.IsAbsolute(null)); 23Assert.False(PathUtilities.IsAbsolute("")); 24Assert.False(PathUtilities.IsAbsolute("C")); 25Assert.False(PathUtilities.IsAbsolute("C:")); 26Assert.True(PathUtilities.IsAbsolute(@"C:\")); 27Assert.True(PathUtilities.IsAbsolute(@"C:/")); 28Assert.True(PathUtilities.IsAbsolute(@"C:\\")); 29Assert.False(PathUtilities.IsAbsolute(@"C\")); 30Assert.True(PathUtilities.IsAbsolute(@"\\")); // incomplete UNC 31Assert.True(PathUtilities.IsAbsolute(@"\\S")); // incomplete UNC 32Assert.True(PathUtilities.IsAbsolute(@"\/C")); // incomplete UNC 33Assert.True(PathUtilities.IsAbsolute(@"\/C\")); // incomplete UNC 34Assert.True(PathUtilities.IsAbsolute(@"\\server")); // incomplete UNC 35Assert.True(PathUtilities.IsAbsolute(@"\\server\share")); // UNC 36Assert.True(PathUtilities.IsAbsolute(@"\\?\C:\share")); // long UNC 37Assert.False(PathUtilities.IsAbsolute(@"\C")); 38Assert.False(PathUtilities.IsAbsolute(@"/C")); 44Assert.Null(PathUtilities.GetPathRoot(null)); 45Assert.Equal("", PathUtilities.GetPathRoot("")); 46Assert.Equal("", PathUtilities.GetPathRoot("C")); 47Assert.Equal("", PathUtilities.GetPathRoot("abc.txt")); 48Assert.Equal("C:", PathUtilities.GetPathRoot("C:")); 49Assert.Equal(@"C:\", PathUtilities.GetPathRoot(@"C:\")); 50Assert.Equal(@"C:/", PathUtilities.GetPathRoot(@"C:/")); 51Assert.Equal(@"C:\", PathUtilities.GetPathRoot(@"C:\\")); 52Assert.Equal(@"C:/", PathUtilities.GetPathRoot(@"C:/\")); 53Assert.Equal(@"*:/", PathUtilities.GetPathRoot(@"*:/")); 54Assert.Equal(@"0:/", PathUtilities.GetPathRoot(@"0:/")); 55Assert.Equal(@"::/", PathUtilities.GetPathRoot(@"::/")); 62Assert.Equal("/", PathUtilities.GetPathRoot(@"/")); 63Assert.Equal(@"/", PathUtilities.GetPathRoot(@"/x")); 66Assert.Equal(@"\", PathUtilities.GetPathRoot(@"\")); 67Assert.Equal(@"\", PathUtilities.GetPathRoot(@"\x")); 70Assert.Equal(@"\", PathUtilities.GetPathRoot(@"\")); 71Assert.Equal(@"\", PathUtilities.GetPathRoot(@"\x")); 74Assert.Equal(@"\\", PathUtilities.GetPathRoot(@"\\")); 75Assert.Equal(@"\\x", PathUtilities.GetPathRoot(@"\\x")); 76Assert.Equal(@"\\x\", PathUtilities.GetPathRoot(@"\\x\")); 77Assert.Equal(@"\\x\y", PathUtilities.GetPathRoot(@"\\x\y")); 78Assert.Equal(@"\\\x\y", PathUtilities.GetPathRoot(@"\\\x\y")); 79Assert.Equal(@"\\\\x\y", PathUtilities.GetPathRoot(@"\\\\x\y")); 80Assert.Equal(@"\\x\\y", PathUtilities.GetPathRoot(@"\\x\\y")); 81Assert.Equal(@"\\/x\\/y", PathUtilities.GetPathRoot(@"\\/x\\/y")); 82Assert.Equal(@"\\/x\\/y", PathUtilities.GetPathRoot(@"\\/x\\/y/")); 83Assert.Equal(@"\\/x\\/y", PathUtilities.GetPathRoot(@"\\/x\\/y\/")); 84Assert.Equal(@"\\/x\\/y", PathUtilities.GetPathRoot(@"\\/x\\/y\/zzz")); 85Assert.Equal(@"\\x\y", PathUtilities.GetPathRoot(@"\\x\y")); 86Assert.Equal(@"\\x\y", PathUtilities.GetPathRoot(@"\\x\y\\")); 87Assert.Equal(@"\\abc\xyz", PathUtilities.GetPathRoot(@"\\abc\xyz")); 88Assert.Equal(@"\\server\$c", PathUtilities.GetPathRoot(@"\\server\$c\Public")); 96Assert.Equal(@"C:\x/y", PathUtilities.CombineAbsoluteAndRelativePaths(@"C:\x/y", @"")); 97Assert.Equal(@"C:\x/y", PathUtilities.CombineAbsoluteAndRelativePaths(@"C:\x/y", null)); 98Assert.Equal(@"C:\x/y", PathUtilities.CombineAbsoluteAndRelativePaths(@"C:\x/y", null)); 100Assert.Null(PathUtilities.CombineAbsoluteAndRelativePaths(@"C:\", @"C:\goo")); 101Assert.Null(PathUtilities.CombineAbsoluteAndRelativePaths(@"C:\", @"C:goo")); 102Assert.Null(PathUtilities.CombineAbsoluteAndRelativePaths(@"C:\", @"\goo")); 104Assert.Equal(@"C:\x\y\goo", PathUtilities.CombineAbsoluteAndRelativePaths(@"C:\x\y", @"goo")); 105Assert.Equal(@"C:\x/y\goo", PathUtilities.CombineAbsoluteAndRelativePaths(@"C:\x/y", @"goo")); 106Assert.Equal(@"C:\x/y\.\goo", PathUtilities.CombineAbsoluteAndRelativePaths(@"C:\x/y", @".\goo")); 107Assert.Equal(@"C:\x/y\./goo", PathUtilities.CombineAbsoluteAndRelativePaths(@"C:\x/y", @"./goo")); 108Assert.Equal(@"C:\x/y\..\goo", PathUtilities.CombineAbsoluteAndRelativePaths(@"C:\x/y", @"..\goo")); 109Assert.Equal(@"C:\x/y\../goo", PathUtilities.CombineAbsoluteAndRelativePaths(@"C:\x/y", @"../goo")); 173Assert.Equal(PathKind.RelativeToCurrentRoot, PathUtilities.GetPathKind(@"/c:x.dll")); 176Assert.Equal(PathKind.RelativeToCurrentRoot, PathUtilities.GetPathKind(@"/:x.dll")); 179Assert.Equal(PathKind.Absolute, PathUtilities.GetPathKind(@"//:x.dll")); 182Assert.Equal(PathKind.RelativeToDriveDirectory, PathUtilities.GetPathKind(@"c::x.dll")); 185Assert.Equal(PathKind.RelativeToCurrentDirectory, PathUtilities.GetPathKind(@".\:x.dll")); 188Assert.Equal(PathKind.RelativeToCurrentParent, PathUtilities.GetPathKind(@"..\:x.dll")); 192Assert.Equal(PathKind.Empty, PathUtilities.GetPathKind(@"")); 195Assert.Equal(PathKind.Empty, PathUtilities.GetPathKind(" \t\r\n ")); 208Assert.Equal(expected, PathUtilities.GetExtension(path)); 214Assert.Equal(expected, PathUtilities.RemoveExtension(path)); 220Assert.Equal(expected, PathUtilities.ChangeExtension(path, extension)); 236Assert.Equal(".dll", PathUtilities.GetExtension("*.dll")); 247Assert.Equal("*", PathUtilities.RemoveExtension("*.dll")); 269Assert.Equal("*", PathUtilities.RemoveExtension("*.dll")); 321var result = PathUtilities.ExpandAbsolutePathWithRelativeParts(input);
InternalUtilities\AdditionalTextComparerTests.cs (1)
76if (PathUtilities.IsUnixLikePlatform)
MetadataReferences\FusionAssemblyPortabilityPolicy.cs (1)
46Debug.Assert(PathUtilities.IsAbsolute(appConfigPath));
Microsoft.CodeAnalysis.VisualBasic (12)
CommandLine\VisualBasicCommandLineParser.vb (11)
78Debug.Assert(baseDirectory Is Nothing OrElse PathUtilities.IsAbsolute(baseDirectory)) 100Dim debugInformationFormat As DebugInformationFormat = If(PathUtilities.IsUnixLikePlatform, DebugInformationFormat.PortablePdb, DebugInformationFormat.Pdb) 715debugInformationFormat = If(PathUtilities.IsUnixLikePlatform, DebugInformationFormat.PortablePdb, DebugInformationFormat.Pdb) 1450documentationPath = PathUtilities.CombineAbsoluteAndRelativePaths(outputDirectory, PathUtilities.RemoveExtension(outputFileName)) 1560Dim filePath = PathUtilities.CombineAbsoluteAndRelativePaths(absolutePath, fileName) 1715If Not PathUtilities.IsValidFilePath(fullPath) Then 2294simpleName = PathUtilities.RemoveExtension(PathUtilities.GetFileName(first.Path)) 2304Dim ext As String = PathUtilities.GetExtension(outputFileName) 2320simpleName = PathUtilities.RemoveExtension(outputFileName)
Symbols\Source\SourceAssemblySymbol.vb (1)
1662If Not String.IsNullOrEmpty(keyFile) AndAlso Not PathUtilities.IsAbsolute(keyFile) Then
Microsoft.CodeAnalysis.VisualBasic.CommandLine.UnitTests (6)
CommandLineTests.vb (6)
3033Dim platformPdbKind = If(PathUtilities.IsUnixLikePlatform, DebugInformationFormat.PortablePdb, DebugInformationFormat.Pdb) 3446Dim s = PathUtilities.DirectorySeparatorStr 3547Dim sep = PathUtilities.DirectorySeparatorChar 3698assertPdbEmit(dir, "/goo/a.pdb", {$"/pathmap:{dir.Path}=/goo,{dir.Path}{PathUtilities.DirectorySeparatorChar}=/bar"}) 5740Assert.Equal(1, Directory.EnumerateFiles(dir.Path, "*" & PathUtilities.GetExtension(expectedOutputName)).Count()) 10495Dim root As String = If(PathUtilities.IsUnixLikePlatform, "/", "c:\")
Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests (1)
Attributes\InternalsVisibleToAndStrongNameTests.vb (1)
138options:=TestOptions.ReleaseDll.WithStrongNameProvider(GetDesktopProviderWithPath(PathUtilities.CombineAbsoluteAndRelativePaths(keyFileDir, "TempSubDir\"))))
VBCSCompiler (3)
AnalyzerConsistencyChecker.cs (2)
94var comparer = PathUtilities.Comparer; 113if (PathUtilities.Comparer.Equals(compilerDirectory, Path.GetDirectoryName(loadedAssembly.CodeBase)))
MetadataCache.cs (1)
49var module = CreateModuleMetadata(PathUtilities.CombineAbsoluteAndRelativePaths(assemblyDir, moduleName)!, prefetchEntireImage: false);