Update to latest upstream release
This commit is contained in:
parent
a77ae914c3
commit
c3de89d06f
32
.gitignore
vendored
32
.gitignore
vendored
@ -3,31 +3,11 @@
|
|||||||
/.build-*.log
|
/.build-*.log
|
||||||
/*.src.rpm
|
/*.src.rpm
|
||||||
/noarch
|
/noarch
|
||||||
/asm-6.2.pom
|
|
||||||
/asm-analysis-6.2.pom
|
|
||||||
/asm-commons-6.2.pom
|
|
||||||
/asm-test-6.2.pom
|
|
||||||
/asm-tree-6.2.pom
|
|
||||||
/asm-util-6.2.pom
|
|
||||||
/asm-xml-6.2.pom
|
|
||||||
/asm-6.2.1.pom
|
|
||||||
/asm-analysis-6.2.1.pom
|
|
||||||
/asm-commons-6.2.1.pom
|
|
||||||
/asm-test-6.2.1.pom
|
|
||||||
/asm-tree-6.2.1.pom
|
|
||||||
/asm-util-6.2.1.pom
|
|
||||||
/asm-xml-6.2.1.pom
|
|
||||||
/objectweb-asm-*.tar.gz
|
/objectweb-asm-*.tar.gz
|
||||||
/objectweb-asm-*/
|
/objectweb-asm-*/
|
||||||
/asm-7.0.pom
|
/asm-9.1.pom
|
||||||
/asm-analysis-7.0.pom
|
/asm-analysis-9.1.pom
|
||||||
/asm-commons-7.0.pom
|
/asm-commons-9.1.pom
|
||||||
/asm-test-7.0.pom
|
/asm-test-9.1.pom
|
||||||
/asm-tree-7.0.pom
|
/asm-tree-9.1.pom
|
||||||
/asm-util-7.0.pom
|
/asm-util-9.1.pom
|
||||||
/asm-8.0.1.pom
|
|
||||||
/asm-analysis-8.0.1.pom
|
|
||||||
/asm-commons-8.0.1.pom
|
|
||||||
/asm-test-8.0.1.pom
|
|
||||||
/asm-tree-8.0.1.pom
|
|
||||||
/asm-util-8.0.1.pom
|
|
||||||
|
@ -1,6 +1,17 @@
|
|||||||
|
From feff2c9f3e5bc3a9900ac0ce7dfb9e9c2ce3e505 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mat Booth <mat.booth@redhat.com>
|
||||||
|
Date: Fri, 19 Feb 2021 15:36:30 +0000
|
||||||
|
Subject: [PATCH] Catch CompileException in test
|
||||||
|
|
||||||
|
---
|
||||||
|
asm-util/src/test/java/org/objectweb/asm/util/ASMifierTest.java | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/asm-util/src/test/java/org/objectweb/asm/util/ASMifierTest.java b/asm-util/src/test/java/org/objectweb/asm/util/ASMifierTest.java
|
||||||
|
index b097b58..adfde2c 100644
|
||||||
--- a/asm-util/src/test/java/org/objectweb/asm/util/ASMifierTest.java
|
--- a/asm-util/src/test/java/org/objectweb/asm/util/ASMifierTest.java
|
||||||
+++ b/asm-util/src/test/java/org/objectweb/asm/util/ASMifierTest.java
|
+++ b/asm-util/src/test/java/org/objectweb/asm/util/ASMifierTest.java
|
||||||
@@ -107,8 +107,8 @@ public class ASMifierTest extends AsmTes
|
@@ -107,8 +107,8 @@ public class ASMifierTest extends AsmTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static byte[] compile(final String name, final String source) throws IOException {
|
private static byte[] compile(final String name, final String source) throws IOException {
|
||||||
@ -10,3 +21,6 @@
|
|||||||
UnitCompiler unitCompiler = new UnitCompiler(parser.parseCompilationUnit(), ICLASS_LOADER);
|
UnitCompiler unitCompiler = new UnitCompiler(parser.parseCompilationUnit(), ICLASS_LOADER);
|
||||||
return unitCompiler.compileUnit(true, true, true)[0].toByteArray();
|
return unitCompiler.compileUnit(true, true, true)[0].toByteArray();
|
||||||
} catch (CompileException e) {
|
} catch (CompileException e) {
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
@ -1,813 +0,0 @@
|
|||||||
From df50f201a0f253bc55dc89e191ac66cb920a3274 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mat Booth <mat.booth@redhat.com>
|
|
||||||
Date: Wed, 6 May 2020 15:09:27 +0100
|
|
||||||
Subject: [PATCH] Revert upstream change 2a58bc9
|
|
||||||
|
|
||||||
---
|
|
||||||
.../commons/RemappingAnnotationAdapter.java | 85 ++++++
|
|
||||||
.../asm/commons/RemappingClassAdapter.java | 167 +++++++++++
|
|
||||||
.../asm/commons/RemappingFieldAdapter.java | 74 +++++
|
|
||||||
.../asm/commons/RemappingMethodAdapter.java | 279 ++++++++++++++++++
|
|
||||||
.../commons/RemappingSignatureAdapter.java | 157 ++++++++++
|
|
||||||
5 files changed, 762 insertions(+)
|
|
||||||
create mode 100644 asm-commons/src/main/java/org/objectweb/asm/commons/RemappingAnnotationAdapter.java
|
|
||||||
create mode 100644 asm-commons/src/main/java/org/objectweb/asm/commons/RemappingClassAdapter.java
|
|
||||||
create mode 100644 asm-commons/src/main/java/org/objectweb/asm/commons/RemappingFieldAdapter.java
|
|
||||||
create mode 100644 asm-commons/src/main/java/org/objectweb/asm/commons/RemappingMethodAdapter.java
|
|
||||||
create mode 100644 asm-commons/src/main/java/org/objectweb/asm/commons/RemappingSignatureAdapter.java
|
|
||||||
|
|
||||||
diff --git a/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingAnnotationAdapter.java b/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingAnnotationAdapter.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..86c6ee9
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingAnnotationAdapter.java
|
|
||||||
@@ -0,0 +1,85 @@
|
|
||||||
+// ASM: a very small and fast Java bytecode manipulation framework
|
|
||||||
+// Copyright (c) 2000-2011 INRIA, France Telecom
|
|
||||||
+// All rights reserved.
|
|
||||||
+//
|
|
||||||
+// Redistribution and use in source and binary forms, with or without
|
|
||||||
+// modification, are permitted provided that the following conditions
|
|
||||||
+// are met:
|
|
||||||
+// 1. Redistributions of source code must retain the above copyright
|
|
||||||
+// notice, this list of conditions and the following disclaimer.
|
|
||||||
+// 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
+// notice, this list of conditions and the following disclaimer in the
|
|
||||||
+// documentation and/or other materials provided with the distribution.
|
|
||||||
+// 3. Neither the name of the copyright holders nor the names of its
|
|
||||||
+// contributors may be used to endorse or promote products derived from
|
|
||||||
+// this software without specific prior written permission.
|
|
||||||
+//
|
|
||||||
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
+// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
+// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
|
||||||
+// THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
+
|
|
||||||
+package org.objectweb.asm.commons;
|
|
||||||
+
|
|
||||||
+import org.objectweb.asm.AnnotationVisitor;
|
|
||||||
+import org.objectweb.asm.Opcodes;
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * An {@link AnnotationVisitor} adapter for type remapping.
|
|
||||||
+ *
|
|
||||||
+ * @deprecated use {@link AnnotationRemapper} instead.
|
|
||||||
+ * @author Eugene Kuleshov
|
|
||||||
+ */
|
|
||||||
+@Deprecated
|
|
||||||
+public class RemappingAnnotationAdapter extends AnnotationVisitor {
|
|
||||||
+
|
|
||||||
+ protected final Remapper remapper;
|
|
||||||
+
|
|
||||||
+ public RemappingAnnotationAdapter(
|
|
||||||
+ final AnnotationVisitor annotationVisitor, final Remapper remapper) {
|
|
||||||
+ this(Opcodes.ASM6, annotationVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ protected RemappingAnnotationAdapter(
|
|
||||||
+ final int api, final AnnotationVisitor annotationVisitor, final Remapper remapper) {
|
|
||||||
+ super(api, annotationVisitor);
|
|
||||||
+ this.remapper = remapper;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visit(final String name, final Object value) {
|
|
||||||
+ av.visit(name, remapper.mapValue(value));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitEnum(final String name, final String descriptor, final String value) {
|
|
||||||
+ av.visitEnum(name, remapper.mapDesc(descriptor), value);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public AnnotationVisitor visitAnnotation(final String name, final String descriptor) {
|
|
||||||
+ AnnotationVisitor annotationVisitor = av.visitAnnotation(name, remapper.mapDesc(descriptor));
|
|
||||||
+ return annotationVisitor == null
|
|
||||||
+ ? null
|
|
||||||
+ : (annotationVisitor == av
|
|
||||||
+ ? this
|
|
||||||
+ : new RemappingAnnotationAdapter(annotationVisitor, remapper));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public AnnotationVisitor visitArray(final String name) {
|
|
||||||
+ AnnotationVisitor annotationVisitor = av.visitArray(name);
|
|
||||||
+ return annotationVisitor == null
|
|
||||||
+ ? null
|
|
||||||
+ : (annotationVisitor == av
|
|
||||||
+ ? this
|
|
||||||
+ : new RemappingAnnotationAdapter(annotationVisitor, remapper));
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff --git a/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingClassAdapter.java b/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingClassAdapter.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..b4cc08c
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingClassAdapter.java
|
|
||||||
@@ -0,0 +1,167 @@
|
|
||||||
+// ASM: a very small and fast Java bytecode manipulation framework
|
|
||||||
+// Copyright (c) 2000-2011 INRIA, France Telecom
|
|
||||||
+// All rights reserved.
|
|
||||||
+//
|
|
||||||
+// Redistribution and use in source and binary forms, with or without
|
|
||||||
+// modification, are permitted provided that the following conditions
|
|
||||||
+// are met:
|
|
||||||
+// 1. Redistributions of source code must retain the above copyright
|
|
||||||
+// notice, this list of conditions and the following disclaimer.
|
|
||||||
+// 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
+// notice, this list of conditions and the following disclaimer in the
|
|
||||||
+// documentation and/or other materials provided with the distribution.
|
|
||||||
+// 3. Neither the name of the copyright holders nor the names of its
|
|
||||||
+// contributors may be used to endorse or promote products derived from
|
|
||||||
+// this software without specific prior written permission.
|
|
||||||
+//
|
|
||||||
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
+// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
+// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
|
||||||
+// THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
+
|
|
||||||
+package org.objectweb.asm.commons;
|
|
||||||
+
|
|
||||||
+import org.objectweb.asm.AnnotationVisitor;
|
|
||||||
+import org.objectweb.asm.ClassVisitor;
|
|
||||||
+import org.objectweb.asm.FieldVisitor;
|
|
||||||
+import org.objectweb.asm.MethodVisitor;
|
|
||||||
+import org.objectweb.asm.ModuleVisitor;
|
|
||||||
+import org.objectweb.asm.Opcodes;
|
|
||||||
+import org.objectweb.asm.TypePath;
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * A {@link ClassVisitor} for type remapping.
|
|
||||||
+ *
|
|
||||||
+ * @deprecated use {@link ClassRemapper} instead.
|
|
||||||
+ * @author Eugene Kuleshov
|
|
||||||
+ */
|
|
||||||
+@Deprecated
|
|
||||||
+public class RemappingClassAdapter extends ClassVisitor {
|
|
||||||
+
|
|
||||||
+ protected final Remapper remapper;
|
|
||||||
+
|
|
||||||
+ protected String className;
|
|
||||||
+
|
|
||||||
+ public RemappingClassAdapter(final ClassVisitor classVisitor, final Remapper remapper) {
|
|
||||||
+ this(Opcodes.ASM6, classVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ protected RemappingClassAdapter(
|
|
||||||
+ final int api, final ClassVisitor classVisitor, final Remapper remapper) {
|
|
||||||
+ super(api, classVisitor);
|
|
||||||
+ this.remapper = remapper;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visit(
|
|
||||||
+ final int version,
|
|
||||||
+ final int access,
|
|
||||||
+ final String name,
|
|
||||||
+ final String signature,
|
|
||||||
+ final String superName,
|
|
||||||
+ final String[] interfaces) {
|
|
||||||
+ this.className = name;
|
|
||||||
+ super.visit(
|
|
||||||
+ version,
|
|
||||||
+ access,
|
|
||||||
+ remapper.mapType(name),
|
|
||||||
+ remapper.mapSignature(signature, false),
|
|
||||||
+ remapper.mapType(superName),
|
|
||||||
+ interfaces == null ? null : remapper.mapTypes(interfaces));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public ModuleVisitor visitModule(final String name, final int flags, final String version) {
|
|
||||||
+ throw new RuntimeException("RemappingClassAdapter is deprecated, use ClassRemapper instead");
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) {
|
|
||||||
+ AnnotationVisitor annotationVisitor =
|
|
||||||
+ super.visitAnnotation(remapper.mapDesc(descriptor), visible);
|
|
||||||
+ return annotationVisitor == null ? null : createRemappingAnnotationAdapter(annotationVisitor);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public AnnotationVisitor visitTypeAnnotation(
|
|
||||||
+ final int typeRef, final TypePath typePath, final String descriptor, final boolean visible) {
|
|
||||||
+ AnnotationVisitor annotationVisitor =
|
|
||||||
+ super.visitTypeAnnotation(typeRef, typePath, remapper.mapDesc(descriptor), visible);
|
|
||||||
+ return annotationVisitor == null ? null : createRemappingAnnotationAdapter(annotationVisitor);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public FieldVisitor visitField(
|
|
||||||
+ final int access,
|
|
||||||
+ final String name,
|
|
||||||
+ final String descriptor,
|
|
||||||
+ final String signature,
|
|
||||||
+ final Object value) {
|
|
||||||
+ FieldVisitor fieldVisitor =
|
|
||||||
+ super.visitField(
|
|
||||||
+ access,
|
|
||||||
+ remapper.mapFieldName(className, name, descriptor),
|
|
||||||
+ remapper.mapDesc(descriptor),
|
|
||||||
+ remapper.mapSignature(signature, true),
|
|
||||||
+ remapper.mapValue(value));
|
|
||||||
+ return fieldVisitor == null ? null : createRemappingFieldAdapter(fieldVisitor);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public MethodVisitor visitMethod(
|
|
||||||
+ final int access,
|
|
||||||
+ final String name,
|
|
||||||
+ final String descriptor,
|
|
||||||
+ final String signature,
|
|
||||||
+ final String[] exceptions) {
|
|
||||||
+ String newDescriptor = remapper.mapMethodDesc(descriptor);
|
|
||||||
+ MethodVisitor methodVisitor =
|
|
||||||
+ super.visitMethod(
|
|
||||||
+ access,
|
|
||||||
+ remapper.mapMethodName(className, name, descriptor),
|
|
||||||
+ newDescriptor,
|
|
||||||
+ remapper.mapSignature(signature, false),
|
|
||||||
+ exceptions == null ? null : remapper.mapTypes(exceptions));
|
|
||||||
+ return methodVisitor == null
|
|
||||||
+ ? null
|
|
||||||
+ : createRemappingMethodAdapter(access, newDescriptor, methodVisitor);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitInnerClass(
|
|
||||||
+ final String name, final String outerName, final String innerName, final int access) {
|
|
||||||
+ super.visitInnerClass(
|
|
||||||
+ remapper.mapType(name),
|
|
||||||
+ outerName == null ? null : remapper.mapType(outerName),
|
|
||||||
+ innerName,
|
|
||||||
+ access);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitOuterClass(final String owner, final String name, final String descriptor) {
|
|
||||||
+ super.visitOuterClass(
|
|
||||||
+ remapper.mapType(owner),
|
|
||||||
+ name == null ? null : remapper.mapMethodName(owner, name, descriptor),
|
|
||||||
+ descriptor == null ? null : remapper.mapMethodDesc(descriptor));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ protected FieldVisitor createRemappingFieldAdapter(final FieldVisitor fieldVisitor) {
|
|
||||||
+ return new RemappingFieldAdapter(fieldVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ protected MethodVisitor createRemappingMethodAdapter(
|
|
||||||
+ final int access, final String newDescriptor, final MethodVisitor methodVisitior) {
|
|
||||||
+ return new RemappingMethodAdapter(access, newDescriptor, methodVisitior, remapper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ protected AnnotationVisitor createRemappingAnnotationAdapter(final AnnotationVisitor av) {
|
|
||||||
+ return new RemappingAnnotationAdapter(av, remapper);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff --git a/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingFieldAdapter.java b/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingFieldAdapter.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..5f14f33
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingFieldAdapter.java
|
|
||||||
@@ -0,0 +1,74 @@
|
|
||||||
+// ASM: a very small and fast Java bytecode manipulation framework
|
|
||||||
+// Copyright (c) 2000-2011 INRIA, France Telecom
|
|
||||||
+// All rights reserved.
|
|
||||||
+//
|
|
||||||
+// Redistribution and use in source and binary forms, with or without
|
|
||||||
+// modification, are permitted provided that the following conditions
|
|
||||||
+// are met:
|
|
||||||
+// 1. Redistributions of source code must retain the above copyright
|
|
||||||
+// notice, this list of conditions and the following disclaimer.
|
|
||||||
+// 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
+// notice, this list of conditions and the following disclaimer in the
|
|
||||||
+// documentation and/or other materials provided with the distribution.
|
|
||||||
+// 3. Neither the name of the copyright holders nor the names of its
|
|
||||||
+// contributors may be used to endorse or promote products derived from
|
|
||||||
+// this software without specific prior written permission.
|
|
||||||
+//
|
|
||||||
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
+// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
+// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
|
||||||
+// THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
+
|
|
||||||
+package org.objectweb.asm.commons;
|
|
||||||
+
|
|
||||||
+import org.objectweb.asm.AnnotationVisitor;
|
|
||||||
+import org.objectweb.asm.FieldVisitor;
|
|
||||||
+import org.objectweb.asm.Opcodes;
|
|
||||||
+import org.objectweb.asm.TypePath;
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * A {@link FieldVisitor} adapter for type remapping.
|
|
||||||
+ *
|
|
||||||
+ * @deprecated use {@link FieldRemapper} instead.
|
|
||||||
+ * @author Eugene Kuleshov
|
|
||||||
+ */
|
|
||||||
+@Deprecated
|
|
||||||
+public class RemappingFieldAdapter extends FieldVisitor {
|
|
||||||
+
|
|
||||||
+ private final Remapper remapper;
|
|
||||||
+
|
|
||||||
+ public RemappingFieldAdapter(final FieldVisitor fieldVisitor, final Remapper remapper) {
|
|
||||||
+ this(Opcodes.ASM6, fieldVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ protected RemappingFieldAdapter(
|
|
||||||
+ final int api, final FieldVisitor fieldVisitor, final Remapper remapper) {
|
|
||||||
+ super(api, fieldVisitor);
|
|
||||||
+ this.remapper = remapper;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) {
|
|
||||||
+ AnnotationVisitor annotationVisitor = fv.visitAnnotation(remapper.mapDesc(descriptor), visible);
|
|
||||||
+ return annotationVisitor == null
|
|
||||||
+ ? null
|
|
||||||
+ : new RemappingAnnotationAdapter(annotationVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public AnnotationVisitor visitTypeAnnotation(
|
|
||||||
+ final int typeRef, final TypePath typePath, final String descriptor, final boolean visible) {
|
|
||||||
+ AnnotationVisitor annotationVisitor =
|
|
||||||
+ super.visitTypeAnnotation(typeRef, typePath, remapper.mapDesc(descriptor), visible);
|
|
||||||
+ return annotationVisitor == null
|
|
||||||
+ ? null
|
|
||||||
+ : new RemappingAnnotationAdapter(annotationVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff --git a/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingMethodAdapter.java b/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingMethodAdapter.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..cf21f18
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingMethodAdapter.java
|
|
||||||
@@ -0,0 +1,279 @@
|
|
||||||
+// ASM: a very small and fast Java bytecode manipulation framework
|
|
||||||
+// Copyright (c) 2000-2011 INRIA, France Telecom
|
|
||||||
+// All rights reserved.
|
|
||||||
+//
|
|
||||||
+// Redistribution and use in source and binary forms, with or without
|
|
||||||
+// modification, are permitted provided that the following conditions
|
|
||||||
+// are met:
|
|
||||||
+// 1. Redistributions of source code must retain the above copyright
|
|
||||||
+// notice, this list of conditions and the following disclaimer.
|
|
||||||
+// 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
+// notice, this list of conditions and the following disclaimer in the
|
|
||||||
+// documentation and/or other materials provided with the distribution.
|
|
||||||
+// 3. Neither the name of the copyright holders nor the names of its
|
|
||||||
+// contributors may be used to endorse or promote products derived from
|
|
||||||
+// this software without specific prior written permission.
|
|
||||||
+//
|
|
||||||
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
+// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
+// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
|
||||||
+// THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
+
|
|
||||||
+package org.objectweb.asm.commons;
|
|
||||||
+
|
|
||||||
+import org.objectweb.asm.AnnotationVisitor;
|
|
||||||
+import org.objectweb.asm.Handle;
|
|
||||||
+import org.objectweb.asm.Label;
|
|
||||||
+import org.objectweb.asm.MethodVisitor;
|
|
||||||
+import org.objectweb.asm.Opcodes;
|
|
||||||
+import org.objectweb.asm.TypePath;
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * A {@link LocalVariablesSorter} for type mapping.
|
|
||||||
+ *
|
|
||||||
+ * @deprecated use {@link MethodRemapper} instead.
|
|
||||||
+ * @author Eugene Kuleshov
|
|
||||||
+ */
|
|
||||||
+@Deprecated
|
|
||||||
+public class RemappingMethodAdapter extends LocalVariablesSorter {
|
|
||||||
+
|
|
||||||
+ protected final Remapper remapper;
|
|
||||||
+
|
|
||||||
+ public RemappingMethodAdapter(
|
|
||||||
+ final int access,
|
|
||||||
+ final String descriptor,
|
|
||||||
+ final MethodVisitor methodVisitor,
|
|
||||||
+ final Remapper remapper) {
|
|
||||||
+ this(Opcodes.ASM6, access, descriptor, methodVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ protected RemappingMethodAdapter(
|
|
||||||
+ final int api,
|
|
||||||
+ final int access,
|
|
||||||
+ final String descriptor,
|
|
||||||
+ final MethodVisitor methodVisitor,
|
|
||||||
+ final Remapper remapper) {
|
|
||||||
+ super(api, access, descriptor, methodVisitor);
|
|
||||||
+ this.remapper = remapper;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public AnnotationVisitor visitAnnotationDefault() {
|
|
||||||
+ AnnotationVisitor annotationVisitor = super.visitAnnotationDefault();
|
|
||||||
+ return annotationVisitor == null
|
|
||||||
+ ? annotationVisitor
|
|
||||||
+ : new RemappingAnnotationAdapter(annotationVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) {
|
|
||||||
+ AnnotationVisitor annotationVisitor =
|
|
||||||
+ super.visitAnnotation(remapper.mapDesc(descriptor), visible);
|
|
||||||
+ return annotationVisitor == null
|
|
||||||
+ ? annotationVisitor
|
|
||||||
+ : new RemappingAnnotationAdapter(annotationVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public AnnotationVisitor visitTypeAnnotation(
|
|
||||||
+ final int typeRef, final TypePath typePath, final String descriptor, final boolean visible) {
|
|
||||||
+ AnnotationVisitor annotationVisitor =
|
|
||||||
+ super.visitTypeAnnotation(typeRef, typePath, remapper.mapDesc(descriptor), visible);
|
|
||||||
+ return annotationVisitor == null
|
|
||||||
+ ? annotationVisitor
|
|
||||||
+ : new RemappingAnnotationAdapter(annotationVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public AnnotationVisitor visitParameterAnnotation(
|
|
||||||
+ final int parameter, final String descriptor, final boolean visible) {
|
|
||||||
+ AnnotationVisitor annotationVisitor =
|
|
||||||
+ super.visitParameterAnnotation(parameter, remapper.mapDesc(descriptor), visible);
|
|
||||||
+ return annotationVisitor == null
|
|
||||||
+ ? annotationVisitor
|
|
||||||
+ : new RemappingAnnotationAdapter(annotationVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitFrame(
|
|
||||||
+ final int type,
|
|
||||||
+ final int numLocal,
|
|
||||||
+ final Object[] local,
|
|
||||||
+ final int numStack,
|
|
||||||
+ final Object[] stack) {
|
|
||||||
+ super.visitFrame(
|
|
||||||
+ type, numLocal, remapEntries(numLocal, local), numStack, remapEntries(numStack, stack));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private Object[] remapEntries(final int numTypes, final Object[] entries) {
|
|
||||||
+ if (entries == null) {
|
|
||||||
+ return entries;
|
|
||||||
+ }
|
|
||||||
+ Object[] remappedEntries = null;
|
|
||||||
+ for (int i = 0; i < numTypes; ++i) {
|
|
||||||
+ if (entries[i] instanceof String) {
|
|
||||||
+ if (remappedEntries == null) {
|
|
||||||
+ remappedEntries = new Object[numTypes];
|
|
||||||
+ System.arraycopy(entries, 0, remappedEntries, 0, numTypes);
|
|
||||||
+ }
|
|
||||||
+ remappedEntries[i] = remapper.mapType((String) entries[i]);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return remappedEntries == null ? entries : remappedEntries;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitFieldInsn(
|
|
||||||
+ final int opcode, final String owner, final String name, final String descriptor) {
|
|
||||||
+ super.visitFieldInsn(
|
|
||||||
+ opcode,
|
|
||||||
+ remapper.mapType(owner),
|
|
||||||
+ remapper.mapFieldName(owner, name, descriptor),
|
|
||||||
+ remapper.mapDesc(descriptor));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Deprecated
|
|
||||||
+ @Override
|
|
||||||
+ public void visitMethodInsn(
|
|
||||||
+ final int opcode, final String owner, final String name, final String descriptor) {
|
|
||||||
+ if (api >= Opcodes.ASM5) {
|
|
||||||
+ super.visitMethodInsn(opcode, owner, name, descriptor);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ doVisitMethodInsn(opcode, owner, name, descriptor, opcode == Opcodes.INVOKEINTERFACE);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitMethodInsn(
|
|
||||||
+ final int opcode,
|
|
||||||
+ final String owner,
|
|
||||||
+ final String name,
|
|
||||||
+ final String descriptor,
|
|
||||||
+ final boolean isInterface) {
|
|
||||||
+ if (api < Opcodes.ASM5) {
|
|
||||||
+ super.visitMethodInsn(opcode, owner, name, descriptor, isInterface);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ doVisitMethodInsn(opcode, owner, name, descriptor, isInterface);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private void doVisitMethodInsn(
|
|
||||||
+ final int opcode,
|
|
||||||
+ final String owner,
|
|
||||||
+ final String name,
|
|
||||||
+ final String descriptor,
|
|
||||||
+ final boolean isInterface) {
|
|
||||||
+ // Calling super.visitMethodInsn requires to call the correct version
|
|
||||||
+ // depending on this.api (otherwise infinite loops can occur). To
|
|
||||||
+ // simplify and to make it easier to automatically remove the backward
|
|
||||||
+ // compatibility code, we inline the code of the overridden method here.
|
|
||||||
+ // IMPORTANT: THIS ASSUMES THAT visitMethodInsn IS NOT OVERRIDDEN IN
|
|
||||||
+ // LocalVariableSorter.
|
|
||||||
+ if (mv != null) {
|
|
||||||
+ mv.visitMethodInsn(
|
|
||||||
+ opcode,
|
|
||||||
+ remapper.mapType(owner),
|
|
||||||
+ remapper.mapMethodName(owner, name, descriptor),
|
|
||||||
+ remapper.mapMethodDesc(descriptor),
|
|
||||||
+ isInterface);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitInvokeDynamicInsn(
|
|
||||||
+ final String name,
|
|
||||||
+ final String descriptor,
|
|
||||||
+ final Handle bootstrapMethodHandle,
|
|
||||||
+ final Object... bootstrapMethodArguments) {
|
|
||||||
+ for (int i = 0; i < bootstrapMethodArguments.length; i++) {
|
|
||||||
+ bootstrapMethodArguments[i] = remapper.mapValue(bootstrapMethodArguments[i]);
|
|
||||||
+ }
|
|
||||||
+ super.visitInvokeDynamicInsn(
|
|
||||||
+ remapper.mapInvokeDynamicMethodName(name, descriptor),
|
|
||||||
+ remapper.mapMethodDesc(descriptor),
|
|
||||||
+ (Handle) remapper.mapValue(bootstrapMethodHandle),
|
|
||||||
+ bootstrapMethodArguments);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitTypeInsn(final int opcode, final String type) {
|
|
||||||
+ super.visitTypeInsn(opcode, remapper.mapType(type));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitLdcInsn(final Object value) {
|
|
||||||
+ super.visitLdcInsn(remapper.mapValue(value));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitMultiANewArrayInsn(final String descriptor, final int numDimensions) {
|
|
||||||
+ super.visitMultiANewArrayInsn(remapper.mapDesc(descriptor), numDimensions);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public AnnotationVisitor visitInsnAnnotation(
|
|
||||||
+ final int typeRef, final TypePath typePath, final String descriptor, final boolean visible) {
|
|
||||||
+ AnnotationVisitor annotationVisitor =
|
|
||||||
+ super.visitInsnAnnotation(typeRef, typePath, remapper.mapDesc(descriptor), visible);
|
|
||||||
+ return annotationVisitor == null
|
|
||||||
+ ? annotationVisitor
|
|
||||||
+ : new RemappingAnnotationAdapter(annotationVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitTryCatchBlock(
|
|
||||||
+ final Label start, final Label end, final Label handler, final String type) {
|
|
||||||
+ super.visitTryCatchBlock(start, end, handler, type == null ? null : remapper.mapType(type));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public AnnotationVisitor visitTryCatchAnnotation(
|
|
||||||
+ final int typeRef, final TypePath typePath, final String descriptor, final boolean visible) {
|
|
||||||
+ AnnotationVisitor annotationVisitor =
|
|
||||||
+ super.visitTryCatchAnnotation(typeRef, typePath, remapper.mapDesc(descriptor), visible);
|
|
||||||
+ return annotationVisitor == null
|
|
||||||
+ ? annotationVisitor
|
|
||||||
+ : new RemappingAnnotationAdapter(annotationVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitLocalVariable(
|
|
||||||
+ final String name,
|
|
||||||
+ final String descriptor,
|
|
||||||
+ final String signature,
|
|
||||||
+ final Label start,
|
|
||||||
+ final Label end,
|
|
||||||
+ final int index) {
|
|
||||||
+ super.visitLocalVariable(
|
|
||||||
+ name,
|
|
||||||
+ remapper.mapDesc(descriptor),
|
|
||||||
+ remapper.mapSignature(signature, true),
|
|
||||||
+ start,
|
|
||||||
+ end,
|
|
||||||
+ index);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public AnnotationVisitor visitLocalVariableAnnotation(
|
|
||||||
+ final int typeRef,
|
|
||||||
+ final TypePath typePath,
|
|
||||||
+ final Label[] start,
|
|
||||||
+ final Label[] end,
|
|
||||||
+ final int[] index,
|
|
||||||
+ final String descriptor,
|
|
||||||
+ final boolean visible) {
|
|
||||||
+ AnnotationVisitor annotationVisitor =
|
|
||||||
+ super.visitLocalVariableAnnotation(
|
|
||||||
+ typeRef, typePath, start, end, index, remapper.mapDesc(descriptor), visible);
|
|
||||||
+ return annotationVisitor == null
|
|
||||||
+ ? annotationVisitor
|
|
||||||
+ : new RemappingAnnotationAdapter(annotationVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff --git a/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingSignatureAdapter.java b/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingSignatureAdapter.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..1553cd5
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/asm-commons/src/main/java/org/objectweb/asm/commons/RemappingSignatureAdapter.java
|
|
||||||
@@ -0,0 +1,157 @@
|
|
||||||
+// ASM: a very small and fast Java bytecode manipulation framework
|
|
||||||
+// Copyright (c) 2000-2011 INRIA, France Telecom
|
|
||||||
+// All rights reserved.
|
|
||||||
+//
|
|
||||||
+// Redistribution and use in source and binary forms, with or without
|
|
||||||
+// modification, are permitted provided that the following conditions
|
|
||||||
+// are met:
|
|
||||||
+// 1. Redistributions of source code must retain the above copyright
|
|
||||||
+// notice, this list of conditions and the following disclaimer.
|
|
||||||
+// 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
+// notice, this list of conditions and the following disclaimer in the
|
|
||||||
+// documentation and/or other materials provided with the distribution.
|
|
||||||
+// 3. Neither the name of the copyright holders nor the names of its
|
|
||||||
+// contributors may be used to endorse or promote products derived from
|
|
||||||
+// this software without specific prior written permission.
|
|
||||||
+//
|
|
||||||
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
+// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
+// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
|
||||||
+// THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
+
|
|
||||||
+package org.objectweb.asm.commons;
|
|
||||||
+
|
|
||||||
+import org.objectweb.asm.Opcodes;
|
|
||||||
+import org.objectweb.asm.signature.SignatureVisitor;
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * A {@link SignatureVisitor} adapter for type mapping.
|
|
||||||
+ *
|
|
||||||
+ * @deprecated use {@link SignatureRemapper} instead.
|
|
||||||
+ * @author Eugene Kuleshov
|
|
||||||
+ */
|
|
||||||
+@Deprecated
|
|
||||||
+public class RemappingSignatureAdapter extends SignatureVisitor {
|
|
||||||
+
|
|
||||||
+ private final SignatureVisitor signatureVisitor;
|
|
||||||
+
|
|
||||||
+ private final Remapper remapper;
|
|
||||||
+
|
|
||||||
+ private String className;
|
|
||||||
+
|
|
||||||
+ public RemappingSignatureAdapter(
|
|
||||||
+ final SignatureVisitor signatureVisitor, final Remapper remapper) {
|
|
||||||
+ this(Opcodes.ASM6, signatureVisitor, remapper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ protected RemappingSignatureAdapter(
|
|
||||||
+ final int api, final SignatureVisitor signatureVisitor, final Remapper remapper) {
|
|
||||||
+ super(api);
|
|
||||||
+ this.signatureVisitor = signatureVisitor;
|
|
||||||
+ this.remapper = remapper;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitClassType(final String name) {
|
|
||||||
+ className = name;
|
|
||||||
+ signatureVisitor.visitClassType(remapper.mapType(name));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitInnerClassType(final String name) {
|
|
||||||
+ String remappedOuter = remapper.mapType(className) + '$';
|
|
||||||
+ className = className + '$' + name;
|
|
||||||
+ String remappedName = remapper.mapType(className);
|
|
||||||
+ int index =
|
|
||||||
+ remappedName.startsWith(remappedOuter)
|
|
||||||
+ ? remappedOuter.length()
|
|
||||||
+ : remappedName.lastIndexOf('$') + 1;
|
|
||||||
+ signatureVisitor.visitInnerClassType(remappedName.substring(index));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitFormalTypeParameter(final String name) {
|
|
||||||
+ signatureVisitor.visitFormalTypeParameter(name);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitTypeVariable(final String name) {
|
|
||||||
+ signatureVisitor.visitTypeVariable(name);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public SignatureVisitor visitArrayType() {
|
|
||||||
+ signatureVisitor.visitArrayType();
|
|
||||||
+ return this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitBaseType(final char descriptor) {
|
|
||||||
+ signatureVisitor.visitBaseType(descriptor);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public SignatureVisitor visitClassBound() {
|
|
||||||
+ signatureVisitor.visitClassBound();
|
|
||||||
+ return this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public SignatureVisitor visitExceptionType() {
|
|
||||||
+ signatureVisitor.visitExceptionType();
|
|
||||||
+ return this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public SignatureVisitor visitInterface() {
|
|
||||||
+ signatureVisitor.visitInterface();
|
|
||||||
+ return this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public SignatureVisitor visitInterfaceBound() {
|
|
||||||
+ signatureVisitor.visitInterfaceBound();
|
|
||||||
+ return this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public SignatureVisitor visitParameterType() {
|
|
||||||
+ signatureVisitor.visitParameterType();
|
|
||||||
+ return this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public SignatureVisitor visitReturnType() {
|
|
||||||
+ signatureVisitor.visitReturnType();
|
|
||||||
+ return this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public SignatureVisitor visitSuperclass() {
|
|
||||||
+ signatureVisitor.visitSuperclass();
|
|
||||||
+ return this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitTypeArgument() {
|
|
||||||
+ signatureVisitor.visitTypeArgument();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public SignatureVisitor visitTypeArgument(final char wildcard) {
|
|
||||||
+ signatureVisitor.visitTypeArgument(wildcard);
|
|
||||||
+ return this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void visitEnd() {
|
|
||||||
+ signatureVisitor.visitEnd();
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
--
|
|
||||||
2.26.0
|
|
||||||
|
|
@ -33,7 +33,7 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.ow2.asm</groupId>
|
<groupId>org.ow2.asm</groupId>
|
||||||
<artifactId>asm-tree</artifactId>
|
<artifactId>asm-util</artifactId>
|
||||||
<version>@VERSION@</version>
|
<version>@VERSION@</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
%bcond_without osgi
|
%bcond_without osgi
|
||||||
|
|
||||||
Name: objectweb-asm
|
Name: objectweb-asm
|
||||||
Version: 8.0.1
|
Version: 9.1
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Java bytecode manipulation and analysis framework
|
Summary: Java bytecode manipulation and analysis framework
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: http://asm.ow2.org/
|
URL: http://asm.ow2.org/
|
||||||
@ -24,20 +24,17 @@ Source8: asm-all.pom
|
|||||||
# The source contains binary jars that cannot be verified for licensing and could be proprietary
|
# The source contains binary jars that cannot be verified for licensing and could be proprietary
|
||||||
Source9: generate-tarball.sh
|
Source9: generate-tarball.sh
|
||||||
|
|
||||||
# Revert upstream change https://gitlab.ow2.org/asm/asm/-/commit/2a58bc9bcf2ea6eee03e973d1df4cf9312573c9d
|
|
||||||
# To restore some deprecations that were deleted and broke the API
|
|
||||||
Patch0: 0001-Revert-upstream-change-2a58bc9.patch
|
|
||||||
|
|
||||||
# Move a statement that can throw a CompileException inside a try-catch block
|
# Move a statement that can throw a CompileException inside a try-catch block
|
||||||
# for that exception. Upstream has fixed this another way with a large code
|
# for that exception. Upstream has fixed this another way with a large code
|
||||||
# refactor that seems inappropriate to backport.
|
# refactor that seems inappropriate to backport.
|
||||||
Patch1: 0002-Catch-CompileException-in-test.patch
|
Patch1: 0001-Catch-CompileException-in-test.patch
|
||||||
|
|
||||||
BuildRequires: maven-local
|
BuildRequires: maven-local
|
||||||
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
|
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
|
||||||
BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin)
|
BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin)
|
||||||
BuildRequires: mvn(org.ow2:ow2:pom:)
|
BuildRequires: mvn(org.ow2:ow2:pom:)
|
||||||
%if %{with junit5}
|
%if %{with junit5}
|
||||||
|
BuildRequires: mvn(org.codehaus.janino:commons-compiler)
|
||||||
BuildRequires: mvn(org.codehaus.janino:janino)
|
BuildRequires: mvn(org.codehaus.janino:janino)
|
||||||
BuildRequires: mvn(org.junit.jupiter:junit-jupiter-api)
|
BuildRequires: mvn(org.junit.jupiter:junit-jupiter-api)
|
||||||
BuildRequires: mvn(org.junit.jupiter:junit-jupiter-engine)
|
BuildRequires: mvn(org.junit.jupiter:junit-jupiter-engine)
|
||||||
@ -82,11 +79,6 @@ cp -p %{SOURCE1} pom.xml
|
|||||||
# Insert poms into modules
|
# Insert poms into modules
|
||||||
for pom in asm asm-analysis asm-commons asm-test asm-tree asm-util; do
|
for pom in asm asm-analysis asm-commons asm-test asm-tree asm-util; do
|
||||||
cp -p $RPM_SOURCE_DIR/${pom}-%{version}.pom $pom/pom.xml
|
cp -p $RPM_SOURCE_DIR/${pom}-%{version}.pom $pom/pom.xml
|
||||||
# Fix junit5 configuration
|
|
||||||
%if %{with junit5}
|
|
||||||
%pom_add_dep org.junit.jupiter:junit-jupiter-engine:5.1.0:test $pom
|
|
||||||
%pom_add_plugin org.apache.maven.plugins:maven-surefire-plugin:2.22.0 $pom
|
|
||||||
%endif
|
|
||||||
%if %{with osgi}
|
%if %{with osgi}
|
||||||
if [ "$pom" != "asm-test" ] ; then
|
if [ "$pom" != "asm-test" ] ; then
|
||||||
# Make into OSGi bundles
|
# Make into OSGi bundles
|
||||||
@ -106,6 +98,16 @@ for pom in asm asm-analysis asm-commons asm-test asm-tree asm-util; do
|
|||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
done
|
done
|
||||||
|
# Fix junit5 configuration
|
||||||
|
%if %{with junit5}
|
||||||
|
%pom_add_dep org.junit.jupiter:junit-jupiter-engine:5.7.0:test asm asm-analysis asm-commons asm-tree asm-util
|
||||||
|
%pom_add_dep org.junit.jupiter:junit-jupiter-params:5.7.0:test asm asm-analysis asm-commons asm-tree asm-util
|
||||||
|
%pom_add_plugin org.apache.maven.plugins:maven-surefire-plugin:2.22.0 asm asm-analysis asm-commons asm-test asm-tree asm-util
|
||||||
|
%pom_add_dep org.ow2.asm:asm-test:%{version}:test asm asm-analysis asm-commons asm-tree asm-util
|
||||||
|
%pom_add_dep org.ow2.asm:asm-util:%{version}:test asm-commons
|
||||||
|
%pom_add_dep org.codehaus.janino:janino:2.7.8:test asm-util
|
||||||
|
%pom_add_dep org.codehaus.janino:commons-compiler:2.7.8:test asm-util
|
||||||
|
%endif
|
||||||
|
|
||||||
# Disable tests that use unlicensed class files
|
# Disable tests that use unlicensed class files
|
||||||
sed -i -e '/testToByteArray_computeMaxs_largeSubroutines/i@org.junit.jupiter.api.Disabled("missing class file")' \
|
sed -i -e '/testToByteArray_computeMaxs_largeSubroutines/i@org.junit.jupiter.api.Disabled("missing class file")' \
|
||||||
@ -122,9 +124,6 @@ rm asm-commons/src/test/java/org/objectweb/asm/commons/SerialVersionUidAdderTest
|
|||||||
mkdir -p asm-all
|
mkdir -p asm-all
|
||||||
sed 's/@VERSION@/%{version}/g' %{SOURCE8} > asm-all/pom.xml
|
sed 's/@VERSION@/%{version}/g' %{SOURCE8} > asm-all/pom.xml
|
||||||
|
|
||||||
# Remove invalid self-dependency
|
|
||||||
%pom_remove_dep org.ow2.asm:asm-test asm-test
|
|
||||||
|
|
||||||
# Compat aliases
|
# Compat aliases
|
||||||
%mvn_alias :asm-all org.ow2.asm:asm-debug-all
|
%mvn_alias :asm-all org.ow2.asm:asm-debug-all
|
||||||
|
|
||||||
@ -159,6 +158,9 @@ popd
|
|||||||
%license LICENSE.txt
|
%license LICENSE.txt
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Feb 19 2021 Mat Booth <mat.booth@redhat.com> - 9.1-1
|
||||||
|
- Update to latest upstream release
|
||||||
|
|
||||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.1-2
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.1-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
14
sources
14
sources
@ -1,7 +1,7 @@
|
|||||||
SHA512 (objectweb-asm-8.0.1.tar.gz) = 9ab01a55a2cc855bb2bd113a6923c62a0bdeb9311a5061508cf76e6bf1d96c37a9ff6d7af90c52eaf1cec102142c3dd7b6fa6fc0392ef2a96e687c639593f375
|
SHA512 (objectweb-asm-9.1.tar.gz) = c5cff60acc0fc31842e397abff376e9061c5431fbfba8c0a24fd54ac654bb78382fdb30142b76cf87e87c43f89167ea36a2fd2320583de2b26a19e8abdde4772
|
||||||
SHA512 (asm-8.0.1.pom) = d2600348bd58f5f1a00a0dee7130088e7552be251c915922816952fc613377bd167762d3b986b67448ada28a84d8af668e8914ffcee4a446e0355e80bc7cbae8
|
SHA512 (asm-9.1.pom) = 9bdc46e2ee6721d9228b2ae9518a118b38f9cb35cfbf2a0a885f439b6cd8705cd62d6502fb1d6bb83523a1fc0b5d18832a0e231dc9ed4e0ca7fbd83bbf595061
|
||||||
SHA512 (asm-analysis-8.0.1.pom) = 60b8806ad63a31a13f523f5b3410b2553292faebdc8fbc27c6d7d6237c17744a98ce5c7ac3a3defdbfe57400f914d66bfb4f3124b57c207fc6ebb4d559245550
|
SHA512 (asm-analysis-9.1.pom) = f94b222e6ea2c964bde42785e43d82dc8ac4d07ad1b8748c6ee0e66ca70a5e3ee2dce0338ada8928b93929436bfc3227d5e2f73573caad67dd57e1bd612c9eec
|
||||||
SHA512 (asm-commons-8.0.1.pom) = 1889eabf9f5758cf3b4a2cb8d1c6585d71be6fc9d3efbd53ef6f379ad422167398f9d1b393abdb8ffdc5420ab47f8d842fe112b8542a3d5245a80212c7219cb0
|
SHA512 (asm-commons-9.1.pom) = ea17ae1dc7f732cb87d0bab9d68035b088577ed32b6fca3c70386f56feebbdd467dabe997e27134f8ad7c2133187af763b9c3aad696cce2ba36cf68f3f09b760
|
||||||
SHA512 (asm-test-8.0.1.pom) = fd796c236b9b19facf828337e276d8933e1d08776dec96f8a370637b9706054eb8a9653b4c44fcecee5522ec2a24f9517a31a9858137adee5517b2824ebc1870
|
SHA512 (asm-test-9.1.pom) = 1d3c7f7310d9a98136578653b2ace151286683c50c9d377ae27694322ae681913e2ae318ee614c2ef815b0e7a1eb3a31cb37451f366cd6cc0575d4e137fc61cf
|
||||||
SHA512 (asm-tree-8.0.1.pom) = 0116575ff309fee303ebe9c226c55993958aa0f84426aeb8fceb08c1f5a618f516114e556320e3d4a75e4b4fe575b05e9d774a988efb3609ebf92c0be0fd8b84
|
SHA512 (asm-tree-9.1.pom) = d6239bff2d055de63ec2e3c97bee0f07d1fe07113d662f7b75783ebbbf5a1c4435f9a265c27a81ab4bd15d990470ddc9949f1cf3fd9e2c0bedec9fbf65134eac
|
||||||
SHA512 (asm-util-8.0.1.pom) = 66bde49a77c2ab636e0f6499b71a636a45d01cfd7d82da0d1c8377cee126b9194559f12de0ab4b10236553b761b24d8f645103ec051bd39dc1f6db50453ffd8f
|
SHA512 (asm-util-9.1.pom) = da73aecae4d8c8fb0c1a216c66f38a445cea7b24f3e8898b142f4f1d16d42e34265d49495d721438df4231f33422d4c649d358db6d1123b2e1efefc51381df29
|
||||||
|
Loading…
Reference in New Issue
Block a user