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;
}