Commit c4a9e49c authored by Eric Bruneton's avatar Eric Bruneton

Update the google-java-format-gradle-plugin to the latest version and reformat...

Update the google-java-format-gradle-plugin to the latest version and reformat the source files. Due to bug https://github.com/sherter/google-java-format-gradle-plugin/issues/25 the formatting was only checked on the :asm project, and not on the other subprojects. Version 0.7 of the plugin solves this issue.
parent 303ff45a
......@@ -31,7 +31,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.Type;
import org.objectweb.asm.tree.AbstractInsnNode;
......
......@@ -38,7 +38,7 @@ import org.objectweb.asm.tree.AbstractInsnNode;
public class AnalyzerException extends Exception {
private static final long serialVersionUID = 3154190448018943333L;
/** The bytecode instruction where the analysis failed. */
public final transient AbstractInsnNode node;
......
......@@ -28,7 +28,6 @@
package org.objectweb.asm.tree.analysis;
import java.util.List;
import org.objectweb.asm.ConstantDynamic;
import org.objectweb.asm.Handle;
import org.objectweb.asm.Opcodes;
......@@ -157,7 +156,7 @@ public class BasicInterpreter extends Interpreter<BasicValue> implements Opcodes
} else if (value instanceof Handle) {
return newValue(Type.getObjectType("java/lang/invoke/MethodHandle"));
} else if (value instanceof ConstantDynamic) {
return newValue(Type.getType(((ConstantDynamic)value).getDescriptor()));
return newValue(Type.getType(((ConstantDynamic) value).getDescriptor()));
} else {
throw new AnalyzerException(insn, "Illegal LDC value " + value);
}
......
......@@ -28,7 +28,6 @@
package org.objectweb.asm.tree.analysis;
import java.util.List;
import org.objectweb.asm.Type;
import org.objectweb.asm.tree.AbstractInsnNode;
import org.objectweb.asm.tree.FieldInsnNode;
......
......@@ -29,7 +29,6 @@ package org.objectweb.asm.tree.analysis;
import java.util.ArrayList;
import java.util.List;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.Type;
import org.objectweb.asm.tree.AbstractInsnNode;
......
......@@ -28,7 +28,6 @@
package org.objectweb.asm.tree.analysis;
import java.util.List;
import org.objectweb.asm.Type;
import org.objectweb.asm.tree.AbstractInsnNode;
......
......@@ -28,7 +28,6 @@
package org.objectweb.asm.tree.analysis;
import java.util.List;
import org.objectweb.asm.Type;
/**
......
......@@ -30,7 +30,6 @@ package org.objectweb.asm.tree.analysis;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.Type;
import org.objectweb.asm.tree.AbstractInsnNode;
......
......@@ -28,7 +28,6 @@
package org.objectweb.asm.tree.analysis;
import java.util.Set;
import org.objectweb.asm.tree.AbstractInsnNode;
/**
......
......@@ -29,7 +29,6 @@ package org.objectweb.asm.tree.analysis;
import java.util.ArrayList;
import java.util.List;
import org.objectweb.asm.tree.JumpInsnNode;
import org.objectweb.asm.tree.LabelNode;
......
......@@ -35,7 +35,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.FileInputStream;
import java.io.IOException;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
......
......@@ -32,7 +32,6 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.Arrays;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
......@@ -478,7 +477,8 @@ public class SimpleVerifierTest extends AsmTest implements Opcodes {
Type baseType = Type.getObjectType("C");
Type superType = Type.getObjectType("D");
Type interfaceType = Type.getObjectType("I");
new SimpleVerifier(ASM7_EXPERIMENTAL, baseType, superType, Arrays.asList(interfaceType), false) {
new SimpleVerifier(
ASM7_EXPERIMENTAL, baseType, superType, Arrays.asList(interfaceType), false) {
void test() {
assertTrue(isAssignableFrom(baseType, baseType));
......
......@@ -37,7 +37,6 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.NoSuchElementException;
import java.util.Set;
import org.junit.jupiter.api.Test;
/**
......
......@@ -31,7 +31,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.objectweb.asm.Handle;
import org.objectweb.asm.Label;
import org.objectweb.asm.MethodVisitor;
......@@ -97,7 +96,8 @@ public abstract class AdviceAdapter extends GeneratorAdapter implements Opcodes
* Constructs a new {@link AdviceAdapter}.
*
* @param api the ASM API version implemented by this visitor. Must be one of {@link
* Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link Opcodes#ASM7_EXPERIMENTAL}.
* Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link
* Opcodes#ASM7_EXPERIMENTAL}.
* @param methodVisitor the method visitor to which this adapter delegates calls.
* @param access the method's access flags (see {@link Opcodes}).
* @param name the method's name.
......@@ -641,4 +641,4 @@ public abstract class AdviceAdapter extends GeneratorAdapter implements Opcodes
* Opcodes#ATHROW}.
*/
protected void onMethodExit(final int opcode) {}
}
\ No newline at end of file
}
......@@ -31,7 +31,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.objectweb.asm.ConstantDynamic;
import org.objectweb.asm.Handle;
import org.objectweb.asm.Label;
......@@ -127,7 +126,8 @@ public class AnalyzerAdapter extends MethodVisitor {
* Constructs a new {@link AnalyzerAdapter}.
*
* @param api the ASM API version implemented by this visitor. Must be one of {@link
* Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link Opcodes#ASM7_EXPERIMENTAL}.
* Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link
* Opcodes#ASM7_EXPERIMENTAL}.
* @param owner the owner's class name.
* @param access the method's access flags (see {@link Opcodes}).
* @param name the method's name.
......
......@@ -29,7 +29,6 @@
package org.objectweb.asm.commons;
import java.util.List;
import org.objectweb.asm.AnnotationVisitor;
import org.objectweb.asm.Attribute;
import org.objectweb.asm.ClassVisitor;
......@@ -234,4 +233,4 @@ public class ClassRemapper extends ClassVisitor {
protected ModuleVisitor createModuleRemapper(final ModuleVisitor moduleVisitor) {
return new ModuleRemapper(api, moduleVisitor, remapper);
}
}
\ No newline at end of file
}
......@@ -30,7 +30,6 @@ package org.objectweb.asm.commons;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.Handle;
import org.objectweb.asm.Label;
......@@ -211,7 +210,8 @@ public class GeneratorAdapter extends LocalVariablesSorter {
* Constructs a new {@link GeneratorAdapter}.
*
* @param api the ASM API version implemented by this visitor. Must be one of {@link
* Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link Opcodes#ASM7_EXPERIMENTAL}.
* Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link
* Opcodes#ASM7_EXPERIMENTAL}.
* @param methodVisitor the method visitor to which this adapter delegates calls.
* @param access the method's access flags (see {@link Opcodes}).
* @param name the method's name.
......@@ -1420,4 +1420,4 @@ public class GeneratorAdapter extends LocalVariablesSorter {
}
mark(catchLabel);
}
}
\ No newline at end of file
}
......@@ -63,7 +63,8 @@ public class InstructionAdapter extends MethodVisitor {
* Constructs a new {@link InstructionAdapter}.
*
* @param api the ASM API version implemented by this visitor. Must be one of {@link
* Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link Opcodes#ASM7_EXPERIMENTAL}.
* Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link
* Opcodes#ASM7_EXPERIMENTAL}.
* @param methodVisitor the method visitor to which this adapter delegates calls.
*/
protected InstructionAdapter(final int api, final MethodVisitor methodVisitor) {
......@@ -1185,4 +1186,4 @@ public class InstructionAdapter extends MethodVisitor {
public void mark(final Label label) {
mv.visitLabel(label);
}
}
\ No newline at end of file
}
......@@ -35,7 +35,6 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.objectweb.asm.Label;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
......@@ -108,7 +107,8 @@ public class JSRInlinerAdapter extends MethodNode implements Opcodes {
* Constructs a new {@link JSRInlinerAdapter}.
*
* @param api the ASM API version implemented by this visitor. Must be one of {@link
* Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link Opcodes#ASM7_EXPERIMENTAL}.
* Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link
* Opcodes#ASM7_EXPERIMENTAL}.
* @param methodVisitor the method visitor to send the resulting inlined method code to, or <code>
* null</code>.
* @param access the method's access flags (see {@link Opcodes}). This parameter also indicates if
......@@ -561,4 +561,4 @@ public class JSRInlinerAdapter extends MethodNode implements Opcodes {
throw new UnsupportedOperationException();
}
}
}
\ No newline at end of file
}
......@@ -91,7 +91,8 @@ public class LocalVariablesSorter extends MethodVisitor {
* Constructs a new {@link LocalVariablesSorter}.
*
* @param api the ASM API version implemented by this visitor. Must be one of {@link
* Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link Opcodes#ASM7_EXPERIMENTAL}.
* Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link
* Opcodes#ASM7_EXPERIMENTAL}.
* @param access access flags of the adapted method.
* @param descriptor the method's descriptor (see {@link Type}).
* @param methodVisitor the method visitor to which this adapter delegates calls.
......@@ -297,7 +298,7 @@ public class LocalVariablesSorter extends MethodVisitor {
* types for the current stack map frame must be updated in place in this array.
*/
protected void updateNewLocals(final Object[] newLocals) {
// The default implementation does nothing.
// The default implementation does nothing.
}
/**
......
......@@ -29,7 +29,6 @@ package org.objectweb.asm.commons;
import java.util.HashMap;
import java.util.Map;
import org.objectweb.asm.Type;
/**
......
......@@ -30,7 +30,6 @@ package org.objectweb.asm.commons;
import java.util.ArrayList;
import java.util.List;
import org.objectweb.asm.Attribute;
import org.objectweb.asm.ByteVector;
import org.objectweb.asm.ClassReader;
......
......@@ -253,8 +253,8 @@ public abstract class Remapper {
}
/**
* Maps a package name to its new name. The default implementation of this method returns the given
* name, unchanged. Subclasses can override.
* Maps a package name to its new name. The default implementation of this method returns the
* given name, unchanged. Subclasses can override.
*
* @param name the fully qualified name of the package (using dots).
* @return the new name of the package.
......
......@@ -36,7 +36,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Comparator;
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.FieldVisitor;
import org.objectweb.asm.MethodVisitor;
......@@ -77,24 +76,28 @@ import org.objectweb.asm.Opcodes;
* <li>The modifiers of the field written as a 32-bit integer.
* <li>The descriptor of the field in UTF encoding
* </ol>
*
* <li>If a class initializer exists, write out the following:
* <ol>
* <li>The name of the method, &lt;clinit&gt;, in UTF encoding.
* <li>The modifier of the method, STATIC, written as a 32-bit integer.
* <li>The descriptor of the method, ()V, in UTF encoding.
* </ol>
*
* <li>For each non-private constructor sorted by method name and signature:
* <ol>
* <li>The name of the method, &lt;init&gt;, in UTF encoding.
* <li>The modifiers of the method written as a 32-bit integer.
* <li>The descriptor of the method in UTF encoding.
* </ol>
*
* <li>For each non-private method sorted by method name and signature:
* <ol>
* <li>The name of the method in UTF encoding.
* <li>The modifiers of the method written as a 32-bit integer.
* <li>The descriptor of the method in UTF encoding.
* </ol>
*
* <li>The SHA-1 algorithm is executed on the stream of bytes produced by DataOutputStream and
* produces five 32-bit values sha[0..4].
* <li>The hash value is assembled from the first and second 32-bit values of the SHA-1 message
......@@ -160,7 +163,8 @@ public class SerialVersionUIDAdder extends ClassVisitor {
* Constructs a new {@link SerialVersionUIDAdder}.
*
* @param api the ASM API version implemented by this visitor. Must be one of {@link
* Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link Opcodes#ASM7_EXPERIMENTAL}.
* Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link
* Opcodes#ASM7_EXPERIMENTAL}.
* @param classVisitor a {@link ClassVisitor} to which this visitor will delegate calls.
*/
protected SerialVersionUIDAdder(final int api, final ClassVisitor classVisitor) {
......@@ -483,4 +487,4 @@ public class SerialVersionUIDAdder extends ClassVisitor {
this.descriptor = descriptor;
}
}
}
\ No newline at end of file
}
......@@ -29,7 +29,6 @@
package org.objectweb.asm.commons;
import java.util.ArrayList;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.signature.SignatureVisitor;
......
......@@ -30,7 +30,6 @@ package org.objectweb.asm.commons;
import java.util.Collections;
import java.util.Comparator;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.tree.MethodNode;
......
......@@ -30,7 +30,6 @@ package org.objectweb.asm.commons;
import static org.junit.jupiter.api.Assertions.assertThrows;
import java.util.function.Consumer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
......
......@@ -32,7 +32,6 @@ import static org.objectweb.asm.test.Assertions.assertThat;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.function.Executable;
import org.junit.jupiter.params.ParameterizedTest;
......@@ -288,4 +287,4 @@ public class AnalyzerAdapterTest extends AsmTest {
super.visitMultiANewArrayInsn(descriptor, numDimensions);
}
}
}
\ No newline at end of file
}
......@@ -32,7 +32,6 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.objectweb.asm.test.Assertions.assertThat;
import java.util.Arrays;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
......
......@@ -39,7 +39,6 @@ import static org.objectweb.asm.commons.GeneratorAdapter.NE;
import java.util.Arrays;
import java.util.stream.Collectors;
import org.junit.jupiter.api.Test;
import org.objectweb.asm.Handle;
import org.objectweb.asm.Label;
......@@ -807,7 +806,11 @@ public class GeneratorAdapterTest {
textifier = new Textifier();
generatorAdapter =
new GeneratorAdapter(
Opcodes.ASM7_EXPERIMENTAL, new TraceMethodVisitor(textifier), access, name, descriptor);
Opcodes.ASM7_EXPERIMENTAL,
new TraceMethodVisitor(textifier),
access,
name,
descriptor);
}
public String push(final boolean value) {
......
......@@ -31,7 +31,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import java.util.stream.Collectors;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
......
......@@ -34,7 +34,6 @@ import static org.objectweb.asm.test.Assertions.assertThat;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
......
......@@ -84,7 +84,7 @@ public class MethodTest {
"boolean name(byte, char, short, int, float, long, double, pkg.Class, pkg.Class[])");
assertEquals("name", method.getName());
assertEquals("(BCSIFJDLpkg/Class;[Lpkg/Class;)Z", method.getDescriptor());
assertThrows(IllegalArgumentException.class, () -> Method.getMethod("name()"));
assertThrows(IllegalArgumentException.class, () -> Method.getMethod("void name"));
assertThrows(IllegalArgumentException.class, () -> Method.getMethod("void name(]"));
......
......@@ -31,7 +31,6 @@ import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.Arrays;
import org.junit.jupiter.api.Test;
import org.objectweb.asm.Attribute;
import org.objectweb.asm.ClassReader;
......
......@@ -32,7 +32,6 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.IOException;
import java.io.Serializable;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
......@@ -121,8 +120,7 @@ class SerialVersionClass implements Serializable {
protected static final int aField = 32;
static {
}
static {}
public static Object[] aMethod() {
return null;
......
......@@ -33,7 +33,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.junit.jupiter.api.Test;
/**
......
......@@ -32,19 +32,18 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
import org.junit.jupiter.params.provider.Arguments;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Modifier;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.StringTokenizer;
import java.util.stream.Stream;
import org.junit.jupiter.params.provider.Arguments;
/**
* Base class for the ASM tests. ASM can be used to read, write or transform any Java class, ranging
......
......@@ -28,9 +28,9 @@
package invalid;
public class InvalidBytecodeOffset {
public final int f;
public InvalidBytecodeOffset(boolean b) {
this.f = b ? 1 : 0;
}
......
......@@ -37,7 +37,7 @@ import java.lang.annotation.Target;
@interface Nullable {}
public class InvalidInsnTypeAnnotationTargetType {
public void method() {
@Nullable String local = null;
}
......
......@@ -29,8 +29,7 @@ package invalid;
public class InvalidStackMapFrameType {
public InvalidStackMapFrameType(String s) {
}
public InvalidStackMapFrameType(String s) {}
public InvalidStackMapFrameType(boolean b) {
this(b ? "true" : "false");
......
......@@ -37,6 +37,6 @@ import java.lang.annotation.Target;
@interface Nullable {}
public class InvalidTypeAnnotationTargetType {
public @Nullable String field;
}
......@@ -29,8 +29,7 @@ package invalid;
public class InvalidVerificationTypeInfo {
public InvalidVerificationTypeInfo(String s) {
}
public InvalidVerificationTypeInfo(String s) {}
public InvalidVerificationTypeInfo(boolean b) {
this(b ? "true" : "false");
......
......@@ -29,7 +29,6 @@ package jdk11;
import java.io.FileOutputStream;
import java.io.IOException;
import org.objectweb.asm.ClassWriter;
import org.objectweb.asm.ConstantDynamic;
import org.objectweb.asm.Handle;
......
......@@ -29,7 +29,6 @@ package jdk11;
import java.io.FileOutputStream;
import java.io.IOException;
import org.objectweb.asm.ClassWriter;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
......
......@@ -28,10 +28,10 @@
package jdk11;
/**
* By default with jdk 11, constant lambda are compiled using constant dynamic
* The classfile was generated with the amber (branch condy-folding) compiler.
*
* /usr/jdk/jdk-11/bin/javac -source 11 --enable-preview jdk11/LambdaCondy.java
* By default with jdk 11, constant lambda are compiled using constant dynamic The classfile was
* generated with the amber (branch condy-folding) compiler.
*
* <p>/usr/jdk/jdk-11/bin/javac -source 11 --enable-preview jdk11/LambdaCondy.java
*/
public class LambdaCondy {
public static void main(String[] args) {
......
......@@ -29,7 +29,6 @@ package jdk3;
import java.io.FileOutputStream;
import java.io.IOException;
import org.objectweb.asm.ClassWriter;
import org.objectweb.asm.CodeComment;
import org.objectweb.asm.Comment;
......
......@@ -27,12 +27,11 @@
// THE POSSIBILITY OF SUCH DAMAGE.
package jdk5;
import java.io.IOException;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.io.IOException;
/**
* Class which, compiled with the JDK 1.5.0, produces the new class file structures from that
......
......@@ -29,12 +29,7 @@ package jdk8;
import java.io.FileOutputStream;
import java.io.IOException;
import org.objectweb.asm.ClassWriter;
import org.objectweb.asm.CodeComment;
import org.objectweb.asm.Comment;
import org.objectweb.asm.FieldVisitor;
import org.objectweb.asm.Label;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.Type;
......
......@@ -83,7 +83,8 @@ public class AsmTestTest extends AsmTest {
/** Tests that we can load (and instantiate) each (non-abstract) precompiled class. */
@ParameterizedTest
@MethodSource(ALL_CLASSES_AND_LATEST_API)
public void testLoadAndInstantiate(final PrecompiledClass classParameter, final Api apiParameter) {
public void testLoadAndInstantiate(
final PrecompiledClass classParameter, final Api apiParameter) {
assertThat(() -> loadAndInstantiate(classParameter.getName(), classParameter.getBytes()))
.succeedsOrThrows(UnsupportedClassVersionError.class)
.when(classParameter.isMoreRecentThanCurrentJdk());
......
......@@ -30,7 +30,6 @@ package org.objectweb.asm.tree;
import java.util.ArrayList;