From ba94c7140ee82a8515ecc1f3e2567cdcd7d1bd81 Mon Sep 17 00:00:00 2001 From: gompoc <91314780+gompoc@users.noreply.github.com> Date: Tue, 24 Dec 2024 13:41:02 +0000 Subject: [PATCH] Revert "Remove IsManagedWithBody extension method" This reverts commit 6013b892db294f360240bd997efc36b18f3792a3. --- Cpp2IL.Core/OutputFormats/AsmResolverDllOutputFormatEmpty.cs | 2 +- .../OutputFormats/AsmResolverDllOutputFormatIlRecovery.cs | 2 +- .../OutputFormats/AsmResolverDllOutputFormatThrowNull.cs | 2 +- Cpp2IL.Core/Utils/AsmResolver/AsmResolverUtils.cs | 5 +++++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Cpp2IL.Core/OutputFormats/AsmResolverDllOutputFormatEmpty.cs b/Cpp2IL.Core/OutputFormats/AsmResolverDllOutputFormatEmpty.cs index 7807a3d47..5b82b18a4 100644 --- a/Cpp2IL.Core/OutputFormats/AsmResolverDllOutputFormatEmpty.cs +++ b/Cpp2IL.Core/OutputFormats/AsmResolverDllOutputFormatEmpty.cs @@ -1,6 +1,6 @@ using AsmResolver.DotNet; -using AssetRipper.CIL; using Cpp2IL.Core.Model.Contexts; +using Cpp2IL.Core.Utils.AsmResolver; namespace Cpp2IL.Core.OutputFormats; diff --git a/Cpp2IL.Core/OutputFormats/AsmResolverDllOutputFormatIlRecovery.cs b/Cpp2IL.Core/OutputFormats/AsmResolverDllOutputFormatIlRecovery.cs index c69e28a17..129f3a7b7 100644 --- a/Cpp2IL.Core/OutputFormats/AsmResolverDllOutputFormatIlRecovery.cs +++ b/Cpp2IL.Core/OutputFormats/AsmResolverDllOutputFormatIlRecovery.cs @@ -1,7 +1,7 @@ using AsmResolver.DotNet; using AsmResolver.PE.DotNet.Cil; -using AssetRipper.CIL; using Cpp2IL.Core.Model.Contexts; +using Cpp2IL.Core.Utils.AsmResolver; namespace Cpp2IL.Core.OutputFormats; diff --git a/Cpp2IL.Core/OutputFormats/AsmResolverDllOutputFormatThrowNull.cs b/Cpp2IL.Core/OutputFormats/AsmResolverDllOutputFormatThrowNull.cs index 8a86b7ec4..c554c1b91 100644 --- a/Cpp2IL.Core/OutputFormats/AsmResolverDllOutputFormatThrowNull.cs +++ b/Cpp2IL.Core/OutputFormats/AsmResolverDllOutputFormatThrowNull.cs @@ -1,7 +1,7 @@ using AsmResolver.DotNet; using AsmResolver.PE.DotNet.Cil; -using AssetRipper.CIL; using Cpp2IL.Core.Model.Contexts; +using Cpp2IL.Core.Utils.AsmResolver; namespace Cpp2IL.Core.OutputFormats; diff --git a/Cpp2IL.Core/Utils/AsmResolver/AsmResolverUtils.cs b/Cpp2IL.Core/Utils/AsmResolver/AsmResolverUtils.cs index 5b58be47b..fe5530e18 100644 --- a/Cpp2IL.Core/Utils/AsmResolver/AsmResolverUtils.cs +++ b/Cpp2IL.Core/Utils/AsmResolver/AsmResolverUtils.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Concurrent; +using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.Linq; @@ -327,6 +328,10 @@ public static ITypeDefOrRef ImportTypeIfNeeded(this ReferenceImporter importer, return importer.ImportType(type); } + public static bool IsManagedMethodWithBody(this MethodDefinition managedMethod) => + managedMethod.Managed && !managedMethod.IsAbstract && !managedMethod.IsPInvokeImpl + && !managedMethod.IsInternalCall && !managedMethod.IsNative && !managedMethod.IsRuntime; + internal static ArrayTypeSignature MakeArrayTypeWithLowerBounds(this TypeSignature elementType, int rank) { var result = new ArrayTypeSignature(elementType, rank);