dagger.internal.codegen.base.AutoValue_ComponentAnnotation 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.base;
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 com.squareup.javapoet.ClassName;
import java.lang.Override;
import java.lang.SuppressWarnings;
final class AutoValue_ComponentAnnotation extends $AutoValue_ComponentAnnotation {
@LazyInit
@SuppressWarnings("Immutable")
private transient volatile ImmutableList dependencyTypes;
@LazyInit
@SuppressWarnings("Immutable")
private transient volatile ImmutableSet dependencies;
@LazyInit
@SuppressWarnings("Immutable")
private transient volatile ImmutableSet modules;
AutoValue_ComponentAnnotation(ClassName className$) {
super(className$);
}
@Override
public ImmutableList dependencyTypes() {
if (dependencyTypes == null) {
synchronized (this) {
if (dependencyTypes == null) {
dependencyTypes = super.dependencyTypes();
if (dependencyTypes == null) {
throw new NullPointerException("dependencyTypes() cannot return null");
}
}
}
}
return dependencyTypes;
}
@Override
public ImmutableSet dependencies() {
if (dependencies == null) {
synchronized (this) {
if (dependencies == null) {
dependencies = super.dependencies();
if (dependencies == null) {
throw new NullPointerException("dependencies() cannot return null");
}
}
}
}
return dependencies;
}
@Override
public ImmutableSet modules() {
if (modules == null) {
synchronized (this) {
if (modules == null) {
modules = super.modules();
if (modules == null) {
throw new NullPointerException("modules() cannot return null");
}
}
}
}
return modules;
}
}