| File: Json\ObjectReaders.cs | Web Access |
| Project: src\sdk\src\RazorSdk\Tool\Microsoft.NET.Sdk.Razor.Tool.csproj (rzc) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.AspNetCore.Razor.Language; namespace Microsoft.NET.Sdk.Razor.Tool.Json; internal static partial class ObjectReaders { public static RazorDiagnostic ReadDiagnostic(JsonDataReader reader) => reader.ReadNonNullObject(ReadDiagnosticFromProperties); public static RazorDiagnostic ReadDiagnosticFromProperties(JsonDataReader reader) { var id = reader.ReadNonNullString(nameof(RazorDiagnostic.Id)); var severity = (RazorDiagnosticSeverity)reader.ReadInt32OrZero(nameof(RazorDiagnostic.Severity)); var message = reader.ReadNonNullString(WellKnownPropertyNames.Message); var filePath = reader.ReadStringOrNull(nameof(SourceSpan.FilePath)); var absoluteIndex = reader.ReadInt32OrZero(nameof(SourceSpan.AbsoluteIndex)); var lineIndex = reader.ReadInt32OrZero(nameof(SourceSpan.LineIndex)); var characterIndex = reader.ReadInt32OrZero(nameof(SourceSpan.CharacterIndex)); var length = reader.ReadInt32OrZero(nameof(SourceSpan.Length)); var descriptor = new RazorDiagnosticDescriptor(id, message, severity); var span = new SourceSpan(filePath, absoluteIndex, lineIndex, characterIndex, length); return RazorDiagnostic.Create(descriptor, span); } }