From e20f9be411fda6c3dc7bec403acf3e38e0395e5a Mon Sep 17 00:00:00 2001 From: Richard Brown Date: Tue, 24 Jan 2012 13:09:04 +0000 Subject: [PATCH] NH-2857: Medium Trust Bug in 3.2 - duplicated the reference to the Interceptor so the generated code is visible in Reflector --- .../Proxy/DynamicProxy/DefaultMethodEmitter.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/NHibernate/Proxy/DynamicProxy/DefaultMethodEmitter.cs b/src/NHibernate/Proxy/DynamicProxy/DefaultMethodEmitter.cs index ddf8bf3ba69..fdcc0861e32 100644 --- a/src/NHibernate/Proxy/DynamicProxy/DefaultMethodEmitter.cs +++ b/src/NHibernate/Proxy/DynamicProxy/DefaultMethodEmitter.cs @@ -66,13 +66,11 @@ public void EmitMethodBody(ILGenerator IL, MethodInfo method, FieldInfo field) // if (interceptor == null) // return base.method(...); - Label skipThrow = IL.DefineLabel(); + Label skipBaseCall = IL.DefineLabel(); - IL.Emit(OpCodes.Dup); IL.Emit(OpCodes.Ldnull); - IL.Emit(OpCodes.Bne_Un, skipThrow); + IL.Emit(OpCodes.Bne_Un, skipBaseCall); - IL.Emit(OpCodes.Pop); // get rid of the reference to the duplicated interceptor IL.Emit(OpCodes.Ldarg_0); for(int i=0; i