ExceptionPolyfills
using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
namespace System
{
    internal static class ExceptionPolyfills
    {
        public sealed class <G>$E6188BA5B951F1F7AA9135E0EBB76F2B
        {
            public static class <M>$96F0261AC622664B8B003966835C0332
            {
            }
            [ExtensionMarker("<M>$96F0261AC622664B8B003966835C0332")]
            public static void ThrowIfNull([System.Diagnostics.CodeAnalysis.NotNull] object argument, [System.Runtime.CompilerServices.CallerArgumentExpression("argument")] string paramName = null)
            {
                throw null;
            }
        }
        public sealed class <G>$3F30F31B33543D5FB8E174FB4FD780B9
        {
            public static class <M>$1F10CFA08738E6D8AF61CBECC6763DBC
            {
            }
            [ExtensionMarker("<M>$1F10CFA08738E6D8AF61CBECC6763DBC")]
            public static void ThrowIf([System.Diagnostics.CodeAnalysis.DoesNotReturnIf(true)] bool condition, object instance)
            {
                throw null;
            }
            [ExtensionMarker("<M>$1F10CFA08738E6D8AF61CBECC6763DBC")]
            public static void ThrowIf([System.Diagnostics.CodeAnalysis.DoesNotReturnIf(true)] bool condition, Type type)
            {
                throw null;
            }
        }
        public static void ThrowIfNull([System.Diagnostics.CodeAnalysis.NotNull] object argument, [System.Runtime.CompilerServices.CallerArgumentExpression("argument")] string paramName = null)
        {
            if (argument == null)
                ThrowArgumentNullException(paramName);
        }
        [System.Diagnostics.CodeAnalysis.DoesNotReturn]
        private static void ThrowArgumentNullException(string paramName)
        {
            throw new ArgumentNullException(paramName);
        }
        public static void ThrowIf([System.Diagnostics.CodeAnalysis.DoesNotReturnIf(true)] bool condition, object instance)
        {
            if (condition)
                ThrowObjectDisposedException(instance);
        }
        public static void ThrowIf([System.Diagnostics.CodeAnalysis.DoesNotReturnIf(true)] bool condition, Type type)
        {
            if (condition)
                ThrowObjectDisposedException(type);
        }
        [System.Diagnostics.CodeAnalysis.DoesNotReturn]
        private static void ThrowObjectDisposedException(object instance)
        {
            throw new ObjectDisposedException(instance?.GetType().FullName);
        }
        [System.Diagnostics.CodeAnalysis.DoesNotReturn]
        private static void ThrowObjectDisposedException(Type type)
        {
            throw new ObjectDisposedException(type?.FullName);
        }
    }
}