java.lang.Object
net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase
net.bytebuddy.implementation.bytecode.assign.TypeCasting
All Implemented Interfaces:
StackManipulation

@Enhance public class TypeCasting extends StackManipulation.AbstractBase
A stack manipulation for a type down casting. Such castings are not implicit but must be performed explicitly.
  • Field Details

    • typeDescription

      private final TypeDescription typeDescription
      The type description to which a value should be casted.
  • Constructor Details

    • TypeCasting

      protected TypeCasting(TypeDescription typeDescription)
      Creates a new type casting.
      Parameters:
      typeDescription - The type description to which a value should be casted.
  • Method Details

    • to

      public static StackManipulation to(TypeDefinition typeDefinition)
      Creates a casting to the given, non-primitive type.
      Parameters:
      typeDefinition - The type to which a value should be casted.
      Returns:
      A stack manipulation that represents the casting.
    • 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.