dagger.internal.codegen.binding.AutoValue_ProvisionBinding Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dagger-compiler Show documentation
Show all versions of dagger-compiler Show documentation
A fast dependency injector for Android and Java.
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.base.Equivalence;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSortedSet;
import dagger.internal.codegen.base.ContributionType;
import dagger.spi.model.BindingKind;
import dagger.spi.model.DependencyRequest;
import dagger.spi.model.Key;
import dagger.spi.model.Scope;
import java.lang.Override;
import java.util.Optional;
import javax.annotation.Generated;
import javax.lang.model.element.AnnotationMirror;
@Generated("com.google.auto.value.extension.memoized.processor.MemoizeExtension")
final class AutoValue_ProvisionBinding extends $AutoValue_ProvisionBinding {
private volatile ImmutableSet explicitDependencies;
private volatile ImmutableSet membersInjectionDependencies;
private volatile boolean requiresModuleInstance;
private volatile boolean requiresModuleInstance$Memoized;
private volatile int hashCode;
private volatile boolean hashCode$Memoized;
AutoValue_ProvisionBinding(ContributionType contributionType$, Key key$,
Optional bindingElement$, Optional contributingModule$,
BindingKind kind$, Optional nullableType$,
Optional> wrappedMapKeyAnnotation$,
ImmutableSet provisionDependencies$,
ImmutableSortedSet injectionSites$,
Optional unresolved$, Optional scope$) {
super(contributionType$, key$, bindingElement$, contributingModule$, kind$, nullableType$, wrappedMapKeyAnnotation$, provisionDependencies$, injectionSites$, unresolved$, scope$);
}
@Override
public ImmutableSet explicitDependencies() {
if (explicitDependencies == null) {
synchronized (this) {
if (explicitDependencies == null) {
explicitDependencies = super.explicitDependencies();
if (explicitDependencies == null) {
throw new NullPointerException("explicitDependencies() cannot return null");
}
}
}
}
return explicitDependencies;
}
@Override
ImmutableSet membersInjectionDependencies() {
if (membersInjectionDependencies == null) {
synchronized (this) {
if (membersInjectionDependencies == null) {
membersInjectionDependencies = super.membersInjectionDependencies();
if (membersInjectionDependencies == null) {
throw new NullPointerException("membersInjectionDependencies() cannot return null");
}
}
}
}
return membersInjectionDependencies;
}
@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;
}
}