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

dagger.internal.codegen.binding.AutoValue_ProductionBinding Maven / Gradle / Ivy

There is a newer version: 2.52
Show newest version
package dagger.internal.codegen.binding;

import androidx.room.compiler.processing.XElement;
import androidx.room.compiler.processing.XType;
import androidx.room.compiler.processing.XTypeElement;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.errorprone.annotations.concurrent.LazyInit;
import dagger.internal.codegen.base.ContributionType;
import dagger.internal.codegen.model.BindingKind;
import dagger.internal.codegen.model.DaggerAnnotation;
import dagger.internal.codegen.model.DependencyRequest;
import dagger.internal.codegen.model.Key;
import java.lang.Object;
import java.lang.Override;
import java.lang.SuppressWarnings;
import java.util.Optional;

final class AutoValue_ProductionBinding extends $AutoValue_ProductionBinding {
  @LazyInit
  @SuppressWarnings("Immutable")
  private transient volatile boolean requiresModuleInstance;

  @LazyInit
  @SuppressWarnings("Immutable")
  private transient volatile boolean requiresModuleInstance$Memoized;

  @LazyInit
  @SuppressWarnings("Immutable")
  private transient volatile int hashCode;

  @LazyInit
  @SuppressWarnings("Immutable")
  private transient volatile boolean hashCode$Memoized;

  AutoValue_ProductionBinding(ContributionType contributionType$, Key key$,
      Optional bindingElement$, Optional contributingModule$,
      BindingKind kind$, ImmutableSet explicitDependencies$,
      Nullability nullability$, Optional mapKey$,
      Optional unresolved$,
      Optional productionKind$, ImmutableList thrownTypes$,
      Optional executorRequest$, Optional monitorRequest$) {
    super(contributionType$, key$, bindingElement$, contributingModule$, kind$, explicitDependencies$, nullability$, mapKey$, unresolved$, productionKind$, thrownTypes$, executorRequest$, monitorRequest$);
  }

  @Override
  public boolean requiresModuleInstance() {
    if (!requiresModuleInstance$Memoized) {
      synchronized (this) {
        if (!requiresModuleInstance$Memoized) {
          requiresModuleInstance = super.requiresModuleInstance();
          requiresModuleInstance$Memoized = true;
        }
      }
    }
    return requiresModuleInstance;
  }

  @Override
  public int hashCode() {
    if (!hashCode$Memoized) {
      synchronized (this) {
        if (!hashCode$Memoized) {
          hashCode = super.hashCode();
          hashCode$Memoized = true;
        }
      }
    }
    return hashCode;
  }

  @Override
  public boolean equals(Object that) {
    if (this == that) {
      return true;
    }
    return that instanceof AutoValue_ProductionBinding && this.hashCode() == that.hashCode() && super.equals(that);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy