diff --git a/kotlin/codegen/pom.xml b/kotlin/codegen/pom.xml
index a34e33f..e58fe43 100644
--- a/kotlin/codegen/pom.xml
+++ b/kotlin/codegen/pom.xml
@@ -25,7 +25,7 @@
com.squareup
kotlinpoet
- 1.0.0-RC1
+ 1.0.0-RC2
com.google.auto
diff --git a/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/AdapterGenerator.kt b/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/AdapterGenerator.kt
index 2db1c1d..6937832 100644
--- a/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/AdapterGenerator.kt
+++ b/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/AdapterGenerator.kt
@@ -79,8 +79,9 @@ internal class AdapterGenerator(
private val optionsProperty = PropertySpec.builder(
nameAllocator.newName("options"), JsonReader.Options::class.asTypeName(),
KModifier.PRIVATE)
- .initializer("%T.of(${propertyList.joinToString(", ") { "\"${it.jsonName}\"" }})",
- JsonReader.Options::class.asTypeName())
+ .initializer("%T.of(${propertyList.joinToString(", ") {
+ CodeBlock.of("%S", it.jsonName).toString()
+ }})", JsonReader.Options::class.asTypeName())
.build()
fun generateFile(generatedOption: TypeElement?): FileSpec {
@@ -296,7 +297,7 @@ internal class AdapterGenerator(
result.addStatement("%N.beginObject()", writerParam)
propertyList.forEach { property ->
- result.addStatement("%N.name(\"${property.jsonName}\")", writerParam)
+ result.addStatement("%N.name(%S)", writerParam, property.jsonName)
result.addStatement("%N.toJson(%N, %N.%L)",
nameAllocator.get(property.delegateKey), writerParam, valueParam, property.name)
}
diff --git a/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/DelegateKey.kt b/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/DelegateKey.kt
index 45e35a6..e9ef5f5 100644
--- a/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/DelegateKey.kt
+++ b/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/DelegateKey.kt
@@ -47,7 +47,7 @@ internal data class DelegateKey(
propertyName: String
): PropertySpec {
val qualifierNames = jsonQualifiers.joinToString("") {
- "At${(it.type as ClassName).simpleName}"
+ "At${it.className.simpleName}"
}
val adapterName = nameAllocator.newName(
"${type.toVariableName().decapitalize()}${qualifierNames}Adapter", this)
diff --git a/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/TargetProperty.kt b/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/TargetProperty.kt
index 8f8d345..e14f608 100644
--- a/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/TargetProperty.kt
+++ b/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/TargetProperty.kt
@@ -157,7 +157,7 @@ internal data class TargetProperty(
private val Element?.jsonName: String?
get() {
if (this == null) return null
- return getAnnotation(Json::class.java)?.name?.replace("$", "\\$")
+ return getAnnotation(Json::class.java)?.name
}
private val AnnotationMirror.simpleName: Name
diff --git a/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/TypeRenderer.kt b/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/TypeRenderer.kt
index 1beebb4..f78b3b8 100644
--- a/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/TypeRenderer.kt
+++ b/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/TypeRenderer.kt
@@ -51,9 +51,9 @@ abstract class TypeRenderer {
|| typeName == INT.asNullable()
|| typeName == LONG.asNullable()
|| typeName == SHORT.asNullable()) {
- return CodeBlock.of("%T::class.javaObjectType", typeName.asNonNullable())
+ return CodeBlock.of("%T::class.javaObjectType", typeName.asNonNull())
}
- return render(typeName.asNonNullable())
+ return render(typeName.asNonNull())
}
return when (typeName) {