From 4e1e861271a01e16e182a93b2a817a0ce41321df Mon Sep 17 00:00:00 2001 From: 7aGiven Date: Thu, 5 Dec 2024 13:44:45 +0800 Subject: [PATCH] multi class --- TypeTreeGenerator/Generator.cs | 20 ++++++++++++------- TypeTreeGenerator/TypeTreeGenerator.csproj | 2 +- TypeTreeGeneratorCLI/CLI.cs | 6 +++--- .../TypeTreeGeneratorCLI.csproj | 2 +- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/TypeTreeGenerator/Generator.cs b/TypeTreeGenerator/Generator.cs index 064a8fd..53fc576 100644 --- a/TypeTreeGenerator/Generator.cs +++ b/TypeTreeGenerator/Generator.cs @@ -15,14 +15,20 @@ public void loadFolder(string assemblyFolder) this.assemblyLoader.Loaded = true; } - public IEnumerable getTypeDefs(string m_AssemblyName, String m_ClassName, String m_Namespace) + public IEnumerable getTypeDefs(string m_AssemblyName, List m_ClassNames, String m_Namespace) { - IEnumerable typeDefs = (m_ClassName.Length > 0) ? - new List() + if (m_ClassNames.Count > 0) + { + List typeDefs = new List(); + foreach (String m_ClassName in m_ClassNames) { - assemblyLoader.GetTypeDefinition(m_AssemblyName, string.IsNullOrEmpty(m_Namespace) ? m_ClassName : $"{m_Namespace}.{m_ClassName}") - } : assemblyLoader.GetTypeDefinitions(m_AssemblyName); - return typeDefs; + typeDefs.Add(assemblyLoader.GetTypeDefinition(m_AssemblyName, string.IsNullOrEmpty(m_Namespace) ? m_ClassName : $"{m_Namespace}.{m_ClassName}")); + } + return typeDefs; + } else + { + return assemblyLoader.GetTypeDefinitions(m_AssemblyName); + } } public List convertToTypeTreeNodes(TypeDefinition typeDef, int[] version) @@ -38,4 +44,4 @@ public List convertToTypeTreeNodes(TypeDefinition typeDef, int[] v return nodes; } } -} \ No newline at end of file +} diff --git a/TypeTreeGenerator/TypeTreeGenerator.csproj b/TypeTreeGenerator/TypeTreeGenerator.csproj index b91b28b..ed16443 100644 --- a/TypeTreeGenerator/TypeTreeGenerator.csproj +++ b/TypeTreeGenerator/TypeTreeGenerator.csproj @@ -1,7 +1,7 @@  - net5.0;net6.0 + net6.0 Library true true diff --git a/TypeTreeGeneratorCLI/CLI.cs b/TypeTreeGeneratorCLI/CLI.cs index a2efddc..5db2647 100644 --- a/TypeTreeGeneratorCLI/CLI.cs +++ b/TypeTreeGeneratorCLI/CLI.cs @@ -36,7 +36,7 @@ static void Main(string[] args) } string assemblyFolder = ""; string m_AssemblyName = ""; - string m_ClassName = ""; + List m_ClassNames = new(); string m_Namespace = ""; int[] version = null; string dump = "simple"; @@ -55,7 +55,7 @@ static void Main(string[] args) i++; break; case "-c": - m_ClassName = args[i + 1]; + m_ClassNames.Add(args[i + 1]); i++; break; case "-n": @@ -91,7 +91,7 @@ static void Main(string[] args) // load typedefs gen.loadFolder(assemblyFolder); - IEnumerable typeDefs = gen.getTypeDefs(m_AssemblyName, m_ClassName, m_Namespace); + IEnumerable typeDefs = gen.getTypeDefs(m_AssemblyName, m_ClassNames, m_Namespace); if (typeDefs == null) { Console.WriteLine("Failed to get type definitions."); diff --git a/TypeTreeGeneratorCLI/TypeTreeGeneratorCLI.csproj b/TypeTreeGeneratorCLI/TypeTreeGeneratorCLI.csproj index 4f0e603..a21f2b9 100644 --- a/TypeTreeGeneratorCLI/TypeTreeGeneratorCLI.csproj +++ b/TypeTreeGeneratorCLI/TypeTreeGeneratorCLI.csproj @@ -1,7 +1,7 @@  - net5.0;net6.0 + net6.0 Exe AnyCPU;x86;x64 true