namespace AssemblyRemapper.Models; /// <summary> /// Remap config /// </summary> internal class AppSettings { public bool Debug { get; set; } public bool SilentMode { get; set; } public bool ScoringMode { get; set; } public bool Publicize { get; set; } public bool Unseal { get; set; } public string AssemblyPath { get; set; } public string OutputPath { get; set; } public HashSet<Remap> Remaps { get; set; } = []; } /// <summary> /// Object to store linq statements in inside of json to search and remap classes /// </summary> internal class Remap { public string NewTypeName { get; set; } = string.Empty; public string OldTypeName { get; set; } = string.Empty; public bool UseForceRename { get; set; } public RemapSearchParams SearchParams { get; set; } = new(); } /// <summary> /// Search filters to find types and remap them /// </summary> internal class RemapSearchParams { public bool? IsPublic { get; set; } = null; public bool? IsAbstract { get; set; } = null; public bool? IsInterface { get; set; } = null; public bool? IsEnum { get; set; } = null; public bool? IsNested { get; set; } = null; public string? ParentName { get; set; } = null; public bool? IsSealed { get; set; } = null; public bool? HasAttribute { get; set; } = null; public bool? IsDerived { get; set; } = null; public bool? HasGenericParameters { get; set; } = null; public HashSet<string> MethodNamesToMatch { get; set; } = []; public HashSet<string> MethodNamesToIgnore { get; set; } = []; public HashSet<string> FieldNamesToMatch { get; set; } = []; public HashSet<string> FieldNamesToIgnore { get; set; } = []; public HashSet<string> PropertyNamesToMatch { get; set; } = []; public HashSet<string> PropertyNamesToIgnore { get; set; } = []; public HashSet<string> NestedTypesToMatch { get; set; } = []; public HashSet<string> NestedTypesToIgnore { get; set; } = []; public RemapSearchParams() { } }