< prev index next >

src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/StaticInitMerger.java

Print this page
rev 47452 : imported patch jdk-new-asmv6.patch


  61 import jdk.internal.org.objectweb.asm.ClassVisitor;
  62 import jdk.internal.org.objectweb.asm.MethodVisitor;
  63 import jdk.internal.org.objectweb.asm.Opcodes;
  64 
  65 /**
  66  * A {@link ClassVisitor} that merges clinit methods into a single one.
  67  *
  68  * @author Eric Bruneton
  69  */
  70 public class StaticInitMerger extends ClassVisitor {
  71 
  72     private String name;
  73 
  74     private MethodVisitor clinit;
  75 
  76     private final String prefix;
  77 
  78     private int counter;
  79 
  80     public StaticInitMerger(final String prefix, final ClassVisitor cv) {
  81         this(Opcodes.ASM5, prefix, cv);
  82     }
  83 
  84     protected StaticInitMerger(final int api, final String prefix,
  85             final ClassVisitor cv) {
  86         super(api, cv);
  87         this.prefix = prefix;
  88     }
  89 
  90     @Override
  91     public void visit(final int version, final int access, final String name,
  92             final String signature, final String superName,
  93             final String[] interfaces) {
  94         cv.visit(version, access, name, signature, superName, interfaces);
  95         this.name = name;
  96     }
  97 
  98     @Override
  99     public MethodVisitor visitMethod(final int access, final String name,
 100             final String desc, final String signature, final String[] exceptions) {
 101         MethodVisitor mv;




  61 import jdk.internal.org.objectweb.asm.ClassVisitor;
  62 import jdk.internal.org.objectweb.asm.MethodVisitor;
  63 import jdk.internal.org.objectweb.asm.Opcodes;
  64 
  65 /**
  66  * A {@link ClassVisitor} that merges clinit methods into a single one.
  67  *
  68  * @author Eric Bruneton
  69  */
  70 public class StaticInitMerger extends ClassVisitor {
  71 
  72     private String name;
  73 
  74     private MethodVisitor clinit;
  75 
  76     private final String prefix;
  77 
  78     private int counter;
  79 
  80     public StaticInitMerger(final String prefix, final ClassVisitor cv) {
  81         this(Opcodes.ASM6, prefix, cv);
  82     }
  83 
  84     protected StaticInitMerger(final int api, final String prefix,
  85             final ClassVisitor cv) {
  86         super(api, cv);
  87         this.prefix = prefix;
  88     }
  89 
  90     @Override
  91     public void visit(final int version, final int access, final String name,
  92             final String signature, final String superName,
  93             final String[] interfaces) {
  94         cv.visit(version, access, name, signature, superName, interfaces);
  95         this.name = name;
  96     }
  97 
  98     @Override
  99     public MethodVisitor visitMethod(final int access, final String name,
 100             final String desc, final String signature, final String[] exceptions) {
 101         MethodVisitor mv;


< prev index next >