This is an automated email from the ASF dual-hosted git repository.
timothyjward pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/aries.git
The following commit(s) were added to refs/heads/trunk by this push:
new 9df919f40 Fix ARIES-1219 Weaving of Aries SPI Fly bundle produces
RuntimeException: JSR/RET are not supported with computeFrames option
new 55b2b3482 Merge pull request #215 from
stiemannkj1/ARIES-1219-support-jsr-ret-in-spi-fly
9df919f40 is described below
commit 9df919f40ce6022b8a8d354d1d4273d9d91d876e
Author: Kyle Stiemann <[email protected]>
AuthorDate: Fri Apr 7 16:32:24 2023 -0400
Fix ARIES-1219 Weaving of Aries SPI Fly bundle produces RuntimeException:
JSR/RET are not supported with computeFrames option
---
.../java/org/apache/aries/spifly/weaver/TCCLSetterVisitor.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git
a/spi-fly/spi-fly-weaver/src/main/java/org/apache/aries/spifly/weaver/TCCLSetterVisitor.java
b/spi-fly/spi-fly-weaver/src/main/java/org/apache/aries/spifly/weaver/TCCLSetterVisitor.java
index 76da363bb..eb3353113 100644
---
a/spi-fly/spi-fly-weaver/src/main/java/org/apache/aries/spifly/weaver/TCCLSetterVisitor.java
+++
b/spi-fly/spi-fly-weaver/src/main/java/org/apache/aries/spifly/weaver/TCCLSetterVisitor.java
@@ -25,12 +25,14 @@ import java.util.Set;
import org.apache.aries.spifly.Util;
import org.apache.aries.spifly.WeavingData;
+import org.objectweb.asm.ClassReader;
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.Label;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.Type;
import org.objectweb.asm.commons.GeneratorAdapter;
+import org.objectweb.asm.commons.JSRInlinerAdapter;
import org.objectweb.asm.commons.Method;
import aQute.bnd.annotation.baseline.BaselineIgnore;
@@ -77,7 +79,10 @@ public class TCCLSetterVisitor extends ClassVisitor
implements Opcodes {
public MethodVisitor visitMethod(int access, String name, String desc,
String signature, String[] exceptions) {
MethodVisitor mv = super.visitMethod(access, name, desc, signature,
exceptions);
- return new TCCLSetterMethodVisitor(mv, access, name, desc);
+ mv = new TCCLSetterMethodVisitor(mv, access, name, desc);
+ mv = new JSRInlinerAdapter(mv, access, name, desc, signature,
exceptions);
+
+ return mv;
}
@Override