public class net.bytebuddy.implementation.bytecode.assign.TypeCasting implements net.bytebuddy.implementation.bytecode.StackManipulation
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.implementation.bytecode.assign.TypeCasting
  super_class: java.lang.Object
{
  private final net.bytebuddy.description.type.TypeDescription typeDescription;
    descriptor: Lnet/bytebuddy/description/type/TypeDescription;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(net.bytebuddy.description.type.TypeDescription);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.bytebuddy.implementation.bytecode.assign.TypeCasting this
        start local 1 // net.bytebuddy.description.type.TypeDescription typeDescription
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            aload 0 /* this */
            aload 1 /* typeDescription */
            putfield net.bytebuddy.implementation.bytecode.assign.TypeCasting.typeDescription:Lnet/bytebuddy/description/type/TypeDescription;
         2: .line 46
            return
        end local 1 // net.bytebuddy.description.type.TypeDescription typeDescription
        end local 0 // net.bytebuddy.implementation.bytecode.assign.TypeCasting this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lnet/bytebuddy/implementation/bytecode/assign/TypeCasting;
            0    3     1  typeDescription  Lnet/bytebuddy/description/type/TypeDescription;
    MethodParameters:
                 Name  Flags
      typeDescription  

  public static net.bytebuddy.implementation.bytecode.StackManipulation to(net.bytebuddy.description.type.TypeDefinition);
    descriptor: (Lnet/bytebuddy/description/type/TypeDefinition;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // net.bytebuddy.description.type.TypeDefinition typeDefinition
         0: .line 55
            aload 0 /* typeDefinition */
            invokeinterface net.bytebuddy.description.type.TypeDefinition.isPrimitive:()Z
            ifeq 2
         1: .line 56
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot cast to primitive type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* typeDefinition */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 58
      StackMap locals:
      StackMap stack:
            new net.bytebuddy.implementation.bytecode.assign.TypeCasting
            dup
            aload 0 /* typeDefinition */
            invokeinterface net.bytebuddy.description.type.TypeDefinition.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
            invokespecial net.bytebuddy.implementation.bytecode.assign.TypeCasting.<init>:(Lnet/bytebuddy/description/type/TypeDescription;)V
            areturn
        end local 0 // net.bytebuddy.description.type.TypeDefinition typeDefinition
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0  typeDefinition  Lnet/bytebuddy/description/type/TypeDefinition;
    MethodParameters:
                Name  Flags
      typeDefinition  

  public boolean isValid();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.bytebuddy.implementation.bytecode.assign.TypeCasting this
         0: .line 65
            iconst_1
            ireturn
        end local 0 // net.bytebuddy.implementation.bytecode.assign.TypeCasting this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/bytebuddy/implementation/bytecode/assign/TypeCasting;

  public net.bytebuddy.implementation.bytecode.StackManipulation$Size apply(org.objectweb.asm.MethodVisitor, net.bytebuddy.implementation.Implementation$Context);
    descriptor: (Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;)Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // net.bytebuddy.implementation.bytecode.assign.TypeCasting this
        start local 1 // org.objectweb.asm.MethodVisitor methodVisitor
        start local 2 // net.bytebuddy.implementation.Implementation$Context implementationContext
         0: .line 72
            aload 1 /* methodVisitor */
            sipush 192
            aload 0 /* this */
            getfield net.bytebuddy.implementation.bytecode.assign.TypeCasting.typeDescription:Lnet/bytebuddy/description/type/TypeDescription;
            invokeinterface net.bytebuddy.description.type.TypeDescription.getInternalName:()Ljava/lang/String;
            invokevirtual org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
         1: .line 73
            getstatic net.bytebuddy.implementation.bytecode.StackSize.ZERO:Lnet/bytebuddy/implementation/bytecode/StackSize;
            invokevirtual net.bytebuddy.implementation.bytecode.StackSize.toIncreasingSize:()Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
            areturn
        end local 2 // net.bytebuddy.implementation.Implementation$Context implementationContext
        end local 1 // org.objectweb.asm.MethodVisitor methodVisitor
        end local 0 // net.bytebuddy.implementation.bytecode.assign.TypeCasting this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lnet/bytebuddy/implementation/bytecode/assign/TypeCasting;
            0    2     1          methodVisitor  Lorg/objectweb/asm/MethodVisitor;
            0    2     2  implementationContext  Lnet/bytebuddy/implementation/Implementation$Context;
    MethodParameters:
                       Name  Flags
      methodVisitor          
      implementationContext  
}
SourceFile: "TypeCasting.java"
InnerClasses:
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public abstract Context = net.bytebuddy.implementation.Implementation$Context of net.bytebuddy.implementation.Implementation
  public Size = net.bytebuddy.implementation.bytecode.StackManipulation$Size of net.bytebuddy.implementation.bytecode.StackManipulation
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()