mirror of
https://github.com/fankes/moshi.git
synced 2025-10-18 23:49:21 +08:00
test case and possible fix for messaging when type resolution fails due to invalid syntax of a generic property (#1527)
This commit is contained in:
@@ -87,9 +87,9 @@ private class JsonClassSymbolProcessor(
|
||||
|
||||
if (!jsonClassAnnotation.generateAdapter) continue
|
||||
|
||||
try {
|
||||
val originatingFile = type.containingFile!!
|
||||
val adapterGenerator = adapterGenerator(logger, resolver, type) ?: return emptyList()
|
||||
try {
|
||||
val preparedAdapter = adapterGenerator
|
||||
.prepare(generateProguardRules) { spec ->
|
||||
spec.toBuilder()
|
||||
|
@@ -538,6 +538,24 @@ class JsonClassSymbolProcessorTest {
|
||||
assertThat(result.messages).contains("JsonQualifier @UpperCase must have RUNTIME retention")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun invalidGenericSyntaxErrorMessaging() {
|
||||
val result = compile(
|
||||
kotlin(
|
||||
"source.kt",
|
||||
"""
|
||||
package test
|
||||
import com.squareup.moshi.JsonClass
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class ElementEnvelope(val elements: List)
|
||||
""",
|
||||
),
|
||||
)
|
||||
assertThat(result.exitCode).isEqualTo(KotlinCompilation.ExitCode.COMPILATION_ERROR)
|
||||
assertThat(result.messages).contains("Error preparing ElementEnvelope")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `TypeAliases with the same backing type should share the same adapter`() {
|
||||
val result = compile(
|
||||
|
Reference in New Issue
Block a user