Class TypeProxy.ForSuperMethodByReflectionFactory

java.lang.Object
net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase
net.bytebuddy.implementation.auxiliary.TypeProxy.ForSuperMethodByReflectionFactory
All Implemented Interfaces:
StackManipulation
Enclosing class:
TypeProxy

@Enhance public static class TypeProxy.ForSuperMethodByReflectionFactory extends StackManipulation.AbstractBase
Loads a type proxy onto the operand stack which is created by constructing a serialization constructor using the Oracle JDK's ReflectionFactory.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.
  • Field Details

    • proxiedType

      private final TypeDescription proxiedType
      The type for which a proxy type is created.
    • implementationTarget

      private final Implementation.Target implementationTarget
      The implementation target of the proxied type.
    • ignoreFinalizer

      private final boolean ignoreFinalizer
      true true if any finalizer methods should be ignored for proxying.
    • serializableProxy

      private final boolean serializableProxy
      Determines if the proxy should be serializable.
  • Constructor Details

    • 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 - true if any finalizer methods should be ignored for proxying.
      serializableProxy - Determines if the proxy should be serializable.
  • Method Details

    • apply

      public StackManipulation.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)
      Applies the stack manipulation that is described by this instance.
      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.