src/share/classes/jdk/internal/org/objectweb/asm/util/ASMifier.java

Print this page




 189 
 190     // ------------------------------------------------------------------------
 191     // Classes
 192     // ------------------------------------------------------------------------
 193 
 194     @Override
 195     public void visit(final int version, final int access, final String name,
 196             final String signature, final String superName,
 197             final String[] interfaces) {
 198         String simpleName;
 199         int n = name.lastIndexOf('/');
 200         if (n == -1) {
 201             simpleName = name;
 202         } else {
 203             text.add("package asm." + name.substring(0, n).replace('/', '.')
 204                     + ";\n");
 205             simpleName = name.substring(n + 1);
 206         }
 207         text.add("import java.util.*;\n");
 208         text.add("import jdk.internal.org.objectweb.asm.*;\n");
 209         text.add("import jdk.internal.org.objectweb.asm.attrs.*;\n");
 210         text.add("public class " + simpleName + "Dump implements Opcodes {\n\n");
 211         text.add("public static byte[] dump () throws Exception {\n\n");
 212         text.add("ClassWriter cw = new ClassWriter(0);\n");
 213         text.add("FieldVisitor fv;\n");
 214         text.add("MethodVisitor mv;\n");
 215         text.add("AnnotationVisitor av0;\n\n");
 216 
 217         buf.setLength(0);
 218         buf.append("cw.visit(");
 219         switch (version) {
 220         case Opcodes.V1_1:
 221             buf.append("V1_1");
 222             break;
 223         case Opcodes.V1_2:
 224             buf.append("V1_2");
 225             break;
 226         case Opcodes.V1_3:
 227             buf.append("V1_3");
 228             break;
 229         case Opcodes.V1_4:




 189 
 190     // ------------------------------------------------------------------------
 191     // Classes
 192     // ------------------------------------------------------------------------
 193 
 194     @Override
 195     public void visit(final int version, final int access, final String name,
 196             final String signature, final String superName,
 197             final String[] interfaces) {
 198         String simpleName;
 199         int n = name.lastIndexOf('/');
 200         if (n == -1) {
 201             simpleName = name;
 202         } else {
 203             text.add("package asm." + name.substring(0, n).replace('/', '.')
 204                     + ";\n");
 205             simpleName = name.substring(n + 1);
 206         }
 207         text.add("import java.util.*;\n");
 208         text.add("import jdk.internal.org.objectweb.asm.*;\n");

 209         text.add("public class " + simpleName + "Dump implements Opcodes {\n\n");
 210         text.add("public static byte[] dump () throws Exception {\n\n");
 211         text.add("ClassWriter cw = new ClassWriter(0);\n");
 212         text.add("FieldVisitor fv;\n");
 213         text.add("MethodVisitor mv;\n");
 214         text.add("AnnotationVisitor av0;\n\n");
 215 
 216         buf.setLength(0);
 217         buf.append("cw.visit(");
 218         switch (version) {
 219         case Opcodes.V1_1:
 220             buf.append("V1_1");
 221             break;
 222         case Opcodes.V1_2:
 223             buf.append("V1_2");
 224             break;
 225         case Opcodes.V1_3:
 226             buf.append("V1_3");
 227             break;
 228         case Opcodes.V1_4: