Skip to content

Commit 96e755c

Browse files
bcorsoDagger Team
authored andcommitted
[XPoet Migration]: Migrate ParameterSpec to XParameterSpec.
RELNOTES=N/A PiperOrigin-RevId: 748367336
1 parent cccec89 commit 96e755c

23 files changed

+279
-298
lines changed

dagger-compiler/main/java/dagger/internal/codegen/binding/AssistedInjectionAnnotations.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import static dagger.internal.codegen.xprocessing.XElements.asConstructor;
2424
import static dagger.internal.codegen.xprocessing.XElements.asTypeElement;
2525

26+
import androidx.room.compiler.codegen.XParameterSpec;
2627
import androidx.room.compiler.processing.XConstructorElement;
2728
import androidx.room.compiler.processing.XConstructorType;
2829
import androidx.room.compiler.processing.XElement;
@@ -38,11 +39,11 @@
3839
import com.google.common.collect.ImmutableList;
3940
import com.google.common.collect.ImmutableMap;
4041
import com.google.common.collect.ImmutableSet;
41-
import com.squareup.javapoet.ParameterSpec;
4242
import com.squareup.javapoet.TypeName;
4343
import dagger.assisted.Assisted;
4444
import dagger.assisted.AssistedFactory;
4545
import dagger.internal.codegen.model.BindingKind;
46+
import dagger.internal.codegen.xprocessing.XParameterSpecs;
4647
import dagger.internal.codegen.xprocessing.XTypeElements;
4748
import dagger.internal.codegen.xprocessing.XTypeNames;
4849
import dagger.internal.codegen.xprocessing.XTypes;
@@ -76,42 +77,41 @@ public static boolean isAssistedFactoryType(XElement element) {
7677
}
7778

7879
/**
79-
* Returns the list of assisted parameters as {@link ParameterSpec}s.
80+
* Returns the list of assisted parameters as {@link XParameterSpec}s.
8081
*
8182
* <p>The type of each parameter will be the resolved type given by the binding key, and the name
8283
* of each parameter will be the name given in the {@link
8384
* dagger.assisted.AssistedInject}-annotated constructor.
8485
*/
85-
public static ImmutableList<ParameterSpec> assistedParameterSpecs(Binding binding) {
86+
public static ImmutableList<XParameterSpec> assistedParameterSpecs(Binding binding) {
8687
checkArgument(binding.kind() == BindingKind.ASSISTED_INJECTION);
8788
XConstructorElement constructor = asConstructor(binding.bindingElement().get());
8889
XConstructorType constructorType = constructor.asMemberOf(binding.key().type().xprocessing());
8990
return assistedParameterSpecs(constructor.getParameters(), constructorType.getParameterTypes());
9091
}
9192

92-
private static ImmutableList<ParameterSpec> assistedParameterSpecs(
93+
private static ImmutableList<XParameterSpec> assistedParameterSpecs(
9394
List<? extends XExecutableParameterElement> paramElements, List<XType> paramTypes) {
94-
ImmutableList.Builder<ParameterSpec> assistedParameterSpecs = ImmutableList.builder();
95+
ImmutableList.Builder<XParameterSpec> assistedParameterSpecs = ImmutableList.builder();
9596
for (int i = 0; i < paramElements.size(); i++) {
9697
XExecutableParameterElement paramElement = paramElements.get(i);
9798
XType paramType = paramTypes.get(i);
9899
if (isAssistedParameter(paramElement)) {
99100
assistedParameterSpecs.add(
100-
ParameterSpec.builder(paramType.getTypeName(), paramElement.getJvmName())
101-
.build());
101+
XParameterSpecs.of(paramElement.getJvmName(), paramType.asTypeName()));
102102
}
103103
}
104104
return assistedParameterSpecs.build();
105105
}
106106

107107
/**
108-
* Returns the list of assisted factory parameters as {@link ParameterSpec}s.
108+
* Returns the list of assisted factory parameters as {@link XParameterSpec}s.
109109
*
110110
* <p>The type of each parameter will be the resolved type given by the binding key, and the name
111111
* of each parameter will be the name given in the {@link
112112
* dagger.assisted.AssistedInject}-annotated constructor.
113113
*/
114-
public static ImmutableList<ParameterSpec> assistedFactoryParameterSpecs(Binding binding) {
114+
public static ImmutableList<XParameterSpec> assistedFactoryParameterSpecs(Binding binding) {
115115
checkArgument(binding.kind() == BindingKind.ASSISTED_FACTORY);
116116

117117
XTypeElement factory = asTypeElement(binding.bindingElement().get());

dagger-compiler/main/java/dagger/internal/codegen/binding/ComponentRequirement.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,17 @@
2424
import static dagger.internal.codegen.xprocessing.XTypeElements.isNested;
2525
import static dagger.internal.codegen.xprocessing.XTypes.isDeclared;
2626

27+
import androidx.room.compiler.codegen.XParameterSpec;
2728
import androidx.room.compiler.processing.XElement;
2829
import androidx.room.compiler.processing.XMethodElement;
2930
import androidx.room.compiler.processing.XType;
3031
import androidx.room.compiler.processing.XTypeElement;
3132
import com.google.auto.value.AutoValue;
32-
import com.squareup.javapoet.ParameterSpec;
3333
import com.squareup.javapoet.TypeName;
3434
import dagger.internal.codegen.model.BindingKind;
3535
import dagger.internal.codegen.model.Key;
3636
import dagger.internal.codegen.xprocessing.Nullability;
37+
import dagger.internal.codegen.xprocessing.XParameterSpecs;
3738
import dagger.internal.codegen.xprocessing.XTypeElements;
3839
import dagger.internal.codegen.xprocessing.XTypeNames;
3940
import java.util.Optional;
@@ -186,8 +187,8 @@ private boolean isBindingMethod(XMethodElement method) {
186187
public abstract String variableName();
187188

188189
/** Returns a parameter spec for this requirement. */
189-
public ParameterSpec toParameterSpec() {
190-
return ParameterSpec.builder(type().getTypeName(), variableName()).build();
190+
public XParameterSpec toParameterSpec() {
191+
return XParameterSpecs.of(variableName(), type().asTypeName());
191192
}
192193

193194
public static ComponentRequirement forDependency(ComponentDependencyBinding binding) {

dagger-compiler/main/java/dagger/internal/codegen/binding/FrameworkType.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,13 @@
1616

1717
package dagger.internal.codegen.binding;
1818

19-
import static androidx.room.compiler.codegen.compat.XConverters.toJavaPoet;
2019
import static com.google.common.base.CaseFormat.UPPER_CAMEL;
2120
import static com.google.common.base.CaseFormat.UPPER_UNDERSCORE;
2221

2322
import androidx.room.compiler.codegen.XClassName;
2423
import androidx.room.compiler.codegen.XCodeBlock;
2524
import androidx.room.compiler.codegen.XTypeName;
2625
import androidx.room.compiler.processing.XProcessingEnv;
27-
import com.squareup.javapoet.ParameterizedTypeName;
2826
import dagger.internal.codegen.base.RequestKinds;
2927
import dagger.internal.codegen.model.RequestKind;
3028
import dagger.internal.codegen.xprocessing.XExpression;
@@ -193,8 +191,8 @@ public XClassName frameworkClassName() {
193191
}
194192

195193
/** Returns the {@link #frameworkClassName()} parameterized with a type. */
196-
public ParameterizedTypeName frameworkClassOf(XTypeName valueType) {
197-
return ParameterizedTypeName.get(toJavaPoet(frameworkClassName()), toJavaPoet(valueType));
194+
public XTypeName frameworkClassOf(XTypeName valueType) {
195+
return frameworkClassName().parametrizedBy(valueType);
198196
}
199197

200198
/** The request kind that an instance of this framework type can satisfy directly, if any. */

dagger-compiler/main/java/dagger/internal/codegen/processingstep/AssistedFactoryProcessingStep.java

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package dagger.internal.codegen.processingstep;
1818

19-
import static androidx.room.compiler.codegen.compat.XConverters.toJavaPoet;
2019
import static com.google.common.collect.Iterables.getOnlyElement;
2120
import static dagger.internal.codegen.binding.AssistedInjectionAnnotations.assistedFactoryMethods;
2221
import static dagger.internal.codegen.binding.AssistedInjectionAnnotations.assistedInjectedConstructors;
@@ -43,6 +42,7 @@
4342

4443
import androidx.room.compiler.codegen.XClassName;
4544
import androidx.room.compiler.codegen.XCodeBlock;
45+
import androidx.room.compiler.codegen.XParameterSpec;
4646
import androidx.room.compiler.codegen.XTypeName;
4747
import androidx.room.compiler.codegen.XTypeSpec;
4848
import androidx.room.compiler.processing.XElement;
@@ -55,7 +55,6 @@
5555
import androidx.room.compiler.processing.XTypeElement;
5656
import com.google.common.collect.ImmutableList;
5757
import com.google.common.collect.ImmutableSet;
58-
import com.squareup.javapoet.ParameterSpec;
5958
import dagger.internal.codegen.base.SourceFileGenerator;
6059
import dagger.internal.codegen.binding.AssistedFactoryBinding;
6160
import dagger.internal.codegen.binding.AssistedInjectionAnnotations;
@@ -65,6 +64,7 @@
6564
import dagger.internal.codegen.binding.BindingFactory;
6665
import dagger.internal.codegen.binding.MethodSignatureFormatter;
6766
import dagger.internal.codegen.validation.ValidationReport;
67+
import dagger.internal.codegen.xprocessing.XParameterSpecs;
6868
import dagger.internal.codegen.xprocessing.XPropertySpecs;
6969
import dagger.internal.codegen.xprocessing.XTypeNames;
7070
import dagger.internal.codegen.xprocessing.XTypeSpecs;
@@ -287,26 +287,29 @@ public ImmutableList<XTypeSpec> topLevelTypes(AssistedFactoryBinding binding) {
287287
}
288288

289289
AssistedFactoryMetadata metadata = AssistedFactoryMetadata.create(factory.getType());
290-
ParameterSpec delegateFactoryParam =
291-
ParameterSpec.builder(
292-
toJavaPoet(
293-
delegateFactoryTypeName(metadata.assistedInjectType())), "delegateFactory")
294-
.build();
290+
XParameterSpec delegateFactoryParam =
291+
XParameterSpecs.of(
292+
"delegateFactory",
293+
delegateFactoryTypeName(metadata.assistedInjectType()));
295294
builder
296295
.addProperty(
297-
XPropertySpecs.builder(delegateFactoryParam.type, delegateFactoryParam.name)
296+
XPropertySpecs.builder(
297+
delegateFactoryParam.getName(), // SUPPRESS_GET_NAME_CHECK
298+
delegateFactoryParam.getType())
298299
.addModifiers(PRIVATE, FINAL)
299300
.build())
300301
.addFunction(
301302
constructorBuilder()
302303
.addParameter(delegateFactoryParam)
303-
.addStatement("this.%1N = %1N", delegateFactoryParam.name)
304+
.addStatement(
305+
"this.%1N = %1N",
306+
delegateFactoryParam.getName()) // SUPPRESS_GET_NAME_CHECK
304307
.build())
305308
.addFunction(
306309
overriding(metadata.factoryMethod(), metadata.factoryType())
307310
.addStatement(
308311
"return %N.get(%L)",
309-
delegateFactoryParam.name,
312+
delegateFactoryParam.getName(), // SUPPRESS_GET_NAME_CHECK
310313
// Use the order of the parameters from the @AssistedInject constructor but
311314
// use the parameter names of the @AssistedFactory method.
312315
metadata.assistedInjectAssistedParameters().stream()
@@ -333,7 +336,8 @@ public ImmutableList<XTypeSpec> topLevelTypes(AssistedFactoryBinding binding) {
333336
"<%T>",
334337
accessibleTypeName(metadata.factoryType(), name, processingEnv))
335338
: XCodeBlock.of(""),
336-
XCodeBlock.ofNewInstance(name, "%N", delegateFactoryParam.name))
339+
XCodeBlock.ofNewInstance(
340+
name, "%N", delegateFactoryParam.getName())) // SUPPRESS_GET_NAME_CHECK
337341
.build())
338342
// Normally we would have called this just "create", but because of backwards
339343
// compatibility we can't have two methods with the same name/arguments returning
@@ -353,7 +357,8 @@ public ImmutableList<XTypeSpec> topLevelTypes(AssistedFactoryBinding binding) {
353357
"<%T>",
354358
accessibleTypeName(metadata.factoryType(), name, processingEnv))
355359
: XCodeBlock.of(""),
356-
XCodeBlock.ofNewInstance(name, "%N", delegateFactoryParam.name))
360+
XCodeBlock.ofNewInstance(
361+
name, "%N", delegateFactoryParam.getName())) // SUPPRESS_GET_NAME_CHECK
357362
.build());
358363
return ImmutableList.of(builder.build());
359364
}

dagger-compiler/main/java/dagger/internal/codegen/processingstep/MonitoringModuleGenerator.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package dagger.internal.codegen.processingstep;
1818

19-
import static androidx.room.compiler.codegen.compat.XConverters.toJavaPoet;
2019
import static dagger.internal.codegen.binding.SourceFiles.generatedMonitoringModuleName;
2120
import static dagger.internal.codegen.xprocessing.XFunSpecs.constructorBuilder;
2221
import static dagger.internal.codegen.xprocessing.XFunSpecs.methodBuilder;
@@ -90,10 +89,9 @@ private XFunSpec monitor(XTypeElement componentElement) {
9089
.addModifiers(STATIC)
9190
.addAnnotation(XTypeNames.PROVIDES)
9291
.addAnnotation(XTypeNames.PRODUCTION_SCOPE)
93-
.addParameter(toJavaPoet(providerOf(componentElement.getType().asTypeName())), "component")
92+
.addParameter("component", providerOf(componentElement.getType().asTypeName()))
9493
.addParameter(
95-
toJavaPoet(providerOf(setOf(XTypeNames.PRODUCTION_COMPONENT_MONITOR_FACTORY))),
96-
"factories")
94+
"factories", providerOf(setOf(XTypeNames.PRODUCTION_COMPONENT_MONITOR_FACTORY)))
9795
.addStatement(
9896
"return %T.createMonitorForComponent(component, factories)", XTypeNames.MONITORS)
9997
.build();

dagger-compiler/main/java/dagger/internal/codegen/writing/AnnotationCreatorGenerator.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package dagger.internal.codegen.writing;
1818

19-
import static androidx.room.compiler.codegen.compat.XConverters.toJavaPoet;
2019
import static androidx.room.compiler.processing.XTypeKt.isArray;
2120
import static androidx.room.compiler.processing.compat.XConverters.getProcessingEnv;
2221
import static dagger.internal.codegen.binding.AnnotationExpression.createMethodName;
@@ -122,7 +121,7 @@ private XFunSpec buildCreateMethod(XClassName generatedTypeName, XTypeElement an
122121
for (XMethodElement annotationMember : annotationElement.getDeclaredMethods()) {
123122
String parameterName = getSimpleName(annotationMember);
124123
XTypeName parameterType = maybeRewrapKClass(annotationMember.getReturnType()).asTypeName();
125-
createMethod.addParameter(toJavaPoet(parameterType), parameterName);
124+
createMethod.addParameter(parameterName, parameterType);
126125
parameters.add(XCodeBlock.of("%N", parameterName));
127126
}
128127

dagger-compiler/main/java/dagger/internal/codegen/writing/AssistedFactoryRequestRepresentation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ private XTypeSpec anonymousfactoryImpl(
8888
XTypeSpecs.anonymousClassBuilder()
8989
.addFunction(
9090
overridingWithoutParameters(factoryMethod, factoryType)
91-
.addJavaParameters(
91+
.addParameters(
9292
assistedFactoryParameterSpecs(
9393
binding, componentImplementation.shardImplementation(assistedBinding)))
9494
.addStatement("return %L", assistedInjectionExpression.codeBlock())

dagger-compiler/main/java/dagger/internal/codegen/writing/AssistedInjectionParameters.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,31 +21,32 @@
2121
import static dagger.internal.codegen.xprocessing.XElements.asConstructor;
2222
import static dagger.internal.codegen.xprocessing.XElements.asTypeElement;
2323

24+
import androidx.room.compiler.codegen.XParameterSpec;
2425
import androidx.room.compiler.processing.XConstructorElement;
2526
import androidx.room.compiler.processing.XConstructorType;
2627
import androidx.room.compiler.processing.XExecutableParameterElement;
2728
import androidx.room.compiler.processing.XMethodType;
2829
import androidx.room.compiler.processing.XType;
2930
import androidx.room.compiler.processing.XTypeElement;
3031
import com.google.common.collect.ImmutableList;
31-
import com.squareup.javapoet.ParameterSpec;
3232
import dagger.internal.codegen.binding.AssistedInjectionAnnotations;
3333
import dagger.internal.codegen.binding.AssistedInjectionAnnotations.AssistedFactoryMetadata;
3434
import dagger.internal.codegen.binding.Binding;
3535
import dagger.internal.codegen.model.BindingKind;
3636
import dagger.internal.codegen.writing.ComponentImplementation.ShardImplementation;
37+
import dagger.internal.codegen.xprocessing.XParameterSpecs;
3738
import java.util.List;
3839

3940
/** Utility class for generating unique assisted parameter names for a component shard. */
4041
final class AssistedInjectionParameters {
4142
/**
42-
* Returns the list of assisted factory parameters as {@link ParameterSpec}s.
43+
* Returns the list of assisted factory parameters as {@link XParameterSpec}s.
4344
*
4445
* <p>The type of each parameter will be the resolved type given by the binding key, and the name
4546
* of each parameter will be the name given in the {@link
4647
* dagger.assisted.AssistedInject}-annotated constructor.
4748
*/
48-
public static ImmutableList<ParameterSpec> assistedFactoryParameterSpecs(
49+
public static ImmutableList<XParameterSpec> assistedFactoryParameterSpecs(
4950
Binding binding, ShardImplementation shardImplementation) {
5051
checkArgument(binding.kind() == BindingKind.ASSISTED_FACTORY);
5152
XTypeElement factory = asTypeElement(binding.bindingElement().get());
@@ -63,13 +64,13 @@ public static ImmutableList<ParameterSpec> assistedFactoryParameterSpecs(
6364
}
6465

6566
/**
66-
* Returns the list of assisted parameters as {@link ParameterSpec}s.
67+
* Returns the list of assisted parameters as {@link XParameterSpec}s.
6768
*
6869
* <p>The type of each parameter will be the resolved type given by the binding key, and the name
6970
* of each parameter will be the name given in the {@link
7071
* dagger.assisted.AssistedInject}-annotated constructor.
7172
*/
72-
public static ImmutableList<ParameterSpec> assistedParameterSpecs(
73+
public static ImmutableList<XParameterSpec> assistedParameterSpecs(
7374
Binding binding, ShardImplementation shardImplementation) {
7475
checkArgument(binding.kind() == BindingKind.ASSISTED_INJECTION);
7576
XConstructorElement constructor = asConstructor(binding.bindingElement().get());
@@ -78,20 +79,19 @@ public static ImmutableList<ParameterSpec> assistedParameterSpecs(
7879
constructor.getParameters(), constructorType.getParameterTypes(), shardImplementation);
7980
}
8081

81-
private static ImmutableList<ParameterSpec> assistedParameterSpecs(
82+
private static ImmutableList<XParameterSpec> assistedParameterSpecs(
8283
List<XExecutableParameterElement> paramElements,
8384
List<XType> paramTypes,
8485
ShardImplementation shardImplementation) {
85-
ImmutableList.Builder<ParameterSpec> assistedParameterSpecs = ImmutableList.builder();
86+
ImmutableList.Builder<XParameterSpec> assistedParameterSpecs = ImmutableList.builder();
8687
for (int i = 0; i < paramElements.size(); i++) {
8788
XExecutableParameterElement paramElement = paramElements.get(i);
8889
XType paramType = paramTypes.get(i);
8990
if (AssistedInjectionAnnotations.isAssistedParameter(paramElement)) {
9091
assistedParameterSpecs.add(
91-
ParameterSpec.builder(
92-
paramType.getTypeName(),
93-
shardImplementation.getUniqueFieldNameForAssistedParam(paramElement))
94-
.build());
92+
XParameterSpecs.of(
93+
shardImplementation.getUniqueFieldNameForAssistedParam(paramElement),
94+
paramType.asTypeName()));
9595
}
9696
}
9797
return assistedParameterSpecs.build();

0 commit comments

Comments
 (0)