fix: fix bug that MetaUtil.GetTypeDefOrGenericTypeBaseOrNull and GetMemberRefTypeDefParentOrNull raise NullException when type is TypeSpec but isn't GenericType
parent
1f29de26cf
commit
425db24ee2
|
@ -85,6 +85,10 @@ namespace Obfuz.Utils
|
||||||
if (type.IsTypeSpec)
|
if (type.IsTypeSpec)
|
||||||
{
|
{
|
||||||
GenericInstSig gis = type.TryGetGenericInstSig();
|
GenericInstSig gis = type.TryGetGenericInstSig();
|
||||||
|
if (gis == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return gis.GenericType.ToTypeDefOrRef().ResolveTypeDefThrow();
|
return gis.GenericType.ToTypeDefOrRef().ResolveTypeDefThrow();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
@ -102,8 +106,12 @@ namespace Obfuz.Utils
|
||||||
}
|
}
|
||||||
if (parent is TypeSpec typeSpec)
|
if (parent is TypeSpec typeSpec)
|
||||||
{
|
{
|
||||||
GenericInstSig genericIns = typeSpec.TypeSig.ToGenericInstSig();
|
GenericInstSig gis = typeSpec.TryGetGenericInstSig();
|
||||||
return genericIns.GenericType.TypeDefOrRef.ResolveTypeDefThrow();
|
if (gis == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return gis.GenericType.TypeDefOrRef.ResolveTypeDefThrow();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue