diff --git a/Cpp2IL.Core/Utils/AsmResolver/ContextToMethodDescriptor.cs b/Cpp2IL.Core/Utils/AsmResolver/ContextToMethodDescriptor.cs index de9fee60..94decb56 100644 --- a/Cpp2IL.Core/Utils/AsmResolver/ContextToMethodDescriptor.cs +++ b/Cpp2IL.Core/Utils/AsmResolver/ContextToMethodDescriptor.cs @@ -43,7 +43,7 @@ public static IMethodDescriptor ToMethodDescriptor(this ConcreteGenericMethodAna } else { - var typeSignatures = methodGenericParameters.Select(p => p.ToTypeSignature(parentModule)).ToArray(); + var typeSignatures = methodGenericParameters.Select(p => p.ToTypeSignature(parentModule)); return parentModule.DefaultImporter.ImportMethod(memberReference.MakeGenericInstanceMethod(typeSignatures)); } } diff --git a/Cpp2IL.Core/Utils/AsmResolver/ContextToTypeSignature.cs b/Cpp2IL.Core/Utils/AsmResolver/ContextToTypeSignature.cs index 9a2127ed..467da8f1 100644 --- a/Cpp2IL.Core/Utils/AsmResolver/ContextToTypeSignature.cs +++ b/Cpp2IL.Core/Utils/AsmResolver/ContextToTypeSignature.cs @@ -17,7 +17,7 @@ private static TypeDefinition GetTypeDefinition(this TypeAnalysisContext context public static TypeSignature ToTypeSignature(this TypeAnalysisContext context, ModuleDefinition parentModule) => context switch { ReferencedTypeAnalysisContext referencedTypeAnalysisContext => referencedTypeAnalysisContext.ToTypeSignature(parentModule), - _ => parentModule.DefaultImporter.ImportType(context.GetTypeDefinition()).ToTypeSignature(parentModule.RuntimeContext) + _ => parentModule.DefaultImporter.ImportType(context.GetTypeDefinition()).ToTypeSignature(context.IsValueType) }; public static TypeSignature ToTypeSignature(this ReferencedTypeAnalysisContext context, ModuleDefinition parentModule) => context switch @@ -32,7 +32,7 @@ private static TypeDefinition GetTypeDefinition(this TypeAnalysisContext context public static GenericInstanceTypeSignature ToTypeSignature(this GenericInstanceTypeAnalysisContext context, ModuleDefinition parentModule) { var genericType = context.GenericType.ToTypeSignature(parentModule).ToTypeDefOrRef(); - var genericArguments = context.GenericArguments.Select(a => a.ToTypeSignature(parentModule)).ToArray(); + var genericArguments = context.GenericArguments.Select(a => a.ToTypeSignature(parentModule)); return new GenericInstanceTypeSignature(genericType, context.IsValueType, genericArguments); }