aboutsummaryrefslogtreecommitdiff
path: root/factory
diff options
context:
space:
mode:
authorronshapiro <ronshapiro@google.com>2019-05-17 08:13:35 -0700
committerRon Shapiro <shapiro.rd@gmail.com>2019-05-27 12:17:56 -0400
commit4fb95342f5ea7895a8834109a66ea93c8d28ab5f (patch)
tree7ee66173c5558b2e7a5da428804db05937da84ad /factory
parenta8ecd1f0a7c1fa65f081d1f0847976ca5c2dcfb5 (diff)
downloadauto-4fb95342f5ea7895a8834109a66ea93c8d28ab5f.tar.gz
Add an originating element for AutoFactory types
RELNOTES=n/a ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=248722215
Diffstat (limited to 'factory')
-rw-r--r--factory/src/main/java/com/google/auto/factory/processor/FactoryDescriptor.java4
-rw-r--r--factory/src/main/java/com/google/auto/factory/processor/FactoryWriter.java4
2 files changed, 7 insertions, 1 deletions
diff --git a/factory/src/main/java/com/google/auto/factory/processor/FactoryDescriptor.java b/factory/src/main/java/com/google/auto/factory/processor/FactoryDescriptor.java
index 8815ce5e..2ffad953 100644
--- a/factory/src/main/java/com/google/auto/factory/processor/FactoryDescriptor.java
+++ b/factory/src/main/java/com/google/auto/factory/processor/FactoryDescriptor.java
@@ -56,6 +56,10 @@ abstract class FactoryDescriptor {
abstract boolean allowSubclasses();
abstract ImmutableMap<Key, ProviderField> providers();
+ final AutoFactoryDeclaration declaration() {
+ return Iterables.getFirst(methodDescriptors(), null).declaration();
+ }
+
private static class UniqueNameSet {
private final Set<String> uniqueNames = new HashSet<String>();
diff --git a/factory/src/main/java/com/google/auto/factory/processor/FactoryWriter.java b/factory/src/main/java/com/google/auto/factory/processor/FactoryWriter.java
index 5ceb82eb..61058470 100644
--- a/factory/src/main/java/com/google/auto/factory/processor/FactoryWriter.java
+++ b/factory/src/main/java/com/google/auto/factory/processor/FactoryWriter.java
@@ -67,7 +67,9 @@ final class FactoryWriter {
void writeFactory(final FactoryDescriptor descriptor)
throws IOException {
String factoryName = getSimpleName(descriptor.name()).toString();
- TypeSpec.Builder factory = classBuilder(factoryName);
+ TypeSpec.Builder factory =
+ classBuilder(factoryName)
+ .addOriginatingElement(descriptor.declaration().targetType());
generatedAnnotationSpec(
elements,
sourceVersion,