abstract class jdk.internal.foreign.abi.Binding$Move extends jdk.internal.foreign.abi.Binding
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.internal.foreign.abi.Binding$Move
  super_class: jdk.internal.foreign.abi.Binding
{
  private final jdk.internal.foreign.abi.VMStorage storage;
    descriptor: Ljdk/internal/foreign/abi/VMStorage;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Class<?> type;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private void <init>(jdk.internal.foreign.abi.Binding$Tag, jdk.internal.foreign.abi.VMStorage, java.lang.Class<?>);
    descriptor: (Ljdk/internal/foreign/abi/Binding$Tag;Ljdk/internal/foreign/abi/VMStorage;Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // jdk.internal.foreign.abi.Binding$Move this
        start local 1 // jdk.internal.foreign.abi.Binding$Tag tag
        start local 2 // jdk.internal.foreign.abi.VMStorage storage
        start local 3 // java.lang.Class type
         0: .line 432
            aload 0 /* this */
            aload 1 /* tag */
            invokespecial jdk.internal.foreign.abi.Binding.<init>:(Ljdk/internal/foreign/abi/Binding$Tag;)V
         1: .line 433
            aload 0 /* this */
            aload 2 /* storage */
            putfield jdk.internal.foreign.abi.Binding$Move.storage:Ljdk/internal/foreign/abi/VMStorage;
         2: .line 434
            aload 0 /* this */
            aload 3 /* type */
            putfield jdk.internal.foreign.abi.Binding$Move.type:Ljava/lang/Class;
         3: .line 435
            return
        end local 3 // java.lang.Class type
        end local 2 // jdk.internal.foreign.abi.VMStorage storage
        end local 1 // jdk.internal.foreign.abi.Binding$Tag tag
        end local 0 // jdk.internal.foreign.abi.Binding$Move this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/internal/foreign/abi/Binding$Move;
            0    4     1      tag  Ljdk/internal/foreign/abi/Binding$Tag;
            0    4     2  storage  Ljdk/internal/foreign/abi/VMStorage;
            0    4     3     type  Ljava/lang/Class<*>;
    Signature: (Ljdk/internal/foreign/abi/Binding$Tag;Ljdk/internal/foreign/abi/VMStorage;Ljava/lang/Class<*>;)V
    MethodParameters:
         Name  Flags
      tag      
      storage  
      type     

  public jdk.internal.foreign.abi.VMStorage storage();
    descriptor: ()Ljdk/internal/foreign/abi/VMStorage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.foreign.abi.Binding$Move this
         0: .line 438
            aload 0 /* this */
            getfield jdk.internal.foreign.abi.Binding$Move.storage:Ljdk/internal/foreign/abi/VMStorage;
            areturn
        end local 0 // jdk.internal.foreign.abi.Binding$Move this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/foreign/abi/Binding$Move;

  public java.lang.Class<?> type();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.foreign.abi.Binding$Move this
         0: .line 442
            aload 0 /* this */
            getfield jdk.internal.foreign.abi.Binding$Move.type:Ljava/lang/Class;
            areturn
        end local 0 // jdk.internal.foreign.abi.Binding$Move this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/foreign/abi/Binding$Move;
    Signature: ()Ljava/lang/Class<*>;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.internal.foreign.abi.Binding$Move this
        start local 1 // java.lang.Object o
         0: .line 447
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 448
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            ifnull 2
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* o */
            invokespecial jdk.internal.foreign.abi.Binding.equals:(Ljava/lang/Object;)Z
            ifne 4
            iconst_0
            ireturn
         4: .line 450
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast jdk.internal.foreign.abi.Binding$Move
            astore 2 /* move */
        start local 2 // jdk.internal.foreign.abi.Binding$Move move
         5: .line 451
            aload 0 /* this */
            getfield jdk.internal.foreign.abi.Binding$Move.storage:Ljdk/internal/foreign/abi/VMStorage;
            aload 2 /* move */
            getfield jdk.internal.foreign.abi.Binding$Move.storage:Ljdk/internal/foreign/abi/VMStorage;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 8
         6: .line 452
            aload 0 /* this */
            getfield jdk.internal.foreign.abi.Binding$Move.type:Ljava/lang/Class;
            aload 2 /* move */
            getfield jdk.internal.foreign.abi.Binding$Move.type:Ljava/lang/Class;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 8
         7: .line 451
            iconst_1
            ireturn
      StackMap locals: jdk.internal.foreign.abi.Binding$Move
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // jdk.internal.foreign.abi.Binding$Move move
        end local 1 // java.lang.Object o
        end local 0 // jdk.internal.foreign.abi.Binding$Move this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/internal/foreign/abi/Binding$Move;
            0    9     1     o  Ljava/lang/Object;
            5    9     2  move  Ljdk/internal/foreign/abi/Binding$Move;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.internal.foreign.abi.Binding$Move this
         0: .line 457
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokespecial jdk.internal.foreign.abi.Binding.hashCode:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.internal.foreign.abi.Binding$Move.storage:Ljdk/internal/foreign/abi/VMStorage;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield jdk.internal.foreign.abi.Binding$Move.type:Ljava/lang/Class;
            aastore
            invokestatic java.util.Objects.hash:([Ljava/lang/Object;)I
            ireturn
        end local 0 // jdk.internal.foreign.abi.Binding$Move this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/foreign/abi/Binding$Move;
}
SourceFile: "Binding.java"
NestHost: jdk.internal.foreign.abi.Binding
InnerClasses:
  abstract Move = jdk.internal.foreign.abi.Binding$Move of jdk.internal.foreign.abi.Binding
  final Tag = jdk.internal.foreign.abi.Binding$Tag of jdk.internal.foreign.abi.Binding