fix: fix bug that MetaUtil.GetTypeDefOrGenericTypeBaseOrNull and GetMemberRefTypeDefParentOrNull raise NullException when type is TypeSpec but isn't GenericType

before-split
walon 2025-05-21 18:31:10 +08:00
parent 1f29de26cf
commit 425db24ee2
1 changed files with 10 additions and 2 deletions

View File

@ -85,6 +85,10 @@ namespace Obfuz.Utils
if (type.IsTypeSpec)
{
GenericInstSig gis = type.TryGetGenericInstSig();
if (gis == null)
{
return null;
}
return gis.GenericType.ToTypeDefOrRef().ResolveTypeDefThrow();
}
return null;
@ -102,8 +106,12 @@ namespace Obfuz.Utils
}
if (parent is TypeSpec typeSpec)
{
GenericInstSig genericIns = typeSpec.TypeSig.ToGenericInstSig();
return genericIns.GenericType.TypeDefOrRef.ResolveTypeDefThrow();
GenericInstSig gis = typeSpec.TryGetGenericInstSig();
if (gis == null)
{
return null;
}
return gis.GenericType.TypeDefOrRef.ResolveTypeDefThrow();
}
return null;
}