Author: rmannibucau
Date: Mon Dec 29 13:53:03 2014
New Revision: 1648346

URL: http://svn.apache.org/r1648346
Log:
support interface proxying correctly

Modified:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java?rev=1648346&r1=1648345&r2=1648346&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java
 Mon Dec 29 13:53:03 2014
@@ -353,7 +353,10 @@ public class InterceptorDecoratorProxyFa
             }
 
             final Type declaringClass = 
Type.getType(delegatedMethod.getDeclaringClass());
-            mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, 
declaringClass.getInternalName(), delegatedMethod.getName(), methodDescriptor, 
false);
+            boolean isItf = delegatedMethod.getDeclaringClass().isInterface();
+            mv.visitMethodInsn(
+                    isItf ? Opcodes.INVOKEINTERFACE : Opcodes.INVOKEVIRTUAL, 
declaringClass.getInternalName(),
+                    delegatedMethod.getName(), methodDescriptor, isItf);
 
             generateReturn(mv, delegatedMethod);
 


Reply via email to