Explorar el Código

asm3.3.1/jarjar'd and activated auto stackmap creation for major version 51 classfiles (java7)

tags/V1_6_12M2
aclement hace 12 años
padre
commit
0c541f6694

+ 1
- 1
weaver/.classpath Ver fichero

@@ -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>

+ 3
- 3
weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java Ver fichero

@@ -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);

+ 2
- 2
weaver/src/org/aspectj/weaver/bcel/asm/AsmDetector.java Ver fichero

@@ -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) {

+ 3
- 2
weaver/src/org/aspectj/weaver/bcel/asm/StackMapAdder.java Ver fichero

@@ -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

Cargando…
Cancelar
Guardar