mirror of
https://github.com/fankes/moshi.git
synced 2025-10-19 16:09:21 +08:00
Use KotlinPoet's MemberName for emptySet import. (#818)
* Update to KotlinPoet 1.1.0. * Use KotlinPoet's MemberName for emptySet import.
This commit is contained in:
@@ -25,7 +25,7 @@
|
||||
<dependency>
|
||||
<groupId>com.squareup</groupId>
|
||||
<artifactId>kotlinpoet</artifactId>
|
||||
<version>1.0.1</version>
|
||||
<version>1.1.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.auto</groupId>
|
||||
|
@@ -19,6 +19,7 @@ import com.squareup.kotlinpoet.AnnotationSpec
|
||||
import com.squareup.kotlinpoet.ClassName
|
||||
import com.squareup.kotlinpoet.CodeBlock
|
||||
import com.squareup.kotlinpoet.KModifier
|
||||
import com.squareup.kotlinpoet.MemberName
|
||||
import com.squareup.kotlinpoet.NameAllocator
|
||||
import com.squareup.kotlinpoet.ParameterSpec
|
||||
import com.squareup.kotlinpoet.ParameterizedTypeName
|
||||
@@ -56,21 +57,18 @@ internal data class DelegateKey(
|
||||
val standardArgs = arrayOf(moshiParameter,
|
||||
CodeBlock.of("<%T>", type),
|
||||
typeRenderer.render(type))
|
||||
var standardArgsSize = standardArgs.size
|
||||
val (initializerString, args) = when {
|
||||
// TODO: Reference top-level function emptySet().
|
||||
// TODO: https://github.com/square/kotlinpoet/issues/433/
|
||||
jsonQualifiers.isEmpty() -> ", kotlin.collections.emptySet()" to emptyArray()
|
||||
jsonQualifiers.isEmpty() -> ", %M()" to arrayOf(MemberName("kotlin.collections", "emptySet"))
|
||||
else -> {
|
||||
", %${++standardArgsSize}T.getFieldJsonQualifierAnnotations(javaClass, " +
|
||||
"%${++standardArgsSize}S)" to arrayOf(Types::class.asTypeName(), adapterName)
|
||||
", %T.getFieldJsonQualifierAnnotations(javaClass, " +
|
||||
"%S)" to arrayOf(Types::class.asTypeName(), adapterName)
|
||||
}
|
||||
}
|
||||
val finalArgs = arrayOf(*standardArgs, *args, propertyName)
|
||||
|
||||
return PropertySpec.builder(adapterName, adapterTypeName, KModifier.PRIVATE)
|
||||
.addAnnotations(jsonQualifiers)
|
||||
.initializer("%1N.adapter%2L(%3L$initializerString, %${++standardArgsSize}S)", *finalArgs)
|
||||
.initializer("%N.adapter%L(%L$initializerString, %S)", *finalArgs)
|
||||
.build()
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user