You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ti...@apache.org on 2023/04/08 12:58:09 UTC

[aries] branch trunk updated: Fix ARIES-1219 Weaving of Aries SPI Fly bundle produces RuntimeException: JSR/RET are not supported with computeFrames option

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 <st...@gmail.com>
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