From db578c389e35ee026ed4ea12dfdcef99f8bc3b28 Mon Sep 17 00:00:00 2001
From: Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com>
Date: Thu, 26 May 2022 00:57:13 -0400
Subject: drop support for pre-Pintail proxying

---
 .../Reflection/OriginalInterfaceProxyFactory.cs    | 57 ----------------------
 1 file changed, 57 deletions(-)
 delete mode 100644 src/SMAPI/Framework/Reflection/OriginalInterfaceProxyFactory.cs

(limited to 'src/SMAPI/Framework/Reflection/OriginalInterfaceProxyFactory.cs')

diff --git a/src/SMAPI/Framework/Reflection/OriginalInterfaceProxyFactory.cs b/src/SMAPI/Framework/Reflection/OriginalInterfaceProxyFactory.cs
deleted file mode 100644
index d6966978..00000000
--- a/src/SMAPI/Framework/Reflection/OriginalInterfaceProxyFactory.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Reflection;
-using System.Reflection.Emit;
-
-namespace StardewModdingAPI.Framework.Reflection
-{
-    /// <inheritdoc />
-    internal class OriginalInterfaceProxyFactory : IInterfaceProxyFactory
-    {
-        /*********
-        ** Fields
-        *********/
-        /// <summary>The CLR module in which to create proxy classes.</summary>
-        private readonly ModuleBuilder ModuleBuilder;
-
-        /// <summary>The generated proxy types.</summary>
-        private readonly IDictionary<string, OriginalInterfaceProxyBuilder> Builders = new Dictionary<string, OriginalInterfaceProxyBuilder>();
-
-
-        /*********
-        ** Public methods
-        *********/
-        /// <summary>Construct an instance.</summary>
-        public OriginalInterfaceProxyFactory()
-        {
-            AssemblyBuilder assemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(new AssemblyName($"StardewModdingAPI.Proxies, Version={this.GetType().Assembly.GetName().Version}, Culture=neutral"), AssemblyBuilderAccess.Run);
-            this.ModuleBuilder = assemblyBuilder.DefineDynamicModule("StardewModdingAPI.Proxies");
-        }
-
-        /// <inheritdoc />
-        public TInterface CreateProxy<TInterface>(object instance, string sourceModID, string targetModID)
-            where TInterface : class
-        {
-            lock (this.Builders)
-            {
-                // validate
-                if (instance == null)
-                    throw new InvalidOperationException("Can't proxy access to a null API.");
-                if (!typeof(TInterface).IsInterface)
-                    throw new InvalidOperationException("The proxy type must be an interface, not a class.");
-
-                // get proxy type
-                Type targetType = instance.GetType();
-                string proxyTypeName = $"StardewModdingAPI.Proxies.From<{sourceModID}_{typeof(TInterface).FullName}>_To<{targetModID}_{targetType.FullName}>";
-                if (!this.Builders.TryGetValue(proxyTypeName, out OriginalInterfaceProxyBuilder? builder))
-                {
-                    builder = new OriginalInterfaceProxyBuilder(proxyTypeName, this.ModuleBuilder, typeof(TInterface), targetType);
-                    this.Builders[proxyTypeName] = builder;
-                }
-
-                // create instance
-                return (TInterface)builder.CreateInstance(instance);
-            }
-        }
-    }
-}
-- 
cgit