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.ClassVisitor
AClassVisitor
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.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
StaticInitMerger(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 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)
-
-
-
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.ASM5
,Opcodes.ASM6
,Opcodes.ASM7
,Opcodes.ASM8
orOpcodes.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 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:
visitMethod
in classorg.objectweb.asm.ClassVisitor
-
visitEnd
public void visitEnd()
- Overrides:
visitEnd
in classorg.objectweb.asm.ClassVisitor
-
-