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

dagger.internal.codegen.base.AutoValue_ComponentAnnotation Maven / Gradle / Ivy

The newest version!
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;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy