using System.Collections.Concurrent; using System.Text.Json.Serialization; namespace Terminal.Gui.Configuration; /// /// Allow AOT and self-contained single file applications with the . /// /// The SourceGenerationContext class leverages the System.Text.Json source generation feature to pre-generate /// serialization metadata for specific types. This approach avoids runtime reflection, which is problematic in AOT /// scenarios where metadata might be stripped, and improves performance by generating serialization code at /// compile time. /// /// [JsonSerializable (typeof (bool?))] [JsonSerializable (typeof (Dictionary))] [JsonSerializable (typeof (List))] [JsonSerializable (typeof (Attribute))] [JsonSerializable (typeof (Color))] [JsonSerializable (typeof (Key))] [JsonSerializable (typeof (Glyphs))] [JsonSerializable (typeof (Alignment))] [JsonSerializable (typeof (AlignmentModes))] [JsonSerializable (typeof (LineStyle))] [JsonSerializable (typeof (ShadowStyle))] [JsonSerializable (typeof (MouseState))] [JsonSerializable (typeof (TextStyle))] [JsonSerializable (typeof (Dictionary))] [JsonSerializable (typeof (Dictionary))] [JsonSerializable (typeof (Dictionary))] [JsonSerializable (typeof (ConcurrentDictionary))] [JsonSerializable (typeof (ConfigProperty))] [JsonSerializable (typeof (Scope))] [JsonSerializable (typeof (AppSettingsScope))] [JsonSerializable (typeof (SettingsScope))] [JsonSerializable (typeof (ThemeScope))] [JsonSerializable (typeof (Scope))] [JsonSerializable (typeof (Scope))] [JsonSerializable (typeof (Scope))] [JsonSerializable (typeof (ConcurrentDictionary))] [JsonSerializable (typeof (Dictionary))] internal partial class SourceGenerationContext : JsonSerializerContext { }