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

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy