Package org.objectweb.asm.commons
Class StaticInitMerger
- java.lang.Object
-
- org.objectweb.asm.ClassVisitor
-
- org.objectweb.asm.commons.StaticInitMerger
-
public class StaticInitMerger extends ClassVisitor
AClassVisitorthat 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.- Author:
- Eric Bruneton
-
-
Field Summary
-
Fields inherited from class org.objectweb.asm.ClassVisitor
api, cv
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedStaticInitMerger(int api, String prefix, ClassVisitor classVisitor)Constructs a newStaticInitMerger.StaticInitMerger(String prefix, ClassVisitor classVisitor)Constructs a newStaticInitMerger.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidvisit(int version, int access, String name, String signature, String superName, String[] interfaces)voidvisitEnd()MethodVisitorvisitMethod(int access, String name, String descriptor, String signature, String[] exceptions)-
Methods inherited from class org.objectweb.asm.ClassVisitor
visitAnnotation, visitAttribute, visitField, visitInnerClass, visitModule, visitNestHost, visitNestMember, visitOuterClass, visitPermittedSubclass, visitRecordComponent, visitSource, visitTypeAnnotation
-
-
-
-
Constructor Detail
-
StaticInitMerger
public StaticInitMerger(String prefix, ClassVisitor classVisitor)
Constructs a newStaticInitMerger. Subclasses must not use this constructor. Instead, they must use theStaticInitMerger(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, ClassVisitor classVisitor)Constructs a newStaticInitMerger.- Parameters:
api- the ASM API version implemented by this visitor. Must be one of theASMx values inOpcodes.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, String name, String signature, String superName, String[] interfaces)- Overrides:
visitin classClassVisitor
-
visitMethod
public MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions)
- Overrides:
visitMethodin classClassVisitor
-
visitEnd
public void visitEnd()
- Overrides:
visitEndin classClassVisitor
-
-