Class TypeProxy.ForSuperMethodByReflectionFactory
- java.lang.Object
-
- net.bytebuddy.implementation.auxiliary.TypeProxy.ForSuperMethodByReflectionFactory
-
- All Implemented Interfaces:
StackManipulation
- Enclosing class:
- TypeProxy
public static class TypeProxy.ForSuperMethodByReflectionFactory extends java.lang.Object implements StackManipulation
Loads a type proxy onto the operand stack which is created by constructing a serialization constructor using the Oracle JDK'sReflectionFactory.newConstructorForSerialization(Class, java.lang.reflect.Constructor)method which might not be available in any Java runtime. When this stack manipulation is applied, an instance of the instrumented type must lie on top of the operand stack.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.bytecode.StackManipulation
StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Size, StackManipulation.Trivial
-
-
Constructor Summary
Constructors Constructor Description ForSuperMethodByReflectionFactory(TypeDescription proxiedType, Implementation.Target implementationTarget, boolean ignoreFinalizer, boolean serializableProxy)Creates a new stack operation for reflectively creating a type proxy for the given arguments.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StackManipulation.Sizeapply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)Applies the stack manipulation that is described by this instance.booleanisValid()Determines if this stack manipulation is valid.
-
-
-
Constructor Detail
-
ForSuperMethodByReflectionFactory
public ForSuperMethodByReflectionFactory(TypeDescription proxiedType, Implementation.Target implementationTarget, boolean ignoreFinalizer, boolean serializableProxy)
Creates a new stack operation for reflectively creating a type proxy for the given arguments.- Parameters:
proxiedType- The type for the type proxy to subclass or implement.implementationTarget- The implementation target this type proxy is created for.ignoreFinalizer-trueif any finalizer methods should be ignored for proxying.serializableProxy- Determines if the proxy should be serializable.
-
-
Method Detail
-
isValid
public boolean isValid()
Description copied from interface:StackManipulationDetermines if this stack manipulation is valid.- Specified by:
isValidin interfaceStackManipulation- Returns:
- If
false, this manipulation cannot be applied and should throw an exception.
-
apply
public StackManipulation.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)
Description copied from interface:StackManipulationApplies the stack manipulation that is described by this instance.- Specified by:
applyin interfaceStackManipulation- Parameters:
methodVisitor- The method visitor used to write the method implementation to.implementationContext- The context of the current implementation.- Returns:
- The changes to the size of the operand stack that are implied by this stack manipulation.
-
-