Move DependencyRequest to dagger.model
RELNOTES=n/a
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=180581201
diff --git a/java/dagger/internal/codegen/BUILD b/java/dagger/internal/codegen/BUILD
index 45a0c0c..efeb75c 100644
--- a/java/dagger/internal/codegen/BUILD
+++ b/java/dagger/internal/codegen/BUILD
@@ -122,7 +122,6 @@
"ConfigurationAnnotations.java", # Uses ModuleDescriptors
"ContributionBinding.java",
"DelegateDeclaration.java",
- "DependencyRequest.java",
"DependencyRequestFactory.java",
"DependencyVariableNamer.java", # Used by SourceFiles
"ErrorMessages.java", # Consider splitting this up as it pulls in too much
diff --git a/java/dagger/internal/codegen/Binding.java b/java/dagger/internal/codegen/Binding.java
index 68e134f..ae2998b 100644
--- a/java/dagger/internal/codegen/Binding.java
+++ b/java/dagger/internal/codegen/Binding.java
@@ -29,6 +29,7 @@
import com.google.common.collect.ImmutableSetMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import dagger.model.Scope;
import java.util.Collection;
diff --git a/java/dagger/internal/codegen/BindingExpression.java b/java/dagger/internal/codegen/BindingExpression.java
index 9a3a642..eb90fc0 100644
--- a/java/dagger/internal/codegen/BindingExpression.java
+++ b/java/dagger/internal/codegen/BindingExpression.java
@@ -22,6 +22,7 @@
import com.squareup.javapoet.ClassName;
import com.squareup.javapoet.CodeBlock;
import dagger.internal.codegen.ComponentDescriptor.ComponentMethodDescriptor;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import dagger.model.RequestKind;
diff --git a/java/dagger/internal/codegen/BindingGraph.java b/java/dagger/internal/codegen/BindingGraph.java
index 5a2ebbc..bcc741a 100644
--- a/java/dagger/internal/codegen/BindingGraph.java
+++ b/java/dagger/internal/codegen/BindingGraph.java
@@ -56,6 +56,7 @@
import dagger.internal.codegen.ComponentDescriptor.ComponentMethodDescriptor;
import dagger.internal.codegen.ComponentDescriptor.ComponentMethodKind;
import dagger.internal.codegen.ContributionBinding.Kind;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import dagger.model.RequestKind;
import dagger.model.Scope;
diff --git a/java/dagger/internal/codegen/BindingGraphValidator.java b/java/dagger/internal/codegen/BindingGraphValidator.java
index ae07793..525f5b8 100644
--- a/java/dagger/internal/codegen/BindingGraphValidator.java
+++ b/java/dagger/internal/codegen/BindingGraphValidator.java
@@ -101,6 +101,7 @@
import dagger.internal.codegen.ComponentDescriptor.ComponentMethodDescriptor;
import dagger.internal.codegen.ComponentRequirement.NullPolicy;
import dagger.internal.codegen.ContributionType.HasContributionType;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import dagger.model.RequestKind;
import dagger.model.Scope;
diff --git a/java/dagger/internal/codegen/BindingNetwork.java b/java/dagger/internal/codegen/BindingNetwork.java
index 081d837..2ac0697 100644
--- a/java/dagger/internal/codegen/BindingNetwork.java
+++ b/java/dagger/internal/codegen/BindingNetwork.java
@@ -41,6 +41,7 @@
import dagger.Module;
import dagger.internal.codegen.ComponentDescriptor.ComponentMethodDescriptor;
import dagger.internal.codegen.ComponentTreeTraverser.ComponentTreePath;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import dagger.multibindings.Multibinds;
import java.util.Optional;
diff --git a/java/dagger/internal/codegen/BindingTypeMapper.java b/java/dagger/internal/codegen/BindingTypeMapper.java
index e5fb8fd..f407cbe 100644
--- a/java/dagger/internal/codegen/BindingTypeMapper.java
+++ b/java/dagger/internal/codegen/BindingTypeMapper.java
@@ -23,6 +23,7 @@
import com.google.common.collect.FluentIterable;
import com.google.common.collect.ImmutableSet;
+import dagger.model.DependencyRequest;
import dagger.model.RequestKind;
import dagger.producers.Producer;
import javax.inject.Provider;
diff --git a/java/dagger/internal/codegen/BindingVariableNamer.java b/java/dagger/internal/codegen/BindingVariableNamer.java
index 1660327..311a83b 100644
--- a/java/dagger/internal/codegen/BindingVariableNamer.java
+++ b/java/dagger/internal/codegen/BindingVariableNamer.java
@@ -20,6 +20,7 @@
import static com.google.common.base.CaseFormat.UPPER_CAMEL;
import static dagger.internal.codegen.ConfigurationAnnotations.isSubcomponentBuilder;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import java.util.Iterator;
import javax.lang.model.element.Element;
diff --git a/java/dagger/internal/codegen/ComponentBindingExpressions.java b/java/dagger/internal/codegen/ComponentBindingExpressions.java
index efc38fb..861e2e4 100644
--- a/java/dagger/internal/codegen/ComponentBindingExpressions.java
+++ b/java/dagger/internal/codegen/ComponentBindingExpressions.java
@@ -32,6 +32,7 @@
import com.squareup.javapoet.ClassName;
import com.squareup.javapoet.CodeBlock;
import dagger.internal.codegen.ComponentDescriptor.ComponentMethodDescriptor;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import dagger.model.RequestKind;
import java.util.EnumSet;
diff --git a/java/dagger/internal/codegen/ComponentDescriptor.java b/java/dagger/internal/codegen/ComponentDescriptor.java
index 37f246e..5aa0b3b 100644
--- a/java/dagger/internal/codegen/ComponentDescriptor.java
+++ b/java/dagger/internal/codegen/ComponentDescriptor.java
@@ -52,6 +52,7 @@
import dagger.Lazy;
import dagger.Module;
import dagger.Subcomponent;
+import dagger.model.DependencyRequest;
import dagger.model.Scope;
import dagger.producers.ProductionComponent;
import dagger.producers.ProductionSubcomponent;
diff --git a/java/dagger/internal/codegen/ComponentTreeTraverser.java b/java/dagger/internal/codegen/ComponentTreeTraverser.java
index 5a6cc99..30654e2 100644
--- a/java/dagger/internal/codegen/ComponentTreeTraverser.java
+++ b/java/dagger/internal/codegen/ComponentTreeTraverser.java
@@ -39,6 +39,7 @@
import com.google.common.collect.LinkedHashMultiset;
import dagger.internal.codegen.ComponentDescriptor.ComponentMethodDescriptor;
import dagger.internal.codegen.ComponentDescriptor.ComponentMethodKind;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import java.util.ArrayDeque;
import java.util.Deque;
diff --git a/java/dagger/internal/codegen/DaggerKythePlugin.java b/java/dagger/internal/codegen/DaggerKythePlugin.java
index fa9eab7..f3d3849 100644
--- a/java/dagger/internal/codegen/DaggerKythePlugin.java
+++ b/java/dagger/internal/codegen/DaggerKythePlugin.java
@@ -41,6 +41,7 @@
import com.sun.tools.javac.tree.JCTree.JCClassDecl;
import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
import com.sun.tools.javac.util.Context;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;
diff --git a/java/dagger/internal/codegen/DelegateDeclaration.java b/java/dagger/internal/codegen/DelegateDeclaration.java
index 6eb1959..f1bf253 100644
--- a/java/dagger/internal/codegen/DelegateDeclaration.java
+++ b/java/dagger/internal/codegen/DelegateDeclaration.java
@@ -27,6 +27,7 @@
import com.google.common.collect.Iterables;
import dagger.Binds;
import dagger.internal.codegen.ContributionType.HasContributionType;
+import dagger.model.DependencyRequest;
import java.util.Optional;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.ExecutableElement;
diff --git a/java/dagger/internal/codegen/DependencyRequest.java b/java/dagger/internal/codegen/DependencyRequest.java
deleted file mode 100644
index 61a25d6..0000000
--- a/java/dagger/internal/codegen/DependencyRequest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2014 The Dagger Authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package dagger.internal.codegen;
-
-import com.google.auto.value.AutoValue;
-import com.google.errorprone.annotations.CanIgnoreReturnValue;
-import com.google.errorprone.annotations.CheckReturnValue;
-import dagger.Provides;
-import dagger.model.Key;
-import dagger.model.RequestKind;
-import java.util.Optional;
-import javax.inject.Inject;
-import javax.lang.model.element.Element;
-import javax.lang.model.type.TypeMirror;
-
-/**
- * Represents a request for a key at an injection point. Parameters to {@link Inject} constructors
- * or {@link Provides} methods are examples of key requests.
- *
- * @author Gregory Kick
- * @since 2.0
- */
-// TODO(gak): Set bindings and the permutations thereof need to be addressed
-@AutoValue
-abstract class DependencyRequest {
- abstract RequestKind kind();
- abstract Key key();
-
- /** The element that declares this dependency request. Absent for synthetic requests. */
- abstract Optional<Element> requestElement();
-
- /**
- * Returns {@code true} if {@code requestElement}'s type is a primitive type.
- *
- * <p>Because the {@link #key()} of a {@link DependencyRequest} is {@linkplain
- * KeyFactory#boxPrimitives(TypeMirror) boxed} to normalize it with other keys, this inspects the
- * {@link #requestElement()} directly.
- */
- boolean requestsPrimitiveType() {
- return requestElement().map(element -> element.asType().getKind().isPrimitive()).orElse(false);
- }
-
- /** Returns true if this request allows null objects. */
- abstract boolean isNullable();
-
- static DependencyRequest.Builder builder() {
- return new AutoValue_DependencyRequest.Builder().isNullable(false);
- }
-
- @CanIgnoreReturnValue
- @AutoValue.Builder
- abstract static class Builder {
- abstract Builder kind(RequestKind kind);
-
- abstract Builder key(Key key);
-
- abstract Builder requestElement(Element element);
-
- abstract Builder isNullable(boolean isNullable);
-
- @CheckReturnValue
- abstract DependencyRequest build();
- }
-
-}
diff --git a/java/dagger/internal/codegen/DependencyRequestFactory.java b/java/dagger/internal/codegen/DependencyRequestFactory.java
index c9e1a6d..1c58c8f 100644
--- a/java/dagger/internal/codegen/DependencyRequestFactory.java
+++ b/java/dagger/internal/codegen/DependencyRequestFactory.java
@@ -35,6 +35,7 @@
import com.google.common.collect.ImmutableSet;
import com.google.common.util.concurrent.ListenableFuture;
import dagger.Lazy;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import dagger.model.RequestKind;
import java.util.List;
diff --git a/java/dagger/internal/codegen/DependencyRequestFormatter.java b/java/dagger/internal/codegen/DependencyRequestFormatter.java
index c8cc169..6b07b90 100644
--- a/java/dagger/internal/codegen/DependencyRequestFormatter.java
+++ b/java/dagger/internal/codegen/DependencyRequestFormatter.java
@@ -28,6 +28,7 @@
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import dagger.Provides;
import dagger.internal.codegen.ComponentTreeTraverser.DependencyTrace;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import dagger.producers.Produces;
import java.util.List;
diff --git a/java/dagger/internal/codegen/DependencyVariableNamer.java b/java/dagger/internal/codegen/DependencyVariableNamer.java
index 8684526..6cd03ef 100644
--- a/java/dagger/internal/codegen/DependencyVariableNamer.java
+++ b/java/dagger/internal/codegen/DependencyVariableNamer.java
@@ -22,6 +22,7 @@
import com.google.common.base.Ascii;
import com.google.common.base.CaseFormat;
import dagger.Lazy;
+import dagger.model.DependencyRequest;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.inject.Provider;
diff --git a/java/dagger/internal/codegen/FrameworkType.java b/java/dagger/internal/codegen/FrameworkType.java
index f9e4699..f596a0f 100644
--- a/java/dagger/internal/codegen/FrameworkType.java
+++ b/java/dagger/internal/codegen/FrameworkType.java
@@ -28,6 +28,7 @@
import dagger.MembersInjector;
import dagger.internal.DoubleCheck;
import dagger.internal.ProviderOfLazy;
+import dagger.model.DependencyRequest;
import dagger.model.RequestKind;
import dagger.producers.Produced;
import dagger.producers.Producer;
diff --git a/java/dagger/internal/codegen/InjectionMethods.java b/java/dagger/internal/codegen/InjectionMethods.java
index 16e0a1b..8e829ba 100644
--- a/java/dagger/internal/codegen/InjectionMethods.java
+++ b/java/dagger/internal/codegen/InjectionMethods.java
@@ -47,6 +47,7 @@
import com.squareup.javapoet.TypeName;
import com.squareup.javapoet.TypeVariableName;
import dagger.internal.codegen.MembersInjectionBinding.InjectionSite;
+import dagger.model.DependencyRequest;
import dagger.model.RequestKind;
import java.util.ArrayList;
import java.util.List;
@@ -381,7 +382,12 @@
*/
private static TypeName accessibleType(DependencyRequest dependency) {
TypeName typeName = requestTypeName(dependency.kind(), accessibleType(dependency.key().type()));
- return dependency.requestsPrimitiveType() ? typeName.unbox() : typeName;
+ return dependency
+ .requestElement()
+ .map(element -> element.asType().getKind().isPrimitive())
+ .orElse(false)
+ ? typeName.unbox()
+ : typeName;
}
/**
diff --git a/java/dagger/internal/codegen/MapBindingExpression.java b/java/dagger/internal/codegen/MapBindingExpression.java
index 17aa1da..e944b3c 100644
--- a/java/dagger/internal/codegen/MapBindingExpression.java
+++ b/java/dagger/internal/codegen/MapBindingExpression.java
@@ -28,6 +28,7 @@
import com.squareup.javapoet.ClassName;
import com.squareup.javapoet.CodeBlock;
import dagger.internal.MapBuilder;
+import dagger.model.DependencyRequest;
import java.util.Collections;
import java.util.Map;
import javax.lang.model.type.TypeMirror;
diff --git a/java/dagger/internal/codegen/MembersInjectionBinding.java b/java/dagger/internal/codegen/MembersInjectionBinding.java
index 8eb0df6..7fe1721 100644
--- a/java/dagger/internal/codegen/MembersInjectionBinding.java
+++ b/java/dagger/internal/codegen/MembersInjectionBinding.java
@@ -33,6 +33,7 @@
import com.google.common.collect.ImmutableSortedSet;
import com.google.common.collect.LinkedHashMultimap;
import com.google.common.collect.SetMultimap;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import java.util.ArrayList;
import java.util.Comparator;
diff --git a/java/dagger/internal/codegen/OptionalBindingExpression.java b/java/dagger/internal/codegen/OptionalBindingExpression.java
index 962b4bc..86f0bcd 100644
--- a/java/dagger/internal/codegen/OptionalBindingExpression.java
+++ b/java/dagger/internal/codegen/OptionalBindingExpression.java
@@ -22,6 +22,7 @@
import com.squareup.javapoet.ClassName;
import com.squareup.javapoet.CodeBlock;
import dagger.internal.codegen.OptionalType.OptionalKind;
+import dagger.model.DependencyRequest;
import javax.lang.model.util.Types;
/** A binding expression for optional bindings. */
diff --git a/java/dagger/internal/codegen/ProducerFactoryGenerator.java b/java/dagger/internal/codegen/ProducerFactoryGenerator.java
index bc2f494..a945690 100644
--- a/java/dagger/internal/codegen/ProducerFactoryGenerator.java
+++ b/java/dagger/internal/codegen/ProducerFactoryGenerator.java
@@ -57,6 +57,7 @@
import com.squareup.javapoet.ParameterizedTypeName;
import com.squareup.javapoet.TypeName;
import com.squareup.javapoet.TypeSpec;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import dagger.model.RequestKind;
import dagger.producers.Producer;
diff --git a/java/dagger/internal/codegen/ProductionBinding.java b/java/dagger/internal/codegen/ProductionBinding.java
index 015edfe..6a7501b 100644
--- a/java/dagger/internal/codegen/ProductionBinding.java
+++ b/java/dagger/internal/codegen/ProductionBinding.java
@@ -30,6 +30,7 @@
import com.google.common.collect.ImmutableSet;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import com.google.errorprone.annotations.CheckReturnValue;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import dagger.model.RequestKind;
import dagger.producers.Producer;
diff --git a/java/dagger/internal/codegen/ProvisionBinding.java b/java/dagger/internal/codegen/ProvisionBinding.java
index 7c99a19..218330e 100644
--- a/java/dagger/internal/codegen/ProvisionBinding.java
+++ b/java/dagger/internal/codegen/ProvisionBinding.java
@@ -40,6 +40,7 @@
import com.google.errorprone.annotations.CheckReturnValue;
import dagger.internal.codegen.ComponentDescriptor.BuilderRequirementMethod;
import dagger.internal.codegen.MembersInjectionBinding.InjectionSite;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import dagger.model.RequestKind;
import dagger.model.Scope;
diff --git a/java/dagger/internal/codegen/SetBindingExpression.java b/java/dagger/internal/codegen/SetBindingExpression.java
index a885d8c..96b9002 100644
--- a/java/dagger/internal/codegen/SetBindingExpression.java
+++ b/java/dagger/internal/codegen/SetBindingExpression.java
@@ -24,6 +24,7 @@
import com.squareup.javapoet.ClassName;
import com.squareup.javapoet.CodeBlock;
import dagger.internal.SetBuilder;
+import dagger.model.DependencyRequest;
import java.util.Collections;
import java.util.Set;
import javax.lang.model.type.TypeMirror;
diff --git a/java/dagger/internal/codegen/SimpleMethodBindingExpression.java b/java/dagger/internal/codegen/SimpleMethodBindingExpression.java
index 7ef3d31..12ca8e2 100644
--- a/java/dagger/internal/codegen/SimpleMethodBindingExpression.java
+++ b/java/dagger/internal/codegen/SimpleMethodBindingExpression.java
@@ -29,6 +29,7 @@
import com.squareup.javapoet.MethodSpec;
import com.squareup.javapoet.TypeName;
import dagger.internal.codegen.InjectionMethods.ProvisionMethod;
+import dagger.model.DependencyRequest;
import java.util.Optional;
import javax.lang.model.element.Element;
import javax.lang.model.element.ExecutableElement;
diff --git a/java/dagger/internal/codegen/SourceFiles.java b/java/dagger/internal/codegen/SourceFiles.java
index b354a9f..9e27003 100644
--- a/java/dagger/internal/codegen/SourceFiles.java
+++ b/java/dagger/internal/codegen/SourceFiles.java
@@ -54,6 +54,7 @@
import com.squareup.javapoet.TypeName;
import com.squareup.javapoet.TypeVariableName;
import dagger.internal.SetFactory;
+import dagger.model.DependencyRequest;
import dagger.model.Key;
import dagger.model.RequestKind;
import dagger.producers.Produced;