protected class TypeWriter.Default.ForInlining.RedefinitionClassVisitor
extends org.objectweb.asm.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.
|
Modifier | Constructor and Description |
---|---|
protected |
RedefinitionClassVisitor(org.objectweb.asm.ClassVisitor classVisitor,
TypeInitializer typeInitializer,
TypeWriter.Default.ForInlining.ContextRegistry contextRegistry,
int writerFlags,
int readerFlags)
Creates a class visitor which is capable of redefining an existent class on the fly.
|
Modifier and Type | Method and Description |
---|---|
protected org.objectweb.asm.MethodVisitor |
redefine(MethodDescription methodDescription,
boolean abstractOrigin,
int modifiers,
String genericSignature)
Redefines a given method if this is required by looking up a potential implementation from the
TypeWriter.MethodPool . |
protected org.objectweb.asm.FieldVisitor |
redefine(TypeWriter.FieldPool.Record record,
Object defaultValue,
int modifiers,
String genericSignature)
Redefines a field using the given explicit field pool record and default value.
|
void |
visit(int classFileVersionNumber,
int modifiers,
String internalName,
String genericSignature,
String superClassInternalName,
String[] interfaceTypeInternalName) |
org.objectweb.asm.AnnotationVisitor |
visitAnnotation(String descriptor,
boolean visible) |
void |
visitEnd() |
org.objectweb.asm.FieldVisitor |
visitField(int modifiers,
String internalName,
String descriptor,
String genericSignature,
Object defaultValue) |
void |
visitInnerClass(String internalName,
String outerName,
String innerName,
int modifiers) |
org.objectweb.asm.MethodVisitor |
visitMethod(int modifiers,
String internalName,
String descriptor,
String genericSignature,
String[] exceptionName) |
org.objectweb.asm.AnnotationVisitor |
visitTypeAnnotation(int typeReference,
org.objectweb.asm.TypePath typePath,
String descriptor,
boolean visible) |
protected RedefinitionClassVisitor(org.objectweb.asm.ClassVisitor classVisitor, TypeInitializer typeInitializer, TypeWriter.Default.ForInlining.ContextRegistry contextRegistry, int writerFlags, int readerFlags)
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.writerFlags
- The writer flags being used.readerFlags
- The reader flags being used.public void visit(int classFileVersionNumber, int modifiers, String internalName, String genericSignature, String superClassInternalName, String[] interfaceTypeInternalName)
visit
in class org.objectweb.asm.ClassVisitor
public void visitInnerClass(String internalName, String outerName, String innerName, int modifiers)
visitInnerClass
in class org.objectweb.asm.ClassVisitor
public org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int typeReference, org.objectweb.asm.TypePath typePath, String descriptor, boolean visible)
visitTypeAnnotation
in class org.objectweb.asm.ClassVisitor
public org.objectweb.asm.AnnotationVisitor visitAnnotation(String descriptor, boolean visible)
visitAnnotation
in class org.objectweb.asm.ClassVisitor
public org.objectweb.asm.FieldVisitor visitField(int modifiers, String internalName, String descriptor, String genericSignature, Object defaultValue)
visitField
in class org.objectweb.asm.ClassVisitor
protected org.objectweb.asm.FieldVisitor redefine(TypeWriter.FieldPool.Record record, Object defaultValue, int modifiers, String genericSignature)
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
.modifiers
- The original modifiers of the transformed field.genericSignature
- The field's original generic signature which can be null
.public org.objectweb.asm.MethodVisitor visitMethod(int modifiers, String internalName, String descriptor, String genericSignature, String[] exceptionName)
visitMethod
in class org.objectweb.asm.ClassVisitor
protected org.objectweb.asm.MethodVisitor redefine(MethodDescription methodDescription, boolean abstractOrigin, int modifiers, String genericSignature)
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.modifiers
- The original modifiers of the transformed method.genericSignature
- The method's original generic signature which can be null
.public void visitEnd()
visitEnd
in class org.objectweb.asm.ClassVisitor
Copyright © 2014–2018. All rights reserved.