1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-14 20:57:56 +08:00
Bartłomiej Dach 05bd912a21
Revert internal access modifier application
Unfortunately breaks a few classes (which is fixable), and also breaks
Moq/Castle dynamic proxies (which is unfortunate).

Relevant error:

    System.TypeLoadException : Method 'GetPanelBackground' in type 'Castle.Proxies.IWorkingBeatmapProxy' from assembly 'DynamicProxyGenAssembly2, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.
    Stack Trace:
        at System.Reflection.Emit.TypeBuilder.CreateTypeNoLock()
        at System.Reflection.Emit.TypeBuilder.CreateTypeInfo()
        at Castle.DynamicProxy.Generators.Emitters.AbstractTypeEmitter.BuildType()
        at Castle.DynamicProxy.Generators.BaseInterfaceProxyGenerator.GenerateType(String typeName, INamingScope namingScope)
        at Castle.DynamicProxy.Generators.BaseProxyGenerator.<>c__DisplayClass13_0.<GetProxyType>b__0(CacheKey cacheKey)
        at Castle.Core.Internal.SynchronizedDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
        at Castle.DynamicProxy.Generators.BaseProxyGenerator.GetProxyType()
        at Castle.DynamicProxy.DefaultProxyBuilder.CreateInterfaceProxyTypeWithoutTarget(Type interfaceToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options)
        at Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyTypeWithoutTarget(Type interfaceToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options)
        at Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyWithoutTarget(Type interfaceToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options, IInterceptor[] interceptors)
        at Moq.CastleProxyFactory.CreateProxy(Type mockType, IInterceptor interceptor, Type[] interfaces, Object[] arguments) in C:\projects\moq4\src\Moq\Interception\CastleProxyFactory.cs:line 50

In theory it would be possible to fix this via application of

    [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]

onto the `osu.Game` assembly, but I think this would be bad precedent.
2023-06-08 15:23:09 +02:00
..
2022-10-28 13:20:58 +09:00
2022-06-17 16:37:17 +09:00
2022-11-27 00:00:27 +09:00
2022-11-27 00:00:27 +09:00
2022-11-27 00:00:27 +09:00
2023-05-25 17:33:41 +02:00
2022-06-17 16:37:17 +09:00