using System.Collections.Generic; public sealed class SugarMethodSpec { public string Name { get; init; } = ""; public string ReturnType { get; init; } = "void"; public List Parameters { get; init; } = new(); public List BodyLines { get; init; } = new(); // Optional compile-time guard (combined with RequiresExtensions) public string? Guard { get; init; } // Requirements (checked against vk.xml). Method is generated only if all match. public List RequiresFunctions { get; init; } = new(); public List RequiresExtensions { get; init; } = new(); // Method qualifiers public bool IsConst { get; init; } = false; public bool IsNoexcept { get; init; } = false; public bool IsStatic { get; init; } = false; } public sealed class SugarClassSpec { public string TargetClass { get; init; } = ""; public List Includes { get; init; } = new(); public List Methods { get; init; } = new(); public SugarClassSpec() { } public SugarClassSpec(string targetClass) { TargetClass = targetClass; } }