44 lines
1.3 KiB
C#
44 lines
1.3 KiB
C#
#nullable enable
|
|
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace ShrinkSDK.CodeGen
|
|
{
|
|
|
|
public enum ShrinkCodeGenDiagnosticSeverity { Info, Warning, Error }
|
|
public enum ShrinkCodeGenPlatform { EngineNeutral, Unity }
|
|
|
|
public sealed class ShrinkCodeGenDiagnostic
|
|
{
|
|
public ShrinkCodeGenDiagnostic(ShrinkCodeGenDiagnosticSeverity severity, string message)
|
|
{
|
|
Severity = severity;
|
|
Message = message;
|
|
}
|
|
|
|
public ShrinkCodeGenDiagnosticSeverity Severity { get; }
|
|
public string Message { get; }
|
|
}
|
|
|
|
public sealed class ShrinkWeaveResult
|
|
{
|
|
public ShrinkWeaveResult(bool changed, int instanceSubscribers, int staticSubscribers,
|
|
int registryEntries, IReadOnlyList<ShrinkCodeGenDiagnostic> diagnostics)
|
|
{
|
|
Changed = changed;
|
|
InstanceSubscribers = instanceSubscribers;
|
|
StaticSubscribers = staticSubscribers;
|
|
RegistryEntries = registryEntries;
|
|
Diagnostics = diagnostics;
|
|
}
|
|
|
|
public bool Changed { get; }
|
|
public int InstanceSubscribers { get; }
|
|
public int StaticSubscribers { get; }
|
|
public int RegistryEntries { get; }
|
|
public IReadOnlyList<ShrinkCodeGenDiagnostic> Diagnostics { get; }
|
|
public bool Succeeded => Diagnostics.All(item => item.Severity != ShrinkCodeGenDiagnosticSeverity.Error);
|
|
}
|
|
}
|