Revert "Omit adapter field names now that we directly instantiate annotations (#1436)" (#1439)

This reverts commit 4a6cfb4d58.
This commit is contained in:
Zac Sweers
2021-11-30 21:43:48 -05:00
committed by GitHub
parent fb8c7b50fc
commit 9f81ac897a
3 changed files with 6 additions and 7 deletions

View File

@@ -270,7 +270,8 @@ public class AdapterGenerator(
uniqueAdapter.delegateKey.generateProperty(
nameAllocator,
typeRenderer,
moshiParam
moshiParam,
uniqueAdapter.name
)
)
}

View File

@@ -45,7 +45,8 @@ public data class DelegateKey(
internal fun generateProperty(
nameAllocator: NameAllocator,
typeRenderer: TypeRenderer,
moshiParameter: ParameterSpec
moshiParameter: ParameterSpec,
propertyName: String
): PropertySpec {
val qualifierNames = jsonQualifiers.joinToString("") {
"At${it.typeName.rawType().simpleName}"
@@ -67,10 +68,10 @@ public data class DelegateKey(
", setOf(%L)" to arrayOf(jsonQualifiers.map { it.asInstantiationExpression() }.joinToCode())
}
}
val finalArgs = arrayOf(*standardArgs, *args)
val finalArgs = arrayOf(*standardArgs, *args, propertyName)
return PropertySpec.builder(adapterName, adapterTypeName, KModifier.PRIVATE)
.initializer("%N.adapter(%L$initializerString)", *finalArgs)
.initializer("%N.adapter(%L$initializerString, %S)", *finalArgs)
.build()
}
}

View File

@@ -109,10 +109,7 @@ public final class Moshi {
/**
* @param fieldName An optional field name associated with this type. The field name is used as a
* hint for better adapter lookup error messages for nested structures.
* @deprecated this is no longer needed in Kotlin 1.6.0 (which has direct annotation
* instantiation) and should no longer be used.
*/
@Deprecated
@CheckReturnValue
@SuppressWarnings("unchecked") // Factories are required to return only matching JsonAdapters.
public <T> JsonAdapter<T> adapter(