Class StaticInitMerger

java.lang.Object
org.objectweb.asm.ClassVisitor
org.objectweb.asm.commons.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, String prefix, org.objectweb.asm.ClassVisitor classVisitor)
    Constructs a new StaticInitMerger.
     
    StaticInitMerger(String prefix, org.objectweb.asm.ClassVisitor classVisitor)
    Constructs a new StaticInitMerger.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    visit(int version, int access, String name, String signature, String superName, String[] interfaces)
     
    void
     
    org.objectweb.asm.MethodVisitor
    visitMethod(int access, String name, String descriptor, String signature, String[] exceptions)
     

    Methods inherited from class org.objectweb.asm.ClassVisitor

    getDelegate, 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 Details

    • StaticInitMerger

      public StaticInitMerger(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, 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 the ASMx values in Opcodes.
      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 Details

    • visit

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

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

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