final class com.oracle.truffle.nfi.NFISignature$ArgsCachedState
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.nfi.NFISignature$ArgsCachedState
  super_class: java.lang.Object
{
  static final com.oracle.truffle.nfi.NFISignature$ArgsCachedState NO_ARGS;
    descriptor: Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  final int nativeArgCount;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final int managedArgCount;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final com.oracle.truffle.nfi.NFIType$TypeCachedState argType;
    descriptor: Lcom/oracle/truffle/nfi/NFIType$TypeCachedState;
    flags: (0x0010) ACC_FINAL

  final com.oracle.truffle.nfi.NFISignature$ArgsCachedState prev;
    descriptor: Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;
    flags: (0x0010) ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 137
            new com.oracle.truffle.nfi.NFISignature$ArgsCachedState
            dup
            invokespecial com.oracle.truffle.nfi.NFISignature$ArgsCachedState.<init>:()V
            putstatic com.oracle.truffle.nfi.NFISignature$ArgsCachedState.NO_ARGS:Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.oracle.truffle.nfi.NFISignature$ArgsCachedState this
         0: .line 146
            aload 0 /* this */
            iconst_0
            iconst_0
            aconst_null
            aconst_null
            invokespecial com.oracle.truffle.nfi.NFISignature$ArgsCachedState.<init>:(IILcom/oracle/truffle/nfi/NFIType$TypeCachedState;Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;)V
         1: .line 147
            return
        end local 0 // com.oracle.truffle.nfi.NFISignature$ArgsCachedState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;

  private void <init>(int, int, com.oracle.truffle.nfi.NFIType$TypeCachedState, com.oracle.truffle.nfi.NFISignature$ArgsCachedState);
    descriptor: (IILcom/oracle/truffle/nfi/NFIType$TypeCachedState;Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.oracle.truffle.nfi.NFISignature$ArgsCachedState this
        start local 1 // int nativeArgCount
        start local 2 // int managedArgCount
        start local 3 // com.oracle.truffle.nfi.NFIType$TypeCachedState argType
        start local 4 // com.oracle.truffle.nfi.NFISignature$ArgsCachedState prev
         0: .line 149
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            iload 1 /* nativeArgCount */
            putfield com.oracle.truffle.nfi.NFISignature$ArgsCachedState.nativeArgCount:I
         2: .line 151
            aload 0 /* this */
            iload 2 /* managedArgCount */
            putfield com.oracle.truffle.nfi.NFISignature$ArgsCachedState.managedArgCount:I
         3: .line 152
            aload 0 /* this */
            aload 3 /* argType */
            putfield com.oracle.truffle.nfi.NFISignature$ArgsCachedState.argType:Lcom/oracle/truffle/nfi/NFIType$TypeCachedState;
         4: .line 153
            aload 0 /* this */
            aload 4 /* prev */
            putfield com.oracle.truffle.nfi.NFISignature$ArgsCachedState.prev:Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;
         5: .line 154
            return
        end local 4 // com.oracle.truffle.nfi.NFISignature$ArgsCachedState prev
        end local 3 // com.oracle.truffle.nfi.NFIType$TypeCachedState argType
        end local 2 // int managedArgCount
        end local 1 // int nativeArgCount
        end local 0 // com.oracle.truffle.nfi.NFISignature$ArgsCachedState this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;
            0    6     1   nativeArgCount  I
            0    6     2  managedArgCount  I
            0    6     3          argType  Lcom/oracle/truffle/nfi/NFIType$TypeCachedState;
            0    6     4             prev  Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;
    MethodParameters:
                 Name  Flags
      nativeArgCount   
      managedArgCount  
      argType          
      prev             

  com.oracle.truffle.nfi.NFISignature$ArgsCachedState addArg(com.oracle.truffle.nfi.NFIType$TypeCachedState);
    descriptor: (Lcom/oracle/truffle/nfi/NFIType$TypeCachedState;)Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.nfi.NFISignature$ArgsCachedState this
        start local 1 // com.oracle.truffle.nfi.NFIType$TypeCachedState type
         0: .line 157
            new com.oracle.truffle.nfi.NFISignature$ArgsCachedState
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.nfi.NFISignature$ArgsCachedState.nativeArgCount:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield com.oracle.truffle.nfi.NFISignature$ArgsCachedState.managedArgCount:I
            aload 1 /* type */
            getfield com.oracle.truffle.nfi.NFIType$TypeCachedState.managedArgCount:I
            iadd
            aload 1 /* type */
            aload 0 /* this */
            invokespecial com.oracle.truffle.nfi.NFISignature$ArgsCachedState.<init>:(IILcom/oracle/truffle/nfi/NFIType$TypeCachedState;Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;)V
            areturn
        end local 1 // com.oracle.truffle.nfi.NFIType$TypeCachedState type
        end local 0 // com.oracle.truffle.nfi.NFISignature$ArgsCachedState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;
            0    1     1  type  Lcom/oracle/truffle/nfi/NFIType$TypeCachedState;
    MethodParameters:
      Name  Flags
      type  
}
SourceFile: "NFISignature.java"
NestHost: com.oracle.truffle.nfi.NFISignature
InnerClasses:
  final ArgsCachedState = com.oracle.truffle.nfi.NFISignature$ArgsCachedState of com.oracle.truffle.nfi.NFISignature
  abstract TypeCachedState = com.oracle.truffle.nfi.NFIType$TypeCachedState of com.oracle.truffle.nfi.NFIType