You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by st...@apache.org on 2013/05/31 08:05:16 UTC
svn commit: r1488102 -
/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/AsmAdaptor.java
Author: struberg
Date: Fri May 31 06:05:16 2013
New Revision: 1488102
URL: http://svn.apache.org/r1488102
Log:
OPENJPA-2388 support for xbean shaded ASM4
txs to rmannibucau for the patch!
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/AsmAdaptor.java
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/AsmAdaptor.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/AsmAdaptor.java?rev=1488102&r1=1488101&r2=1488102&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/AsmAdaptor.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/AsmAdaptor.java Fri May 31 06:05:16 2013
@@ -59,13 +59,18 @@ public final class AsmAdaptor {
static {
// try the "real" asm first, then the others
tryClass("org.objectweb.asm.");
+ tryClass("org.apache.xbean.asm4.");
tryClass("org.apache.xbean.asm.");
tryClass("org.springframework.asm.");
// get needed stuff
try {
COMPUTE_FRAMES = cwClass.getField("COMPUTE_FRAMES").getInt(null);
- classReaderAccept = crClass.getMethod("accept", cwClass.getInterfaces()[0], int.class);
+ if (cwClass.getInterfaces().length > 0) { // ASM 3
+ classReaderAccept = crClass.getMethod("accept", cwClass.getInterfaces()[0], int.class);
+ } else { // ASM 4
+ classReaderAccept = crClass.getMethod("accept", cwClass.getSuperclass(), int.class);
+ }
classReaderConstructor = crClass.getConstructor(InputStream.class);
classWriterConstructor = cwClass.getConstructor(int.class);
classWritertoByteArray = cwClass.getMethod("toByteArray");