| File: PEWriter\SourceSpan.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.Diagnostics; using System.Diagnostics.CodeAnalysis; using Roslyn.Utilities; namespace Microsoft.CodeAnalysis.CodeGen { [SuppressMessage("Performance", "RS0008", Justification = "Equality not actually implemented")] [DebuggerDisplay("{" + nameof(GetDebuggerDisplay) + "(),nq}")] internal readonly struct SourceSpan { public readonly int StartLine; public readonly int StartColumn; public readonly int EndLine; public readonly int EndColumn; public readonly Cci.DebugSourceDocument Document; public SourceSpan( Cci.DebugSourceDocument document, int startLine, int startColumn, int endLine, int endColumn) { RoslynDebug.Assert(document != null); StartLine = startLine; StartColumn = startColumn; EndLine = endLine; EndColumn = endColumn; Document = document; } public override int GetHashCode() { throw ExceptionUtilities.Unreachable(); } public override bool Equals(object? obj) { throw ExceptionUtilities.Unreachable(); } private string GetDebuggerDisplay() { return $"({StartLine}, {StartColumn}) - ({EndLine}, {EndColumn})"; } } }