Package net.bytebuddy.dynamic.scaffold
Class TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.WithDrain
- java.lang.Object
-
- org.objectweb.asm.MethodVisitor
-
- net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor
-
- 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 activeTypeInitializerregistrations.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classTypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.WithDrain.WithActiveRecordA code appending initialization handler with a drain that applies an explicit record.protected static classTypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.WithDrain.WithoutActiveRecordA 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
Fields Modifier and Type Field Description protected org.objectweb.asm.LabelappendedA label marking the beginning of the appended code.protected org.objectweb.asm.LabeloriginalA 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
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedWithDrain(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
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voidonAfterComplete(Implementation.Context implementationContext)Invoked after completion of writing the type initializer.protected voidonComplete(Implementation.Context implementationContext)Invoked upon completion of writing the type initializer.protected voidonStart()Invoked after the user code was visited.voidvisitEnd()-
Methods inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending
apply, complete, of, onAfterExceptionTable, onVisitFrame, visitCode, visitMaxs
-
Methods inherited from class net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor
onVisitFieldInsn, onVisitIincInsn, onVisitInsn, onVisitIntInsn, onVisitInvokeDynamicInsn, onVisitJumpInsn, onVisitLabel, onVisitLdcInsn, onVisitLookupSwitchInsn, onVisitMethodInsn, onVisitMethodInsn, onVisitMultiANewArrayInsn, onVisitTableSwitchInsn, onVisitTypeInsn, onVisitVarInsn, visitFieldInsn, visitFrame, visitIincInsn, visitInsn, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLookupSwitchInsn, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitTableSwitchInsn, visitTypeInsn, visitVarInsn
-
Methods inherited from class org.objectweb.asm.MethodVisitor
getDelegate, visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitInsnAnnotation, visitLineNumber, visitLocalVariable, visitLocalVariableAnnotation, visitParameter, visitParameterAnnotation, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation
-
-
-
-
Constructor Detail
-
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-trueif the visitor is required to add frames.expandFrames-trueif the visitor is required to expand any added frame.
-
-
Method Detail
-
onStart
protected void onStart()
Description copied from class:TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.AppendingInvoked after the user code was visited.- Specified by:
onStartin classTypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending
-
visitEnd
public void visitEnd()
- Specified by:
visitEndin classTypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending
-
onComplete
protected void onComplete(Implementation.Context implementationContext)
Description copied from class:TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.AppendingInvoked upon completion of writing the type initializer.- Specified by:
onCompletein classTypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending- Parameters:
implementationContext- The implementation context to use.
-
onAfterComplete
protected abstract void onAfterComplete(Implementation.Context implementationContext)
Invoked after completion of writing the type initializer.- Parameters:
implementationContext- The implementation context to use.
-
-