Skip to content

Commit

Permalink
Rename SimpleLazilyInitializedProvider to SingleCheck (to match Doubl…
Browse files Browse the repository at this point in the history
…eCheck)

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119811910
  • Loading branch information
ronshapiro committed Apr 20, 2016
1 parent 50a10c8 commit 26ece5b
Showing 4 changed files with 15 additions and 15 deletions.
Original file line number Diff line number Diff line change
@@ -106,7 +106,7 @@
import static dagger.internal.codegen.TypeNames.SET_FACTORY;
import static dagger.internal.codegen.TypeNames.SET_OF_PRODUCED_PRODUCER;
import static dagger.internal.codegen.TypeNames.SET_PRODUCER;
import static dagger.internal.codegen.TypeNames.SIMPLE_LAZILY_INITIALIZED_PROVIDER;
import static dagger.internal.codegen.TypeNames.SINGLE_CHECK;
import static dagger.internal.codegen.TypeNames.STRING;
import static dagger.internal.codegen.TypeNames.UNSUPPORTED_OPERATION_EXCEPTION;
import static dagger.internal.codegen.TypeNames.providerOf;
@@ -1055,9 +1055,10 @@ private CodeBlock initializeFactoryForContributionBinding(ContributionBinding bi
}

private CodeBlock decorateForScope(CodeBlock factoryCreate, Scope scope) {
return scope.equals(reusableScope(elements))
? CodeBlock.of("$T.create($L)", SIMPLE_LAZILY_INITIALIZED_PROVIDER, factoryCreate)
: CodeBlock.of("$T.provider($L)", DOUBLE_CHECK, factoryCreate);
return CodeBlock.of(
"$T.provider($L)",
scope.equals(reusableScope(elements)) ? SINGLE_CHECK : DOUBLE_CHECK,
factoryCreate);
}

private CodeBlock nullableAnnotation(Optional<DeclaredType> nullableType) {
5 changes: 2 additions & 3 deletions compiler/src/main/java/dagger/internal/codegen/TypeNames.java
Original file line number Diff line number Diff line change
@@ -31,7 +31,7 @@
import dagger.internal.MapProviderFactory;
import dagger.internal.MembersInjectors;
import dagger.internal.SetFactory;
import dagger.internal.SimpleLazilyInitializedProvider;
import dagger.internal.SingleCheck;
import dagger.producers.Produced;
import dagger.producers.Producer;
import dagger.producers.internal.AbstractProducer;
@@ -77,8 +77,7 @@ final class TypeNames {
static final ClassName PRODUCER = ClassName.get(Producer.class);
static final ClassName PRODUCERS = ClassName.get(Producers.class);
static final ClassName PROVIDER = ClassName.get(Provider.class);
static final ClassName SIMPLE_LAZILY_INITIALIZED_PROVIDER =
ClassName.get(SimpleLazilyInitializedProvider.class);
static final ClassName SINGLE_CHECK = ClassName.get(SingleCheck.class);
static final ClassName SET = ClassName.get(Set.class);
static final ClassName SET_FACTORY = ClassName.get(SetFactory.class);
static final ClassName SET_OF_PRODUCED_PRODUCER = ClassName.get(SetOfProducedProducer.class);
Original file line number Diff line number Diff line change
@@ -24,13 +24,13 @@
* A {@link Provider} implementation that memoizes the result of a {@link Factory} instance using
* simple lazy initialization, not the double-checked lock pattern.
*/
public final class SimpleLazilyInitializedProvider<T> implements Provider<T>, Lazy<T> {
public final class SingleCheck<T> implements Provider<T>, Lazy<T> {
private static final Object UNINITIALIZED = new Object();

private volatile Factory<T> factory;
private volatile Object instance = UNINITIALIZED;

private SimpleLazilyInitializedProvider(Factory<T> factory) {
private SingleCheck(Factory<T> factory) {
assert factory != null;
this.factory = factory;
}
@@ -53,7 +53,7 @@ public T get() {
}

/** Returns a new provider for the given factory. */
public static <T> Provider<T> create(Factory<T> factory) {
return new SimpleLazilyInitializedProvider<T>(checkNotNull(factory));
public static <T> Provider<T> provider(Factory<T> factory) {
return new SingleCheck<T>(checkNotNull(factory));
}
}
Original file line number Diff line number Diff line change
@@ -23,19 +23,19 @@
import static com.google.common.truth.Truth.assertThat;

/**
* Tests {@link SimpleLazilyInitializedProvider}.
* Tests {@link SingleCheck}.
*/
@RunWith(JUnit4.class)
public class SimpleLazilyInitializedProviderTest {
public class SingleCheckTest {
@Test(expected = NullPointerException.class)
public void create_nullPointerException() {
SimpleLazilyInitializedProvider.create(null);
SingleCheck.provider(null);
}

@Test
public void get() {
Provider<Integer> provider =
SimpleLazilyInitializedProvider.create(
SingleCheck.provider(
new Factory<Integer>() {
int i = 0;

0 comments on commit 26ece5b

Please sign in to comment.