Package org.objectweb.asm.commons
Class StaticInitMerger
- java.lang.Object
-
- org.objectweb.asm.ClassVisitor
-
- org.objectweb.asm.commons.StaticInitMerger
-
public class StaticInitMerger extends org.objectweb.asm.ClassVisitorAClassVisitorthat 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
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedStaticInitMerger(int api, java.lang.String prefix, org.objectweb.asm.ClassVisitor classVisitor)Constructs a newStaticInitMerger.StaticInitMerger(java.lang.String prefix, org.objectweb.asm.ClassVisitor classVisitor)Constructs a newStaticInitMerger.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidvisit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)voidvisitEnd()org.objectweb.asm.MethodVisitorvisitMethod(int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.String[] exceptions)
-
-
-
Constructor Detail
-
StaticInitMerger
public StaticInitMerger(java.lang.String prefix, org.objectweb.asm.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, java.lang.String prefix, org.objectweb.asm.ClassVisitor classVisitor)Constructs a newStaticInitMerger.- Parameters:
api- the ASM API version implemented by this visitor. Must be one ofOpcodes.ASM4,Opcodes.ASM5orOpcodes.ASM6.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:
visitin classorg.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:
visitMethodin classorg.objectweb.asm.ClassVisitor
-
visitEnd
public void visitEnd()
- Overrides:
visitEndin classorg.objectweb.asm.ClassVisitor
-
-