public interface org.springframework.util.concurrent.ListenableFuture<T> extends java.util.concurrent.Future<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.springframework.util.concurrent.ListenableFuture
  super_class: java.lang.Object
{
  public abstract void addCallback(org.springframework.util.concurrent.ListenableFutureCallback<? super T>);
    descriptor: (Lorg/springframework/util/concurrent/ListenableFutureCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/springframework/util/concurrent/ListenableFutureCallback<-TT;>;)V
    MethodParameters:
          Name  Flags
      callback  

  public abstract void addCallback(org.springframework.util.concurrent.SuccessCallback<? super T>, org.springframework.util.concurrent.FailureCallback);
    descriptor: (Lorg/springframework/util/concurrent/SuccessCallback;Lorg/springframework/util/concurrent/FailureCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/springframework/util/concurrent/SuccessCallback<-TT;>;Lorg/springframework/util/concurrent/FailureCallback;)V
    MethodParameters:
                 Name  Flags
      successCallback  
      failureCallback  

  public java.util.concurrent.CompletableFuture<T> completable();
    descriptor: ()Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.springframework.util.concurrent.ListenableFuture this
         0: .line 57
            new org.springframework.util.concurrent.DelegatingCompletableFuture
            dup
            aload 0 /* this */
            invokespecial org.springframework.util.concurrent.DelegatingCompletableFuture.<init>:(Ljava/util/concurrent/Future;)V
            astore 1 /* completable */
        start local 1 // java.util.concurrent.CompletableFuture completable
         1: .line 58
            aload 0 /* this */
            aload 1 /* completable */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic onSuccess(Ljava/util/concurrent/CompletableFuture;)Lorg/springframework/util/concurrent/SuccessCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/concurrent/CompletableFuture.complete(Ljava/lang/Object;)Z (5)
                  (Ljava/lang/Object;)V
            aload 1 /* completable */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic onFailure(Ljava/util/concurrent/CompletableFuture;)Lorg/springframework/util/concurrent/FailureCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Throwable;)V
                  java/util/concurrent/CompletableFuture.completeExceptionally(Ljava/lang/Throwable;)Z (5)
                  (Ljava/lang/Throwable;)V
            invokeinterface org.springframework.util.concurrent.ListenableFuture.addCallback:(Lorg/springframework/util/concurrent/SuccessCallback;Lorg/springframework/util/concurrent/FailureCallback;)V
         2: .line 59
            aload 1 /* completable */
            areturn
        end local 1 // java.util.concurrent.CompletableFuture completable
        end local 0 // org.springframework.util.concurrent.ListenableFuture this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/springframework/util/concurrent/ListenableFuture<TT;>;
            1    3     1  completable  Ljava/util/concurrent/CompletableFuture<TT;>;
    Signature: ()Ljava/util/concurrent/CompletableFuture<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/concurrent/Future<TT;>;
SourceFile: "ListenableFuture.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles