// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
usingSystem;
usingSystem.IO;
usingSystem.Reflection;
usingSystem.Reflection.Metadata;
usingSystem.Runtime.InteropServices;
usingSystem.Threading;
usingMicrosoft.CodeAnalysis.EditAndContinue;
usingMicrosoft.DiaSymReader;
usingRoslyn.Utilities;
namespaceMicrosoft.CodeAnalysis.Debugging
{
/// <summary>
/// An abstraction of a symbol reader that provides a reader of Edit and Continue debug information.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
usingSystem;
usingSystem.IO;
usingSystem.Linq;
usingSystem.Reflection.Metadata;
usingSystem.Reflection.PortableExecutable;
usingMicrosoft.CodeAnalysis.Debugging;
namespaceMicrosoft.CodeAnalysis.Emit
{
/// <summary>
/// Reads compilation outputs such as output assembly and PDB.
/// </summary>
internalabstractclassCompilationOutputs
{
/// <summary>
/// String describing the assembly to be used in user facing error messages (e.g. file path).
/// </summary>
publicabstractstringAssemblyDisplayPath{get;}
/// <summary>
/// String describing the PDB to be used in user facing error messages (e.g. file path).
/// </summary>
publicabstractstringPdbDisplayPath{get;}
/// <summary>
/// Opens metadata section of the assembly file produced by the compiler.
/// </summary>
/// <param name="prefetch">
/// True to prefetch all metadata from the assembly and close the underlying stream on return,
/// otherwise keeps the underlying stream open until the returned <see cref="MetadataReaderProvider"/> is disposed.
/// </param>
/// <returns>
/// Instance of <see cref="MetadataReaderProvider"/>, which owns the opened metadata and must be disposed once the caller is done reading the data,
/// or null if the assembly is not available.
/// </returns>
/// <exception cref="BadImageFormatException">Invalid format of the assembly data.</exception>
/// <exception cref="InvalidOperationException">The stream returned by <see cref="OpenAssemblyStreamChecked"/> does not support read and seek operations.</exception>
/// <exception cref="Exception">Error while reading assembly data.</exception>
/// The caller must dispose the returned <see cref="DebugInformationReaderProvider"/>.
/// </summary>
/// <returns>
/// Instance of <see cref="DebugInformationReaderProvider"/>, which owns the opened PDB and must be disposed once the caller is done reading the data,
/// or null if PDB is not available.
/// </returns>
/// <exception cref="BadImageFormatException">Invalid format of the PDB or assembly data.</exception>
/// <exception cref="InvalidOperationException">The stream returned by <see cref="OpenPdbStreamChecked"/> or <see cref="OpenAssemblyStreamChecked"/> does not support read and seek operations.</exception>
/// <exception cref="Exception">Error while reading assembly data.</exception>
/// <remarks>
/// If a separate PDB stream is not available (<see cref="OpenPdbStreamChecked"/> returns null) opens the PDB embedded in the assembly, if present.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
usingSystem;
usingSystem.Collections.Immutable;
usingSystem.IO;
usingMicrosoft.CodeAnalysis;
...
...
@@ -19,7 +21,7 @@ internal class VisualStudioProjectOptionsProcessor : IDisposable
/// Gate to guard all mutable fields in this class.
/// The lock hierarchy means you are allowed to call out of this class and into <see cref="_project"/> while holding the lock.
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.