public class StaticInitMerger extends ClassAdapter
ClassAdapter that merges clinit methods into a single one.| Modifier and Type | Field and Description |
|---|---|
private MethodVisitor |
clinit |
private int |
counter |
private java.lang.String |
name |
private java.lang.String |
prefix |
cv| Constructor and Description |
|---|
StaticInitMerger(java.lang.String prefix,
ClassVisitor cv) |
| Modifier and Type | Method and Description |
|---|---|
void |
visit(int version,
int access,
java.lang.String name,
java.lang.String signature,
java.lang.String superName,
java.lang.String[] interfaces)
Visits the header of the class.
|
void |
visitEnd()
Visits the end of the class.
|
MethodVisitor |
visitMethod(int access,
java.lang.String name,
java.lang.String desc,
java.lang.String signature,
java.lang.String[] exceptions)
Visits a method of the class.
|
visitAnnotation, visitAttribute, visitField, visitInnerClass, visitOuterClass, visitSourceprivate java.lang.String name
private MethodVisitor clinit
private java.lang.String prefix
private int counter
public StaticInitMerger(java.lang.String prefix,
ClassVisitor cv)
public void visit(int version,
int access,
java.lang.String name,
java.lang.String signature,
java.lang.String superName,
java.lang.String[] interfaces)
ClassVisitorvisit in interface ClassVisitorvisit in class ClassAdapterversion - the class version.access - the class's access flags (see Opcodes). This
parameter also indicates if the class is deprecated.name - the internal name of the class (see
getInternalName).signature - the signature of this class. May be null if
the class is not a generic one, and does not extend or implement
generic classes or interfaces.superName - the internal of name of the super class (see
getInternalName). For interfaces,
the super class is Object. May be null, but
only for the Object class.interfaces - the internal names of the class's interfaces (see
getInternalName). May be
null.public MethodVisitor visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
ClassVisitorMethodVisitor instance (or null) each time it is
called, i.e., it should not return a previously returned visitor.visitMethod in interface ClassVisitorvisitMethod in class ClassAdapteraccess - the method's access flags (see Opcodes). This
parameter also indicates if the method is synthetic and/or
deprecated.name - the method's name.desc - the method's descriptor (see Type).signature - the method's signature. May be null if the
method parameters, return type and exceptions do not use generic
types.exceptions - the internal names of the method's exception classes
(see getInternalName). May be
null.public void visitEnd()
ClassVisitorvisitEnd in interface ClassVisitorvisitEnd in class ClassAdapter