protected class TypeWriter.Default.ForInlining.RedefinitionClassVisitor extends ClassVisitor
| Modifier and Type | Class and Description |
|---|---|
protected class |
TypeWriter.Default.ForInlining.RedefinitionClassVisitor.AttributeObtainingFieldVisitor
A field visitor that obtains all attributes and annotations of a field that is found in the
class file but that discards all code.
|
protected class |
TypeWriter.Default.ForInlining.RedefinitionClassVisitor.AttributeObtainingMethodVisitor
A method visitor that obtains all attributes and annotations of a method that is found in the
class file but that discards all code.
|
protected class |
TypeWriter.Default.ForInlining.RedefinitionClassVisitor.CodePreservingMethodVisitor
A method visitor that preserves the code of a method in the class file by copying it into a rebased
method while copying all attributes and annotations to the actual method.
|
protected class |
TypeWriter.Default.ForInlining.RedefinitionClassVisitor.TypeInitializerInjection
A code injection for the type initializer that invokes a method representing the original type initializer
which is copied to a static method.
|
api, cv| Modifier | Constructor and Description |
|---|---|
protected |
RedefinitionClassVisitor(ClassVisitor classVisitor,
TypeInitializer typeInitializer,
TypeWriter.Default.ForInlining.ContextRegistry contextRegistry)
Creates a class visitor which is capable of redefining an existent class on the fly.
|
| Modifier and Type | Method and Description |
|---|---|
protected MethodVisitor |
redefine(MethodDescription methodDescription,
boolean abstractOrigin)
Redefines a given method if this is required by looking up a potential implementation from the
TypeWriter.MethodPool. |
protected FieldVisitor |
redefine(TypeWriter.FieldPool.Record record,
Object defaultValue)
Redefines a field using the given explicit field pool record and default value.
|
String |
toString() |
void |
visit(int classFileVersionNumber,
int modifiers,
String internalName,
String genericSignature,
String superClassInternalName,
String[] interfaceTypeInternalName) |
AnnotationVisitor |
visitAnnotation(String descriptor,
boolean visible) |
void |
visitEnd() |
FieldVisitor |
visitField(int modifiers,
String internalName,
String descriptor,
String genericSignature,
Object defaultValue) |
void |
visitInnerClass(String internalName,
String outerName,
String innerName,
int modifiers) |
MethodVisitor |
visitMethod(int modifiers,
String internalName,
String descriptor,
String genericSignature,
String[] exceptionTypeInternalName) |
AnnotationVisitor |
visitTypeAnnotation(int typeReference,
TypePath typePath,
String descriptor,
boolean visible) |
visitAttribute, visitOuterClass, visitSourceprotected RedefinitionClassVisitor(ClassVisitor classVisitor, TypeInitializer typeInitializer, TypeWriter.Default.ForInlining.ContextRegistry contextRegistry)
classVisitor - The underlying class visitor to which writes are delegated.typeInitializer - The type initializer to apply.contextRegistry - A context registry to register the lazily created implementation context to.public void visit(int classFileVersionNumber,
int modifiers,
String internalName,
String genericSignature,
String superClassInternalName,
String[] interfaceTypeInternalName)
visit in class ClassVisitorpublic void visitInnerClass(String internalName, String outerName, String innerName, int modifiers)
visitInnerClass in class ClassVisitorpublic AnnotationVisitor visitTypeAnnotation(int typeReference, TypePath typePath, String descriptor, boolean visible)
visitTypeAnnotation in class ClassVisitorpublic AnnotationVisitor visitAnnotation(String descriptor, boolean visible)
visitAnnotation in class ClassVisitorpublic FieldVisitor visitField(int modifiers, String internalName, String descriptor, String genericSignature, Object defaultValue)
visitField in class ClassVisitorprotected FieldVisitor redefine(TypeWriter.FieldPool.Record record, Object defaultValue)
record - The field pool value to apply during visitation of the existing field.defaultValue - The default value to write onto the field which might be null.public MethodVisitor visitMethod(int modifiers, String internalName, String descriptor, String genericSignature, String[] exceptionTypeInternalName)
visitMethod in class ClassVisitorprotected MethodVisitor redefine(MethodDescription methodDescription, boolean abstractOrigin)
TypeWriter.MethodPool.methodDescription - The method being considered for redefinition.abstractOrigin - true if the original method is abstract, i.e. there is no implementation
to preserve.public void visitEnd()
visitEnd in class ClassVisitorCopyright © 2014–2016. All rights reserved.