final class com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture<I, O> extends com.google.common.util.concurrent.AbstractTransformFuture<I, O, com.google.common.util.concurrent.AsyncFunction<? super I, ? extends O>, com.google.common.util.concurrent.ListenableFuture<? extends O>>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture
  super_class: com.google.common.util.concurrent.AbstractTransformFuture
{
  void <init>(com.google.common.util.concurrent.ListenableFuture<? extends I>, com.google.common.util.concurrent.AsyncFunction<? super I, ? extends O>);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/AsyncFunction;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture this
        start local 1 // com.google.common.util.concurrent.ListenableFuture inputFuture
        start local 2 // com.google.common.util.concurrent.AsyncFunction function
         0: .line 204
            aload 0 /* this */
            aload 1 /* inputFuture */
            aload 2 /* function */
            invokespecial com.google.common.util.concurrent.AbstractTransformFuture.<init>:(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Object;)V
         1: .line 205
            return
        end local 2 // com.google.common.util.concurrent.AsyncFunction function
        end local 1 // com.google.common.util.concurrent.ListenableFuture inputFuture
        end local 0 // com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/google/common/util/concurrent/AbstractTransformFuture$AsyncTransformFuture<TI;TO;>;
            0    2     1  inputFuture  Lcom/google/common/util/concurrent/ListenableFuture<+TI;>;
            0    2     2     function  Lcom/google/common/util/concurrent/AsyncFunction<-TI;+TO;>;
    Signature: (Lcom/google/common/util/concurrent/ListenableFuture<+TI;>;Lcom/google/common/util/concurrent/AsyncFunction<-TI;+TO;>;)V
    MethodParameters:
             Name  Flags
      inputFuture  
      function     

  com.google.common.util.concurrent.ListenableFuture<? extends O> doTransform(com.google.common.util.concurrent.AsyncFunction<? super I, ? extends O>, I);
    descriptor: (Lcom/google/common/util/concurrent/AsyncFunction;Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture this
        start local 1 // com.google.common.util.concurrent.AsyncFunction function
        start local 2 // java.lang.Object input
         0: .line 210
            aload 1 /* function */
            aload 2 /* input */
            invokeinterface com.google.common.util.concurrent.AsyncFunction.apply:(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
            astore 3 /* outputFuture */
        start local 3 // com.google.common.util.concurrent.ListenableFuture outputFuture
         1: .line 212
            aload 3 /* outputFuture */
         2: .line 213
            ldc "AsyncFunction.apply returned null instead of a Future. Did you mean to return immediateFuture(null)?"
         3: .line 211
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 215
            aload 3 /* outputFuture */
            areturn
        end local 3 // com.google.common.util.concurrent.ListenableFuture outputFuture
        end local 2 // java.lang.Object input
        end local 1 // com.google.common.util.concurrent.AsyncFunction function
        end local 0 // com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lcom/google/common/util/concurrent/AbstractTransformFuture$AsyncTransformFuture<TI;TO;>;
            0    5     1      function  Lcom/google/common/util/concurrent/AsyncFunction<-TI;+TO;>;
            0    5     2         input  TI;
            1    5     3  outputFuture  Lcom/google/common/util/concurrent/ListenableFuture<+TO;>;
    Exceptions:
      throws java.lang.Exception
    Signature: (Lcom/google/common/util/concurrent/AsyncFunction<-TI;+TO;>;TI;)Lcom/google/common/util/concurrent/ListenableFuture<+TO;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      function  
      input     

  void setResult(com.google.common.util.concurrent.ListenableFuture<? extends O>);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture this
        start local 1 // com.google.common.util.concurrent.ListenableFuture result
         0: .line 220
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.setFuture:(Lcom/google/common/util/concurrent/ListenableFuture;)Z
            pop
         1: .line 221
            return
        end local 1 // com.google.common.util.concurrent.ListenableFuture result
        end local 0 // com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/google/common/util/concurrent/AbstractTransformFuture$AsyncTransformFuture<TI;TO;>;
            0    2     1  result  Lcom/google/common/util/concurrent/ListenableFuture<+TO;>;
    Signature: (Lcom/google/common/util/concurrent/ListenableFuture<+TO;>;)V
    MethodParameters:
        Name  Flags
      result  

  java.lang.Object doTransform(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast com.google.common.util.concurrent.AsyncFunction
            aload 2
            checkcast java.lang.Object
            invokevirtual com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform:(Lcom/google/common/util/concurrent/AsyncFunction;Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  void setResult(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast com.google.common.util.concurrent.ListenableFuture
            invokevirtual com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.setResult:(Lcom/google/common/util/concurrent/ListenableFuture;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <I:Ljava/lang/Object;O:Ljava/lang/Object;>Lcom/google/common/util/concurrent/AbstractTransformFuture<TI;TO;Lcom/google/common/util/concurrent/AsyncFunction<-TI;+TO;>;Lcom/google/common/util/concurrent/ListenableFuture<+TO;>;>;
SourceFile: "AbstractTransformFuture.java"
NestHost: com.google.common.util.concurrent.AbstractTransformFuture
InnerClasses:
  private final AsyncTransformFuture = com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture of com.google.common.util.concurrent.AbstractTransformFuture