mirror of
https://github.com/AssetRipper/AssetRipper.git
synced 2025-12-11 20:15:29 +01:00
35 lines
778 B
C#
35 lines
778 B
C#
namespace AssetRipper.SerializationLogic.Extensions;
|
|
|
|
public static class ResolutionExtensions
|
|
{
|
|
public static TypeDefinition CheckedResolve(this ITypeDescriptor reference)
|
|
{
|
|
if (reference.ContextModule == null)
|
|
{
|
|
throw new ResolutionException(reference);
|
|
}
|
|
|
|
if (reference is not TypeDefinition definition)
|
|
{
|
|
definition = reference.Resolve() ?? throw new ResolutionException(reference);
|
|
}
|
|
|
|
return definition;
|
|
}
|
|
|
|
public static MethodDefinition CheckedResolve(this IMethodDefOrRef reference)
|
|
{
|
|
if (reference.ContextModule == null)
|
|
{
|
|
throw new ResolutionException(reference);
|
|
}
|
|
|
|
if (reference is not MethodDefinition definition)
|
|
{
|
|
definition = reference.Resolve() ?? throw new ResolutionException(reference);
|
|
}
|
|
|
|
return definition;
|
|
}
|
|
}
|