Package net.bytebuddy.dynamic.scaffold
Class TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.WithDrain
java.lang.Object
org.objectweb.asm.MethodVisitor
net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending
net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.WithDrain
- All Implemented Interfaces:
TypeInitializer.Drain
,TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler
- Direct Known Subclasses:
TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.WithDrain.WithActiveRecord
,TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.WithDrain.WithoutActiveRecord
protected abstract static class TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.WithDrain
extends TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending
An initialization handler that appends code to a previously visited type initializer with allowing active
TypeInitializer
registrations.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
A code appending initialization handler with a drain that applies an explicit record.protected static class
A code appending initialization handler with a drain that does not apply an explicit record.Nested classes/interfaces inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending
TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.FrameWriter, TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.WithDrain, TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.WithoutDrain
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.scaffold.TypeInitializer.Drain
TypeInitializer.Drain.Default
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler
TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending, TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Creating
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.objectweb.asm.Label
A label marking the beginning of the appended code.protected final org.objectweb.asm.Label
A label marking the beginning og the original type initializer's code.Fields inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending
annotationValueFilterFactory, frameWriter, instrumentedType, localVariableLength, record, stackSize
Fields inherited from class org.objectweb.asm.MethodVisitor
api, mv
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
WithDrain
(org.objectweb.asm.MethodVisitor methodVisitor, TypeDescription instrumentedType, TypeWriter.MethodPool.Record record, AnnotationValueFilter.Factory annotationValueFilterFactory, boolean requireFrames, boolean expandFrames) Creates a new appending initialization handler with a drain. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
onAfterComplete
(Implementation.Context implementationContext) Invoked after completion of writing the type initializer.protected void
onComplete
(Implementation.Context implementationContext) Invoked upon completion of writing the type initializer.protected void
onStart()
Invoked after the user code was visited.void
visitEnd()
Methods inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending
apply, complete, of, visitCode, visitFrame, visitMaxs
Methods inherited from class org.objectweb.asm.MethodVisitor
visitAnnotableParameterCount, 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, visitVarInsn
-
Field Details
-
appended
protected final org.objectweb.asm.Label appendedA label marking the beginning of the appended code. -
original
protected final org.objectweb.asm.Label originalA label marking the beginning og the original type initializer's code.
-
-
Constructor Details
-
WithDrain
protected WithDrain(org.objectweb.asm.MethodVisitor methodVisitor, TypeDescription instrumentedType, TypeWriter.MethodPool.Record record, AnnotationValueFilter.Factory annotationValueFilterFactory, boolean requireFrames, boolean expandFrames) Creates a new appending initialization handler with a drain.- Parameters:
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.
-
-
Method Details
-
onStart
protected void onStart()Description copied from class:TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending
Invoked after the user code was visited.- Specified by:
onStart
in classTypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending
-
visitEnd
public void visitEnd()- Specified by:
visitEnd
in classTypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending
-
onComplete
Description copied from class:TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending
Invoked upon completion of writing the type initializer.- Specified by:
onComplete
in classTypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending
- Parameters:
implementationContext
- The implementation context to use.
-
onAfterComplete
Invoked after completion of writing the type initializer.- Parameters:
implementationContext
- The implementation context to use.
-