aboutsummaryrefslogtreecommitdiff
path: root/java/dagger/internal/codegen/binding/ComponentCreatorDescriptor.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/dagger/internal/codegen/binding/ComponentCreatorDescriptor.java')
-rw-r--r--java/dagger/internal/codegen/binding/ComponentCreatorDescriptor.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/java/dagger/internal/codegen/binding/ComponentCreatorDescriptor.java b/java/dagger/internal/codegen/binding/ComponentCreatorDescriptor.java
index 0bc22099a..254ca7ea5 100644
--- a/java/dagger/internal/codegen/binding/ComponentCreatorDescriptor.java
+++ b/java/dagger/internal/codegen/binding/ComponentCreatorDescriptor.java
@@ -41,6 +41,7 @@ import dagger.internal.codegen.base.ComponentCreatorAnnotation;
import dagger.internal.codegen.base.ComponentCreatorKind;
import dagger.internal.codegen.javapoet.TypeNames;
import dagger.internal.codegen.model.DependencyRequest;
+import dagger.internal.codegen.xprocessing.XElements;
import java.util.List;
/**
@@ -161,7 +162,12 @@ public abstract class ComponentCreatorDescriptor {
for (XMethodElement method : getAllUnimplementedMethods(creator)) {
XMethodType resolvedMethodType = method.asMemberOf(creator.getType());
if (isSubtype(componentType, resolvedMethodType.getReturnType())) {
- verify(factoryMethod == null); // validation should have ensured there's only 1.
+ verify(
+ factoryMethod == null,
+ "Expected a single factory method for %s but found multiple: [%s, %s]",
+ XElements.toStableString(creator),
+ XElements.toStableString(factoryMethod),
+ XElements.toStableString(method));
factoryMethod = method;
} else {
XExecutableParameterElement parameter = getOnlyElement(method.getParameters());
@@ -171,7 +177,10 @@ public abstract class ComponentCreatorDescriptor {
method);
}
}
- verify(factoryMethod != null); // validation should have ensured this.
+ verify(
+ factoryMethod != null,
+ "Expected a single factory method for %s but found none.",
+ XElements.toStableString(creator));
ImmutableSetMultimap.Builder<ComponentRequirement, XExecutableParameterElement>
factoryParameters = ImmutableSetMultimap.builder();