Class StaticInitMerger


  • public class StaticInitMerger
    extends org.objectweb.asm.ClassVisitor
    A ClassVisitor that merges <clinit> methods into a single one. All the existing <clinit> methods are renamed, and a new one is created, which calls all the renamed methods.
    • Field Summary

      • Fields inherited from class org.objectweb.asm.ClassVisitor

        api, cv
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected StaticInitMerger​(int api, java.lang.String prefix, org.objectweb.asm.ClassVisitor classVisitor)
      Constructs a new StaticInitMerger.
        StaticInitMerger​(java.lang.String prefix, org.objectweb.asm.ClassVisitor classVisitor)
      Constructs a new StaticInitMerger.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void visit​(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)  
      void visitEnd()  
      org.objectweb.asm.MethodVisitor visitMethod​(int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.String[] exceptions)  
      • Methods inherited from class org.objectweb.asm.ClassVisitor

        visitAnnotation, visitAttribute, visitField, visitInnerClass, visitModule, visitNestHost, visitNestMember, visitOuterClass, visitPermittedSubclass, visitRecordComponent, visitSource, visitTypeAnnotation
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • StaticInitMerger

        public StaticInitMerger​(java.lang.String prefix,
                                org.objectweb.asm.ClassVisitor classVisitor)
        Constructs a new StaticInitMerger. Subclasses must not use this constructor. Instead, they must use the StaticInitMerger(int, String, ClassVisitor) version.
        Parameters:
        prefix - the prefix to use to rename the existing <clinit> methods.
        classVisitor - the class visitor to which this visitor must delegate method calls. May be null.
      • StaticInitMerger

        protected StaticInitMerger​(int api,
                                   java.lang.String prefix,
                                   org.objectweb.asm.ClassVisitor classVisitor)
        Constructs a new StaticInitMerger.
        Parameters:
        api - the ASM API version implemented by this visitor. Must be one of Opcodes.ASM4, Opcodes.ASM5, Opcodes.ASM6, Opcodes.ASM7, Opcodes.ASM8 or Opcodes.ASM9.
        prefix - the prefix to use to rename the existing <clinit> methods.
        classVisitor - the class visitor to which this visitor must delegate method calls. May be null.
    • Method Detail

      • visit

        public void visit​(int version,
                          int access,
                          java.lang.String name,
                          java.lang.String signature,
                          java.lang.String superName,
                          java.lang.String[] interfaces)
        Overrides:
        visit in class org.objectweb.asm.ClassVisitor
      • visitMethod

        public org.objectweb.asm.MethodVisitor visitMethod​(int access,
                                                           java.lang.String name,
                                                           java.lang.String descriptor,
                                                           java.lang.String signature,
                                                           java.lang.String[] exceptions)
        Overrides:
        visitMethod in class org.objectweb.asm.ClassVisitor
      • visitEnd

        public void visitEnd()
        Overrides:
        visitEnd in class org.objectweb.asm.ClassVisitor