dagger.internal.codegen.base.AutoValue_ModuleAnnotation 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.XTypeElement;
import com.google.common.collect.ImmutableList;
import com.google.errorprone.annotations.concurrent.LazyInit;
import com.squareup.javapoet.ClassName;
import java.lang.Override;
import java.lang.SuppressWarnings;
final class AutoValue_ModuleAnnotation extends $AutoValue_ModuleAnnotation {
@LazyInit
@SuppressWarnings("Immutable")
private transient volatile ImmutableList includes;
@LazyInit
@SuppressWarnings("Immutable")
private transient volatile ImmutableList subcomponents;
AutoValue_ModuleAnnotation(ClassName className$) {
super(className$);
}
@Override
public ImmutableList includes() {
if (includes == null) {
synchronized (this) {
if (includes == null) {
includes = super.includes();
if (includes == null) {
throw new NullPointerException("includes() cannot return null");
}
}
}
}
return includes;
}
@Override
public ImmutableList subcomponents() {
if (subcomponents == null) {
synchronized (this) {
if (subcomponents == null) {
subcomponents = super.subcomponents();
if (subcomponents == null) {
throw new NullPointerException("subcomponents() cannot return null");
}
}
}
}
return subcomponents;
}
}