public abstract static class TypeWriter.Default.ForInlining.InitializationHandler.Appending extends MethodVisitor implements TypeWriter.Default.ForInlining.InitializationHandler, TypeInitializer.Drain
| Modifier and Type | Class and Description |
|---|---|
protected static interface |
TypeWriter.Default.ForInlining.InitializationHandler.Appending.FrameWriter
A frame writer is responsible for adding empty frames on jumo instructions.
|
protected static class |
TypeWriter.Default.ForInlining.InitializationHandler.Appending.WithActiveRecord
A code appending initialization handler that applies an explicit record.
|
protected static class |
TypeWriter.Default.ForInlining.InitializationHandler.Appending.WithoutActiveRecord
A code appending initialization handler that does not apply an explicit record.
|
TypeWriter.Default.ForInlining.InitializationHandler.Appending, TypeWriter.Default.ForInlining.InitializationHandler.CreatingTypeInitializer.Drain.Default| Modifier and Type | Field and Description |
|---|---|
protected AnnotationValueFilter.Factory |
annotationValueFilterFactory
The used annotation value filter factory.
|
protected Label |
appended
A label marking the beginning of the appended code.
|
protected TypeWriter.Default.ForInlining.InitializationHandler.Appending.FrameWriter |
frameWriter
The frame writer to use.
|
protected TypeDescription |
instrumentedType
The instrumented type.
|
protected int |
localVariableLength
The currently recorded local variable length.
|
protected Label |
original
A label marking the beginning og the original type initializer's code.
|
protected TypeWriter.MethodPool.Record |
record
The method pool record for the type initializer.
|
protected int |
stackSize
The currently recorded stack size.
|
api, mv| Modifier | Constructor and Description |
|---|---|
protected |
Appending(MethodVisitor methodVisitor,
TypeDescription instrumentedType,
TypeWriter.MethodPool.Record record,
AnnotationValueFilter.Factory annotationValueFilterFactory,
boolean requireFrames,
boolean expandFrames)
Creates a new appending initialization handler.
|
| Modifier and Type | Method and Description |
|---|---|
void |
apply(ClassVisitor classVisitor,
TypeInitializer typeInitializer,
Implementation.Context implementationContext)
Applies the drain.
|
void |
complete(ClassVisitor classVisitor,
Implementation.Context.ExtractableView implementationContext)
Invoked upon completion of writing the instrumented type.
|
protected static TypeWriter.Default.ForInlining.InitializationHandler |
of(MethodVisitor methodVisitor,
TypeDescription instrumentedType,
TypeWriter.MethodPool methodPool,
AnnotationValueFilter.Factory annotationValueFilterFactory,
boolean requireFrames,
boolean expandFrames)
Creates a new initialization handler that is appropriate for the supplied arguments.
|
protected abstract void |
onComplete(Implementation.Context implementationContext)
Invoked upon completion of writing the type initializer.
|
void |
visitCode() |
void |
visitEnd() |
void |
visitFrame(int type,
int localVariableLength,
Object[] localVariable,
int stackSize,
Object[] stack) |
void |
visitMaxs(int stackSize,
int localVariableLength) |
visitAnnotation, visitAnnotationDefault, visitAttribute, visitFieldInsn, visitIincInsn, visitInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariable, visitLocalVariableAnnotation, visitLookupSwitchInsn, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitParameter, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation, visitTypeInsn, visitVarInsnprotected final TypeDescription instrumentedType
protected final TypeWriter.MethodPool.Record record
protected final AnnotationValueFilter.Factory annotationValueFilterFactory
protected final TypeWriter.Default.ForInlining.InitializationHandler.Appending.FrameWriter frameWriter
protected final Label appended
protected final Label original
protected int stackSize
protected int localVariableLength
protected Appending(MethodVisitor methodVisitor, TypeDescription instrumentedType, TypeWriter.MethodPool.Record record, AnnotationValueFilter.Factory annotationValueFilterFactory, boolean requireFrames, boolean expandFrames)
methodVisitor - The underlying method visitor.instrumentedType - The instrumented type.record - The method pool record for the type initializer.annotationValueFilterFactory - The used annotation value filter factory.requireFrames - true if the visitor is required to add frames.expandFrames - true if the visitor is required to expand any added frame.protected static TypeWriter.Default.ForInlining.InitializationHandler of(MethodVisitor methodVisitor, TypeDescription instrumentedType, TypeWriter.MethodPool methodPool, AnnotationValueFilter.Factory annotationValueFilterFactory, boolean requireFrames, boolean expandFrames)
methodVisitor - The underlying method visitor.instrumentedType - The instrumented type.methodPool - The method pool to use.annotationValueFilterFactory - The used annotation value filter factory.requireFrames - true if the visitor is required to add frames.expandFrames - true if the visitor is required to expand any added frame.MethodVisitor.public void visitCode()
visitCode in class MethodVisitorpublic void visitFrame(int type,
int localVariableLength,
Object[] localVariable,
int stackSize,
Object[] stack)
visitFrame in class MethodVisitorpublic void visitMaxs(int stackSize,
int localVariableLength)
visitMaxs in class MethodVisitorpublic void visitEnd()
visitEnd in class MethodVisitorpublic void apply(ClassVisitor classVisitor, TypeInitializer typeInitializer, Implementation.Context implementationContext)
TypeInitializer.Drainapply in interface TypeInitializer.DrainclassVisitor - The class visitor to apply the initializer to.typeInitializer - The type initializer to write.implementationContext - The corresponding implementation context.public void complete(ClassVisitor classVisitor, Implementation.Context.ExtractableView implementationContext)
TypeWriter.Default.ForInlining.InitializationHandlercomplete in interface TypeWriter.Default.ForInlining.InitializationHandlerclassVisitor - The class visitor to write any methods to.implementationContext - The implementation context to use.protected abstract void onComplete(Implementation.Context implementationContext)
implementationContext - The implementation context to use.Copyright © 2014–2017. All rights reserved.