aboutsummaryrefslogtreecommitdiff
path: root/java/dagger/internal/codegen/writing/MembersInjectorGenerator.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/dagger/internal/codegen/writing/MembersInjectorGenerator.java')
-rw-r--r--java/dagger/internal/codegen/writing/MembersInjectorGenerator.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/java/dagger/internal/codegen/writing/MembersInjectorGenerator.java b/java/dagger/internal/codegen/writing/MembersInjectorGenerator.java
index 8630ce6ca..df618b070 100644
--- a/java/dagger/internal/codegen/writing/MembersInjectorGenerator.java
+++ b/java/dagger/internal/codegen/writing/MembersInjectorGenerator.java
@@ -61,6 +61,7 @@ import dagger.internal.codegen.langmodel.DaggerTypes;
import dagger.internal.codegen.writing.InjectionMethods.InjectionSiteMethod;
import dagger.model.DependencyRequest;
import java.util.Map.Entry;
+import java.util.Optional;
import javax.annotation.processing.Filer;
import javax.inject.Inject;
import javax.lang.model.SourceVersion;
@@ -86,15 +87,20 @@ public final class MembersInjectorGenerator extends SourceFileGenerator<MembersI
}
@Override
+ public ClassName nameGeneratedType(MembersInjectionBinding binding) {
+ return membersInjectorNameForType(binding.membersInjectedType());
+ }
+
+ @Override
public Element originatingElement(MembersInjectionBinding binding) {
return binding.membersInjectedType();
}
@Override
- public ImmutableList<TypeSpec.Builder> topLevelTypes(MembersInjectionBinding binding) {
+ public Optional<TypeSpec.Builder> write(MembersInjectionBinding binding) {
// Empty members injection bindings are special and don't need source files.
if (binding.injectionSites().isEmpty()) {
- return ImmutableList.of();
+ return Optional.empty();
}
// Members injectors for classes with no local injection sites and no @Inject
@@ -102,7 +108,7 @@ public final class MembersInjectorGenerator extends SourceFileGenerator<MembersI
if (!binding.hasLocalInjectionSites()
&& injectedConstructors(binding.membersInjectedType()).isEmpty()
&& assistedInjectedConstructors(binding.membersInjectedType()).isEmpty()) {
- return ImmutableList.of();
+ return Optional.empty();
}
@@ -112,7 +118,7 @@ public final class MembersInjectorGenerator extends SourceFileGenerator<MembersI
"tried to generate a MembersInjector for a binding of a resolved generic type: %s",
binding);
- ClassName generatedTypeName = membersInjectorNameForType(binding.membersInjectedType());
+ ClassName generatedTypeName = nameGeneratedType(binding);
ImmutableList<TypeVariableName> typeParameters = bindingTypeElementTypeVariableNames(binding);
TypeSpec.Builder injectorTypeBuilder =
classBuilder(generatedTypeName)
@@ -216,6 +222,6 @@ public final class MembersInjectorGenerator extends SourceFileGenerator<MembersI
gwtIncompatibleAnnotation(binding).ifPresent(injectorTypeBuilder::addAnnotation);
- return ImmutableList.of(injectorTypeBuilder);
+ return Optional.of(injectorTypeBuilder);
}
}