@@ -12,7 +12,7 @@ | |||
<classpathentry kind="lib" path="/lib/commons/commons.jar" sourcepath="/lib/commons/commons-src.zip"/> | |||
<classpathentry kind="lib" path="/lib/bcel/bcel.jar" sourcepath="/lib/bcel/bcel-src.zip"/> | |||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> | |||
<classpathentry kind="lib" path="/lib/asm/asm-3.1.jar"/> | |||
<classpathentry combineaccessrules="false" kind="src" path="/org.aspectj.matcher"/> | |||
<classpathentry kind="lib" path="/lib/asm/asm-3.3.1.renamed.jar"/> | |||
<classpathentry kind="output" path="bin"/> | |||
</classpath> |
@@ -678,12 +678,12 @@ public final class LazyClassGen { | |||
writeBack(world); | |||
byte[] wovenClassFileData = myGen.getJavaClass().getBytes(); | |||
// if is java 6 class file | |||
if (myGen.getMajor() >= Constants.MAJOR_1_6 && world.shouldGenerateStackMaps() && AsmDetector.isAsmAround) { | |||
if (((myGen.getMajor() == Constants.MAJOR_1_6 && world.shouldGenerateStackMaps()) || myGen.getMajor() > Constants.MAJOR_1_6) | |||
&& AsmDetector.isAsmAround) { | |||
wovenClassFileData = StackMapAdder.addStackMaps(world, wovenClassFileData); | |||
} | |||
WeaverStateInfo wsi = myType.getWeaverState();// getOrCreateWeaverStateInfo | |||
// (); | |||
WeaverStateInfo wsi = myType.getWeaverState();// getOrCreateWeaverStateInfo(); | |||
if (wsi != null && wsi.isReweavable()) { // && !reweavableDataInserted | |||
// reweavableDataInserted = true; | |||
return wsi.replaceKeyWithDiff(wovenClassFileData); |
@@ -24,8 +24,8 @@ public class AsmDetector { | |||
static { | |||
try { | |||
Class reader = Class.forName("org.objectweb.asm.ClassReader"); | |||
Class visitor = Class.forName("org.objectweb.asm.ClassVisitor"); | |||
Class<?> reader = Class.forName("aj.org.objectweb.asm.ClassReader"); | |||
Class<?> visitor = Class.forName("aj.org.objectweb.asm.ClassVisitor"); | |||
Method m = reader.getMethod("accept", new Class[] { visitor, Integer.TYPE }); | |||
isAsmAround = m != null; | |||
} catch (Exception e) { |
@@ -14,8 +14,9 @@ package org.aspectj.weaver.bcel.asm; | |||
import org.aspectj.weaver.ResolvedType; | |||
import org.aspectj.weaver.UnresolvedType; | |||
import org.aspectj.weaver.World; | |||
import org.objectweb.asm.ClassReader; | |||
import org.objectweb.asm.ClassWriter; | |||
import aj.org.objectweb.asm.ClassReader; | |||
import aj.org.objectweb.asm.ClassWriter; | |||
/** | |||
* Uses asm to add the stack map attribute to methods in a class. The class is passed in as pure byte data and then a reader/writer |