Skip to content

Commit 7ab7913

Browse files
ds5678SamboyCoding
authored andcommitted
ToTypeSignature performance improvement
1 parent f246720 commit 7ab7913

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

Cpp2IL.Core/Utils/AsmResolver/ContextToTypeSignature.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,18 @@ private static TypeDefinition GetTypeDefinition(this TypeAnalysisContext context
1515
}
1616

1717
public static TypeSignature ToTypeSignature(this TypeAnalysisContext context, ModuleDefinition parentModule) => context switch
18+
{
19+
ReferencedTypeAnalysisContext referencedTypeAnalysisContext => referencedTypeAnalysisContext.ToTypeSignature(parentModule),
20+
_ => parentModule.DefaultImporter.ImportType(context.GetTypeDefinition()).ToTypeSignature()
21+
};
22+
23+
public static TypeSignature ToTypeSignature(this ReferencedTypeAnalysisContext context, ModuleDefinition parentModule) => context switch
1824
{
1925
GenericParameterTypeAnalysisContext genericParameterTypeAnalysisContext => genericParameterTypeAnalysisContext.ToTypeSignature(parentModule),
2026
GenericInstanceTypeAnalysisContext genericInstanceTypeAnalysisContext => genericInstanceTypeAnalysisContext.ToTypeSignature(parentModule),
2127
WrappedTypeAnalysisContext wrappedTypeAnalysisContext => wrappedTypeAnalysisContext.ToTypeSignature(parentModule),
2228
SentinelTypeAnalysisContext => SentinelTypeSignature.Instance,
23-
_ => parentModule.DefaultImporter.ImportType(context.GetTypeDefinition()).ToTypeSignature()
29+
_ => throw new ArgumentException($"Unknown referenced type context {context.GetType()}", nameof(context))
2430
};
2531

2632
public static GenericInstanceTypeSignature ToTypeSignature(this GenericInstanceTypeAnalysisContext context, ModuleDefinition parentModule)

0 commit comments

Comments
 (0)