final class com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ProfiledArrayBuilderFactory extends com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArrayBuilderFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ProfiledArrayBuilderFactory
  super_class: com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArrayBuilderFactory
{
  final com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArraySizeMemento memento;
    descriptor: Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArraySizeMemento;
    flags: (0x0010) ACC_FINAL

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ProfiledArrayBuilderFactory this
         0: .line 149
            aload 0 /* this */
            invokespecial com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArrayBuilderFactory.<init>:()V
         1: .line 151
            aload 0 /* this */
            new com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArraySizeMemento
            dup
            invokespecial com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArraySizeMemento.<init>:()V
            putfield com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ProfiledArrayBuilderFactory.memento:Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArraySizeMemento;
         2: .line 149
            return
        end local 0 // com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ProfiledArrayBuilderFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ProfiledArrayBuilderFactory;

  public <T> com.oracle.truffle.nfi.util.ProfiledArrayBuilder<T> allocate(com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArrayFactory<T>);
    descriptor: (Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArrayFactory;)Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ProfiledArrayBuilderFactory this
        start local 1 // com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArrayFactory factory
         0: .line 155
            aload 0 /* this */
            getfield com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ProfiledArrayBuilderFactory.memento:Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArraySizeMemento;
            getfield com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArraySizeMemento.assumption:Lcom/oracle/truffle/api/Assumption;
            invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
            ifne 2
         1: .line 156
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 158
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.nfi.util.ProfiledArrayBuilder
            dup
            aload 1 /* factory */
            aload 0 /* this */
            getfield com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ProfiledArrayBuilderFactory.memento:Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArraySizeMemento;
            getfield com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArraySizeMemento.profiledInitialSize:I
            invokeinterface com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArrayFactory.create:(I)[Ljava/lang/Object;
            aload 0 /* this */
            getfield com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ProfiledArrayBuilderFactory.memento:Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArraySizeMemento;
            invokespecial com.oracle.truffle.nfi.util.ProfiledArrayBuilder.<init>:([Ljava/lang/Object;Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArraySizeMemento;)V
            areturn
        end local 1 // com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArrayFactory factory
        end local 0 // com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ProfiledArrayBuilderFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ProfiledArrayBuilderFactory;
            0    3     1  factory  Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArrayFactory<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArrayFactory<TT;>;)Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder<TT;>;
    MethodParameters:
         Name  Flags
      factory  
}
SourceFile: "ProfiledArrayBuilder.java"
NestHost: com.oracle.truffle.nfi.util.ProfiledArrayBuilder
InnerClasses:
  public abstract ArrayBuilderFactory = com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArrayBuilderFactory of com.oracle.truffle.nfi.util.ProfiledArrayBuilder
  public abstract ArrayFactory = com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArrayFactory of com.oracle.truffle.nfi.util.ProfiledArrayBuilder
  private final ArraySizeMemento = com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArraySizeMemento of com.oracle.truffle.nfi.util.ProfiledArrayBuilder
  private final ProfiledArrayBuilderFactory = com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ProfiledArrayBuilderFactory of com.oracle.truffle.nfi.util.ProfiledArrayBuilder