test_class.file: producers/src/test/java/dagger/producers/internal/ProducersTest.java
test_class.identifier: ProducersTest
test_case.body: @Test public void createFutureSingletonSet_failure() throws Exception {
      ListenableFuture<String> future = Futures.immediateFailedFuture(new RuntimeException("monkey"));
      ListenableFuture<Set<String>> setFuture = Producers.createFutureSingletonSet(future);
      assertThat(setFuture.isDone()).isTrue();
      try {
        setFuture.get();
        fail();
      } catch (ExecutionException e) {
        assertThat(e.getCause()).hasMessage("monkey");
      }
    }
test_case.class_method_signature: ProducersTest.createFutureSingletonSet_failure()
test_case.full_signature: @Test public void createFutureSingletonSet_failure()
test_case.identifier: createFutureSingletonSet_failure
test_case.invocations: immediateFailedFuture createFutureSingletonSet isTrue assertThat isDone get fail hasMessage assertThat getCause
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void createFutureSingletonSet_failure()
focal_class.declarator: FUTURE_FALLBACK_FOR_PRODUCED =
        new FutureFallback<Produced<Object>>() {
      @Override public ListenableFuture<Produced<Object>> create(final Throwable t) {
        Produced<Object> produced = new Produced<Object>() {
          @Override public Object get() throws ExecutionException {
            throw new ExecutionException(t);
          }
        };
        return Futures.immediateFuture(produced);
      }
    }
focal_class.modifier: private static final
focal_class.original_string: private static final FutureFallback<Produced<Object>> FUTURE_FALLBACK_FOR_PRODUCED =
        new FutureFallback<Produced<Object>>() {
      @Override public ListenableFuture<Produced<Object>> create(final Throwable t) {
        Produced<Object> produced = new Produced<Object>() {
          @Override public Object get() throws ExecutionException {
            throw new ExecutionException(t);
          }
        };
        return Futures.immediateFuture(produced);
      }
    };
focal_class.type: FutureFallback<Produced<Object>>
focal_class.var_name: FUTURE_FALLBACK_FOR_PRODUCED
focal_class.file: producers/src/main/java/dagger/producers/internal/Producers.java
focal_class.identifier: Producers
focal_class.class_method_signature: Producers.createFutureProduced(ListenableFuture<T> future)
focal_class.full_signature: public static ListenableFuture<Produced<T>> createFutureProduced(ListenableFuture<T> future)
focal_class.identifier: createFutureProduced
focal_class.modifiers: public static
focal_class.parameters: (ListenableFuture<T> future)
focal_class.return: ListenableFuture<Produced<T>>
focal_class.signature: ListenableFuture<Produced<T>> createFutureProduced(ListenableFuture<T> future)
focal_class.class_method_signature: Producers.futureFallbackForProduced()
focal_class.full_signature: @SuppressWarnings({"unchecked", "rawtypes"}) // bivariant implementation private static FutureFallback<Produced<T>> futureFallbackForProduced()
focal_class.identifier: futureFallbackForProduced
focal_class.modifiers: @SuppressWarnings({"unchecked", "rawtypes"}) // bivariant implementation private static
focal_class.parameters: ()
focal_class.return: FutureFallback<Produced<T>>
focal_class.signature: FutureFallback<Produced<T>> futureFallbackForProduced()
focal_class.class_method_signature: Producers.createFutureSingletonSet(ListenableFuture<T> future)
focal_class.full_signature: public static ListenableFuture<Set<T>> createFutureSingletonSet(ListenableFuture<T> future)
focal_class.identifier: createFutureSingletonSet
focal_class.modifiers: public static
focal_class.parameters: (ListenableFuture<T> future)
focal_class.return: ListenableFuture<Set<T>>
focal_class.signature: ListenableFuture<Set<T>> createFutureSingletonSet(ListenableFuture<T> future)
focal_class.class_method_signature: Producers.submitToExecutor(Callable<T> callable, Executor executor)
focal_class.full_signature: public static ListenableFuture<T> submitToExecutor(Callable<T> callable, Executor executor)
focal_class.identifier: submitToExecutor
focal_class.modifiers: public static
focal_class.parameters: (Callable<T> callable, Executor executor)
focal_class.return: ListenableFuture<T>
focal_class.signature: ListenableFuture<T> submitToExecutor(Callable<T> callable, Executor executor)
focal_class.class_method_signature: Producers.producerFromProvider(final Provider<T> provider)
focal_class.full_signature: public static Producer<T> producerFromProvider(final Provider<T> provider)
focal_class.identifier: producerFromProvider
focal_class.modifiers: public static
focal_class.parameters: (final Provider<T> provider)
focal_class.return: Producer<T>
focal_class.signature: Producer<T> producerFromProvider(final Provider<T> provider)
focal_class.class_method_signature: Producers.Producers()
focal_class.full_signature: private  Producers()
focal_class.identifier: Producers
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  Producers()
focal_method.body: public static <T> ListenableFuture<Set<T>> createFutureSingletonSet(ListenableFuture<T> future) {
      return Futures.transform(future, new Function<T, Set<T>>() {
        @Override public Set<T> apply(T value) {
          return ImmutableSet.of(value);
        }
      });
    }
focal_method.class_method_signature: Producers.createFutureSingletonSet(ListenableFuture<T> future)
focal_method.full_signature: public static ListenableFuture<Set<T>> createFutureSingletonSet(ListenableFuture<T> future)
focal_method.identifier: createFutureSingletonSet
focal_method.invocations: transform of
focal_method.modifiers: public static
focal_method.parameters: (ListenableFuture<T> future)
focal_method.return: ListenableFuture<Set<T>>
focal_method.signature: ListenableFuture<Set<T>> createFutureSingletonSet(ListenableFuture<T> future)