899    {
  900        if (path == null)
  901        {
  902            throw new ArgumentNullException("path");
  903        }
  904        if (basePath == null)
  905        {
  906            throw new ArgumentNullException("basePath");
  907        }
  909        {
  911        }
  912        if (basePath.Contains('\0') || path.Contains('\0'))
  913        {
  915        }
  917        {
  919        }
  920        if (PathInternal.IsEffectivelyEmpty(path.AsSpan()))
  921        {
  922            return basePath;
  923        }
  925        string text = ((
length >= 1 && PathInternal.IsDirectorySeparator(path[0])) ? 
Join(
GetPathRoot(basePath.AsSpan()), path.AsSpan(1)) : ((
length < 2 || !PathInternal.IsValidDriveChar(path[0]) || path[1] != 
':') ? 
JoinInternal(basePath.AsSpan(), path.AsSpan()) : ((!
GetVolumeName(path.AsSpan()).EqualsOrdinal(
GetVolumeName(basePath.AsSpan()))) ? ((!PathInternal.IsDevice(basePath.AsSpan())) ? path.
Insert(2, 
"\\") : ((
length == 2) ? 
JoinInternal(basePath.AsSpan(0, 4), path.AsSpan(), 
"\\".AsSpan()) : 
JoinInternal(basePath.AsSpan(0, 4), path.AsSpan(0, 2), 
"\\".AsSpan(), path.AsSpan(2)))) : 
Join(basePath.AsSpan(), path.AsSpan(2)))));
 
  926        if (!PathInternal.IsDevice(
text.AsSpan()))
 
  927        {
  929        }
  930        return PathInternal.RemoveRelativeSegments(
text, PathInternal.GetRootLength(
text.AsSpan()));
 
  931    }
static string Join(ReadOnlySpan< char > path1, ReadOnlySpan< char > path2)
 
static ? string GetPathRoot(string? path)
 
static bool IsPathFullyQualified(string path)
 
static string GetFullPathInternal(string path)
 
static ReadOnlySpan< char > GetVolumeName(ReadOnlySpan< char > path)
 
static string JoinInternal(ReadOnlySpan< char > first, ReadOnlySpan< char > second)