Compare commits
No commits in common. 'c9' and 'c8-stream-rhel8' have entirely different histories.
c9
...
c8-stream-
@ -1 +1 @@
|
|||||||
SOURCES/objectweb-asm-9.1.tar.gz
|
SOURCES/objectweb-asm-7.3.1.tar.gz
|
||||||
|
@ -1 +1 @@
|
|||||||
d4c155b63b6482c19ddcd1b4f62f9af39a951213 SOURCES/objectweb-asm-9.1.tar.gz
|
84de14cafe66de33312d0e4814f93a515508979a SOURCES/objectweb-asm-7.3.1.tar.gz
|
||||||
|
@ -0,0 +1,813 @@
|
|||||||
|
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
|
||||||
|
|
@ -1,75 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<groupId>org.ow2.asm</groupId>
|
|
||||||
<artifactId>asm</artifactId>
|
|
||||||
<version>9.1</version>
|
|
||||||
<name>asm</name>
|
|
||||||
<description>ASM, a very small and fast Java bytecode manipulation framework</description>
|
|
||||||
<url>http://asm.ow2.io/</url>
|
|
||||||
<inceptionYear>2000</inceptionYear>
|
|
||||||
<organization>
|
|
||||||
<name>OW2</name>
|
|
||||||
<url>http://www.ow2.org/</url>
|
|
||||||
</organization>
|
|
||||||
<licenses>
|
|
||||||
<license>
|
|
||||||
<name>BSD-3-Clause</name>
|
|
||||||
<url>https://asm.ow2.io/license.html</url>
|
|
||||||
</license>
|
|
||||||
</licenses>
|
|
||||||
<developers>
|
|
||||||
<developer>
|
|
||||||
<id>ebruneton</id>
|
|
||||||
<name>Eric Bruneton</name>
|
|
||||||
<email>ebruneton@free.fr</email>
|
|
||||||
<roles>
|
|
||||||
<role>Creator</role>
|
|
||||||
<role>Java Developer</role>
|
|
||||||
</roles>
|
|
||||||
</developer>
|
|
||||||
<developer>
|
|
||||||
<id>eu</id>
|
|
||||||
<name>Eugene Kuleshov</name>
|
|
||||||
<email>eu@javatx.org</email>
|
|
||||||
<roles>
|
|
||||||
<role>Java Developer</role>
|
|
||||||
</roles>
|
|
||||||
</developer>
|
|
||||||
<developer>
|
|
||||||
<id>forax</id>
|
|
||||||
<name>Remi Forax</name>
|
|
||||||
<email>forax@univ-mlv.fr</email>
|
|
||||||
<roles>
|
|
||||||
<role>Java Developer</role>
|
|
||||||
</roles>
|
|
||||||
</developer>
|
|
||||||
</developers>
|
|
||||||
<mailingLists>
|
|
||||||
<mailingList>
|
|
||||||
<name>ASM Users List</name>
|
|
||||||
<subscribe>https://mail.ow2.org/wws/subscribe/asm</subscribe>
|
|
||||||
<post>asm@objectweb.org</post>
|
|
||||||
<archive>https://mail.ow2.org/wws/arc/asm/</archive>
|
|
||||||
</mailingList>
|
|
||||||
<mailingList>
|
|
||||||
<name>ASM Team List</name>
|
|
||||||
<subscribe>https://mail.ow2.org/wws/subscribe/asm-team</subscribe>
|
|
||||||
<post>asm-team@objectweb.org</post>
|
|
||||||
<archive>https://mail.ow2.org/wws/arc/asm-team/</archive>
|
|
||||||
</mailingList>
|
|
||||||
</mailingLists>
|
|
||||||
<scm>
|
|
||||||
<connection>scm:git:https://gitlab.ow2.org/asm/asm/</connection>
|
|
||||||
<developerConnection>scm:git:https://gitlab.ow2.org/asm/asm/</developerConnection>
|
|
||||||
<url>https://gitlab.ow2.org/asm/asm/</url>
|
|
||||||
</scm>
|
|
||||||
<issueManagement>
|
|
||||||
<url>https://gitlab.ow2.org/asm/asm/issues</url>
|
|
||||||
</issueManagement>
|
|
||||||
<parent>
|
|
||||||
<groupId>org.ow2</groupId>
|
|
||||||
<artifactId>ow2</artifactId>
|
|
||||||
<version>1.5</version>
|
|
||||||
</parent>
|
|
||||||
</project>
|
|
@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>org.ow2</groupId>
|
||||||
|
<artifactId>ow2</artifactId>
|
||||||
|
<version>1.5</version>
|
||||||
|
</parent>
|
||||||
|
<groupId>org.ow2.asm</groupId>
|
||||||
|
<artifactId>asm-all</artifactId>
|
||||||
|
<version>@VERSION@</version>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ow2.asm</groupId>
|
||||||
|
<artifactId>asm</artifactId>
|
||||||
|
<version>@VERSION@</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ow2.asm</groupId>
|
||||||
|
<artifactId>asm-analysis</artifactId>
|
||||||
|
<version>@VERSION@</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ow2.asm</groupId>
|
||||||
|
<artifactId>asm-commons</artifactId>
|
||||||
|
<version>@VERSION@</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ow2.asm</groupId>
|
||||||
|
<artifactId>asm-tree</artifactId>
|
||||||
|
<version>@VERSION@</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ow2.asm</groupId>
|
||||||
|
<artifactId>asm-tree</artifactId>
|
||||||
|
<version>@VERSION@</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-shade-plugin</artifactId>
|
||||||
|
<version>3.1.1</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>shade</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
@ -0,0 +1,120 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>org.ow2</groupId>
|
||||||
|
<artifactId>ow2</artifactId>
|
||||||
|
<version>1.5</version>
|
||||||
|
</parent>
|
||||||
|
<groupId>org.ow2.asm</groupId>
|
||||||
|
<artifactId>asm-util</artifactId>
|
||||||
|
<version>7.3.1</version>
|
||||||
|
<name>asm-util</name>
|
||||||
|
<description>Utilities for ASM, a very small and fast Java bytecode manipulation framework</description>
|
||||||
|
<url>http://asm.ow2.io/</url>
|
||||||
|
<inceptionYear>2000</inceptionYear>
|
||||||
|
<organization>
|
||||||
|
<name>OW2</name>
|
||||||
|
<url>http://www.ow2.org/</url>
|
||||||
|
</organization>
|
||||||
|
<licenses>
|
||||||
|
<license>
|
||||||
|
<name>BSD-3-Clause</name>
|
||||||
|
<url>https://asm.ow2.io/license.html</url>
|
||||||
|
</license>
|
||||||
|
</licenses>
|
||||||
|
<developers>
|
||||||
|
<developer>
|
||||||
|
<id>ebruneton</id>
|
||||||
|
<name>Eric Bruneton</name>
|
||||||
|
<email>ebruneton@free.fr</email>
|
||||||
|
<roles>
|
||||||
|
<role>Creator</role>
|
||||||
|
<role>Java Developer</role>
|
||||||
|
</roles>
|
||||||
|
</developer>
|
||||||
|
<developer>
|
||||||
|
<id>eu</id>
|
||||||
|
<name>Eugene Kuleshov</name>
|
||||||
|
<email>eu@javatx.org</email>
|
||||||
|
<roles>
|
||||||
|
<role>Java Developer</role>
|
||||||
|
</roles>
|
||||||
|
</developer>
|
||||||
|
<developer>
|
||||||
|
<id>forax</id>
|
||||||
|
<name>Remi Forax</name>
|
||||||
|
<email>forax@univ-mlv.fr</email>
|
||||||
|
<roles>
|
||||||
|
<role>Java Developer</role>
|
||||||
|
</roles>
|
||||||
|
</developer>
|
||||||
|
</developers>
|
||||||
|
<mailingLists>
|
||||||
|
<mailingList>
|
||||||
|
<name>ASM Users List</name>
|
||||||
|
<subscribe>https://mail.ow2.org/wws/subscribe/asm</subscribe>
|
||||||
|
<post>asm@objectweb.org</post>
|
||||||
|
<archive>https://mail.ow2.org/wws/arc/asm/</archive>
|
||||||
|
</mailingList>
|
||||||
|
<mailingList>
|
||||||
|
<name>ASM Team List</name>
|
||||||
|
<subscribe>https://mail.ow2.org/wws/subscribe/asm-team</subscribe>
|
||||||
|
<post>asm-team@objectweb.org</post>
|
||||||
|
<archive>https://mail.ow2.org/wws/arc/asm-team/</archive>
|
||||||
|
</mailingList>
|
||||||
|
</mailingLists>
|
||||||
|
<scm>
|
||||||
|
<connection>scm:git:https://gitlab.ow2.org/asm/asm/</connection>
|
||||||
|
<developerConnection>scm:git:https://gitlab.ow2.org/asm/asm/</developerConnection>
|
||||||
|
<url>https://gitlab.ow2.org/asm/asm/</url>
|
||||||
|
</scm>
|
||||||
|
<issueManagement>
|
||||||
|
<url>https://gitlab.ow2.org/asm/asm/issues</url>
|
||||||
|
</issueManagement>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ow2.asm</groupId>
|
||||||
|
<artifactId>asm</artifactId>
|
||||||
|
<version>7.3.1</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ow2.asm</groupId>
|
||||||
|
<artifactId>asm-tree</artifactId>
|
||||||
|
<version>7.3.1</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ow2.asm</groupId>
|
||||||
|
<artifactId>asm-analysis</artifactId>
|
||||||
|
<version>7.3.1</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.codehaus.janino</groupId>
|
||||||
|
<artifactId>janino</artifactId>
|
||||||
|
<version>3.0.11</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ow2.asm</groupId>
|
||||||
|
<artifactId>asm-test</artifactId>
|
||||||
|
<version>7.3.1</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.jupiter</groupId>
|
||||||
|
<artifactId>junit-jupiter-api</artifactId>
|
||||||
|
<version>5.3.2</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.jupiter</groupId>
|
||||||
|
<artifactId>junit-jupiter-params</artifactId>
|
||||||
|
<version>5.3.2</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</project>
|
Loading…
Reference in new issue