Skip to content

Commit

Permalink
Merge pull request #572 from christianhelle/source-generator-error-re…
Browse files Browse the repository at this point in the history
…porting

Show Deserializaton Errors from Source Generator
  • Loading branch information
christianhelle authored Dec 19, 2024
2 parents 6376ddc + 88dea30 commit d511a0b
Showing 1 changed file with 19 additions and 5 deletions.
24 changes: 19 additions & 5 deletions src/Refitter.SourceGenerator/RefitterSourceGenerator.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System.Diagnostics.CodeAnalysis;
using System.Diagnostics.CodeAnalysis;
using System.Text;
using Microsoft.CodeAnalysis;
using Refitter.Core;
Expand Down Expand Up @@ -76,7 +76,7 @@ private static List<Diagnostic> GenerateCode(
true),
Location.None));

var settings = TryDeserialize(json);
var settings = TryDeserialize(json, diagnostics);
if (settings is null)
{
return diagnostics;
Expand Down Expand Up @@ -151,15 +151,29 @@ private static List<Diagnostic> GenerateCode(
}
}

private static RefitGeneratorSettings? TryDeserialize(string json)
private static RefitGeneratorSettings? TryDeserialize(string json, List<Diagnostic> diagnostics)
{
try
{
return Serializer.Deserialize<RefitGeneratorSettings>(json);
}
catch
catch (Exception e)
{
diagnostics.Add(
Diagnostic.Create(
new DiagnosticDescriptor(
"REFITTER000",
"Error",
$"Unable to deserialize .refitter file: {e}",
"Refitter",
DiagnosticSeverity.Error,
true
),
Location.None
)
);

return null;
}
}
}
}

0 comments on commit d511a0b

Please sign in to comment.