Class
Sealed
public sealed class DiagnosticBag
Namespace: Moka.Docs.Core.Diagnostics
Collects diagnostic messages during the build pipeline.
Properties
| Name | Description |
|---|---|
All |
All collected diagnostics. |
Count |
Number of diagnostics. |
HasErrors |
Whether there are any error-level diagnostics. |
HasWarnings |
Whether there are any warning-level diagnostics. |
All
IReadOnlyList<Diagnostic> DiagnosticBag.All { get; }
All collected diagnostics.
Count
int DiagnosticBag.Count { get; }
Number of diagnostics.
HasErrors
bool DiagnosticBag.HasErrors { get; }
Whether there are any error-level diagnostics.
HasWarnings
bool DiagnosticBag.HasWarnings { get; }
Whether there are any warning-level diagnostics.
Methods
| Name | Description |
|---|---|
Error(string message, string? source) |
Add an error diagnostic. |
Info(string message, string? source) |
Add an info diagnostic. |
Warning(string message, string? source) |
Add a warning diagnostic. |
Error(string message, string? source)
void DiagnosticBag.Error(string message, string? source = null)
Add an error diagnostic.
Info(string message, string? source)
void DiagnosticBag.Info(string message, string? source = null)
Add an info diagnostic.
Warning(string message, string? source)
void DiagnosticBag.Warning(string message, string? source = null)
Add a warning diagnostic.
View Source
/// <summary>
/// Collects diagnostic messages during the build pipeline.
/// </summary>
public sealed class DiagnosticBag
{
private readonly List<Diagnostic> _diagnostics = [];
/// <summary>All collected diagnostics.</summary>
public IReadOnlyList<Diagnostic> All => _diagnostics;
/// <summary>Whether there are any error-level diagnostics.</summary>
public bool HasErrors => _diagnostics.Exists(d => d.Severity == DiagnosticSeverity.Error);
/// <summary>Whether there are any warning-level diagnostics.</summary>
public bool HasWarnings => _diagnostics.Exists(d => d.Severity == DiagnosticSeverity.Warning);
/// <summary>Number of diagnostics.</summary>
public int Count => _diagnostics.Count;
/// <summary>Add an error diagnostic.</summary>
public void Error(string message, string? source = null)
{
_diagnostics.Add(new Diagnostic { Severity = DiagnosticSeverity.Error, Message = message, Source = source });
}
/// <summary>Add a warning diagnostic.</summary>
public void Warning(string message, string? source = null)
{
_diagnostics.Add(new Diagnostic { Severity = DiagnosticSeverity.Warning, Message = message, Source = source });
}
/// <summary>Add an info diagnostic.</summary>
public void Info(string message, string? source = null)
{
_diagnostics.Add(new Diagnostic { Severity = DiagnosticSeverity.Info, Message = message, Source = source });
}
}