All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dagger.internal.codegen.validation.AutoValue_SpiModelBindingGraphConverter_BindingGraphImpl Maven / Gradle / Ivy

The newest version!
package dagger.internal.codegen.validation;

import com.google.common.collect.ImmutableSetMultimap;
import com.google.common.graph.ImmutableNetwork;
import com.google.errorprone.annotations.concurrent.LazyInit;
import dagger.spi.model.BindingGraph;
import dagger.spi.model.DaggerProcessingEnv;
import java.lang.Class;
import java.lang.Override;
import java.lang.SuppressWarnings;

final class AutoValue_SpiModelBindingGraphConverter_BindingGraphImpl extends $AutoValue_SpiModelBindingGraphConverter_BindingGraphImpl {
  @LazyInit
  @SuppressWarnings("Immutable")
  private transient volatile ImmutableSetMultimap, ? extends BindingGraph.Node> nodesByClass;

  AutoValue_SpiModelBindingGraphConverter_BindingGraphImpl(
      ImmutableNetwork network$, boolean isFullBindingGraph$,
      DaggerProcessingEnv.Backend backend$) {
    super(network$, isFullBindingGraph$, backend$);
  }

  @Override
  public ImmutableSetMultimap, ? extends BindingGraph.Node> nodesByClass() {
    if (nodesByClass == null) {
      synchronized (this) {
        if (nodesByClass == null) {
          nodesByClass = super.nodesByClass();
          if (nodesByClass == null) {
            throw new NullPointerException("nodesByClass() cannot return null");
          }
        }
      }
    }
    return nodesByClass;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy