A record type holding the output of compiling an effect script: the source text, color tokens, diagnostics and the compiled EffectProgram. Succeeded reports whether a program was produced.
namespace SboxSuperuser.Core.Effects;
/// <summary>The result of compiling a script: tokens for coloring, problems to show, and a program when there are none.</summary>
internal sealed record EffectCompilation( string Source, IReadOnlyList<EffectToken> Tokens, IReadOnlyList<EffectDiagnostic> Diagnostics, EffectProgram Program )
{
internal bool Succeeded => Program is not null;
}