// 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.Collections.Generic;
usingSystem.Collections.Immutable;
usingSystem.Linq;
namespaceMicrosoft.CodeAnalysis
{
internalpartialclassErrorLogger
{
/// <summary>
/// Represents an issue to be logged into the error log.
/// This could be corresponding to a <see cref="Diagnostic"/> or a <see cref="DiagnosticInfo"/> reported by the <see cref="CommonCompiler"/>.
// 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.Collections.Generic;
usingSystem.Collections.Immutable;
namespaceMicrosoft.CodeAnalysis
{
internalpartialclassErrorLogger
{
/// <summary>
/// Represents a value for a key-value pair to be emitted into the error log file.
/// This could be a simple string or an integer OR could be a list of identical values OR a group of heterogeneous key-value pairs.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespaceMicrosoft.CodeAnalysis
{
internalpartialclassErrorLogger
{
/// <summary>
/// Contains well known property strings for error log file.
// 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.Runtime.Serialization.Json;
namespaceRoslyn.Utilities
{
/// <summary>
/// A simple, forward-only JSON writer to avoid adding dependencies to the compiler.
/// Used to generate /errorlogger output.
///
/// Does not guarantee well-formed JSON if misused. It is the caller's reponsibility
/// to balance array/object start/end, to only write key-value pairs to objects and
/// elements to arrays, etc.
///
/// Takes ownership of the given StreamWriter at construction and handles its disposal.