| File: CommandLine\CommonCompiler.CompilerRelativePathResolver.cs | Web Access |
| Project: src\roslyn\src\Compilers\Core\Portable\Microsoft.CodeAnalysis.csproj (Microsoft.CodeAnalysis) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System; using System.Collections.Generic; using System.Collections.Immutable; using System.Diagnostics; using System.IO; using System.Linq; using Roslyn.Utilities; namespace Microsoft.CodeAnalysis { internal abstract partial class CommonCompiler { /// <summary> /// Looks for metadata references among the assembly file references given to the compilation when constructed. /// When scripts are included into a project we don't want #r's to reference other assemblies than those /// specified explicitly in the project references. /// </summary> internal sealed class CompilerRelativePathResolver : RelativePathResolver { internal ICommonCompilerFileSystem FileSystem { get; } internal CompilerRelativePathResolver(ICommonCompilerFileSystem fileSystem, ImmutableArray<string> searchPaths, string? baseDirectory) : base(searchPaths, baseDirectory) { FileSystem = fileSystem; } protected override bool FileExists(string fullPath) => FileSystem.FileExists(fullPath); } } }