namespace PKHeX.Core; /// /// Verification that provides new values for a . /// public abstract class Verifier { /// /// category. /// protected abstract CheckIdentifier Identifier { get; } /// /// Processes the and adds any relevant values to the . /// /// Analysis data to process public abstract void Verify(LegalityAnalysis data); protected CheckResult GetInvalid(string msg) => Get(msg, Severity.Invalid); protected CheckResult GetValid(string msg) => Get(msg, Severity.Valid); protected CheckResult Get(string msg, Severity s) => new(s, Identifier, msg); protected static CheckResult GetInvalid(string msg, CheckIdentifier c) => Get(msg, Severity.Invalid, c); protected static CheckResult GetValid(string msg, CheckIdentifier c) => Get(msg, Severity.Valid, c); protected static CheckResult Get(string msg, Severity s, CheckIdentifier c) => new(s, c, msg); }