using System; using System.Collections.Generic; namespace CapnpC.CSharp.Generator { /// /// Represents a .capnp -> code generator result /// public class GenerationResult { /// /// Constructs an instance in case of at least partially successful generation. /// /// Generation result per file to generate public GenerationResult(IReadOnlyList generatedFiles) { GeneratedFiles = generatedFiles; } /// /// Constructs an instance in case of total failure. /// /// Exception with details on error public GenerationResult(Exception exception) { Exception = exception; } /// /// Generation result per file to generate or null in case of total failure /// public IReadOnlyList GeneratedFiles { get; } /// /// Exception with details on error or null in case of success /// public Exception Exception { get; } /// /// true iff generation was successful /// public bool IsSuccess => GeneratedFiles != null; /// /// Messages read from standard error. Valid for both failure and success (capnp might spit out some warnings). /// public IReadOnlyList Messages { get; internal set; } /// /// Error classification (if any error) /// public CapnpProcessFailure ErrorCategory { get; internal set; } } }