Applied patch from Fabian Schmied:
commit717de4a50988d615568ab3af6f040bfe8ac518af
authorayende <ayende@73e77b4c-caa6-f847-a29a-24ab75ae54b6>
Sat, 14 Apr 2007 11:23:28 +0000 (14 11:23 +0000)
committerayende <ayende@73e77b4c-caa6-f847-a29a-24ab75ae54b6>
Sat, 14 Apr 2007 11:23:28 +0000 (14 11:23 +0000)
tree7a97ede225b3dba40de02d391b2472bbe9443619
parent9a49215276d5659598b18e36645e31533e616dbb
Applied patch from Fabian Schmied:
- Cleans up generics code a bit.
- Ensures that proxy base and interfaces are not open generic types.
- Adds a mechanism to IInvocation to access the type arguments and the concrete closed generic methods of the invocation. This includes loading of the generic arguments in the invocation for generic methods, which might decrease performance a bit for these methods. The MakeGenericMethod is however only performed on demand.
- Tests.

git-svn-id: https://svn.castleproject.org/svn/castle/trunk@3703 73e77b4c-caa6-f847-a29a-24ab75ae54b6
16 files changed:
Tools/Castle.DynamicProxy2/Castle.DynamicProxy.Tests/Castle.DynamicProxy.Tests-vs2005.csproj
Tools/Castle.DynamicProxy2/Castle.DynamicProxy.Tests/GenInterfaces/OnlyGenMethodsInterface.cs [copied from Tools/Castle.DynamicProxy2/Castle.DynamicProxy.Tests/Interceptors/KeepDataInterceptor.cs with 62% similarity]
Tools/Castle.DynamicProxy2/Castle.DynamicProxy.Tests/GenericClassProxyTestCase.cs
Tools/Castle.DynamicProxy2/Castle.DynamicProxy.Tests/GenericInterfaceProxyTestCase.cs
Tools/Castle.DynamicProxy2/Castle.DynamicProxy.Tests/GenericTestUtility.cs [new file with mode: 0644]
Tools/Castle.DynamicProxy2/Castle.DynamicProxy.Tests/Interceptors/KeepDataInterceptor.cs
Tools/Castle.DynamicProxy2/Castle.DynamicProxy/AbstractInvocation.cs
Tools/Castle.DynamicProxy2/Castle.DynamicProxy/DefaultProxyBuilder.cs
Tools/Castle.DynamicProxy2/Castle.DynamicProxy/Generators/BaseProxyGenerator.cs
Tools/Castle.DynamicProxy2/Castle.DynamicProxy/Generators/ClassProxyGenerator.cs
Tools/Castle.DynamicProxy2/Castle.DynamicProxy/Generators/Emitters/ClassEmitter.cs
Tools/Castle.DynamicProxy2/Castle.DynamicProxy/Generators/Emitters/MethodEmitter.cs
Tools/Castle.DynamicProxy2/Castle.DynamicProxy/Generators/InterfaceProxyWithTargetGenerator.cs
Tools/Castle.DynamicProxy2/Castle.DynamicProxy/ProxyGenerator.cs
Tools/Castle.DynamicProxy2/Castle.DynamicProxy/RemotableInvocation.cs
Tools/Castle.DynamicProxy2/Castle.DynamicProxy2-vs2005.sln