| File: SyncedSource\FileBasedPrograms\ExternalHelpers.cs | Web Access |
| Project: src\roslyn\src\Features\CSharp\Portable\Microsoft.CodeAnalysis.CSharp.Features.csproj (Microsoft.CodeAnalysis.CSharp.Features) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable enable using System; using System.IO; namespace Microsoft.DotNet.FileBasedPrograms; /// <summary> /// When targeting netstandard2.0, the user of the source package must "implement" certain methods by declaring members in this type. /// </summary> internal partial class ExternalHelpers { public static partial int CombineHashCodes(int value1, int value2); public static partial string GetRelativePath(string relativeTo, string path); public static partial bool IsPathFullyQualified(string path); #if NET public static partial int CombineHashCodes(int value1, int value2) => HashCode.Combine(value1, value2); public static partial string GetRelativePath(string relativeTo, string path) => Path.GetRelativePath(relativeTo, path); public static partial bool IsPathFullyQualified(string path) => Path.IsPathFullyQualified(path); #elif FILE_BASED_PROGRAMS_SOURCE_PACKAGE_BUILD // This path should only be used when we are verifying that the source package itself builds under netstandard2.0. public static partial int CombineHashCodes(int value1, int value2) => throw new NotImplementedException(); public static partial string GetRelativePath(string relativeTo, string path) => throw new NotImplementedException(); public static partial bool IsPathFullyQualified(string path) => throw new NotImplementedException(); #endif }