Author: struberg
Date: Sat Feb  9 22:40:32 2013
New Revision: 1444460

URL: http://svn.apache.org/r1444460
Log:
OWB-344 INVOKEVIRTUAL must really only get used for interfaces

and not also for abstract methods 

Modified:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java?rev=1444460&r1=1444459&r2=1444460&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java
 Sat Feb  9 22:40:32 2013
@@ -400,7 +400,7 @@ public class NormalScopeProxyFactory ext
 
             // and finally invoke the target method on the provided Contextual 
Instance
             final Type declaringClass = 
Type.getType(delegatedMethod.getDeclaringClass());
-            boolean interfaceMethod = 
Modifier.isAbstract(delegatedMethod.getModifiers());
+            boolean interfaceMethod = 
Modifier.isInterface(delegatedMethod.getDeclaringClass().getModifiers());
             mv.visitMethodInsn(interfaceMethod ? Opcodes.INVOKEINTERFACE : 
Opcodes.INVOKEVIRTUAL,
                                declaringClass.getInternalName(), 
delegatedMethod.getName(), methodDescriptor);
 

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java?rev=1444460&r1=1444459&r2=1444460&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
 Sat Feb  9 22:40:32 2013
@@ -252,7 +252,7 @@ public final class ClassUtil
             {
                 final int modifiers = method.getModifiers();
 
-                if (Modifier.isPrivate(modifiers) || 
Modifier.isStatic(modifiers) || Modifier.isAbstract(modifiers))
+                if (Modifier.isPrivate(modifiers) || 
Modifier.isStatic(modifiers))
                 {
                     continue;
                 }


Reply via email to