Kapt: Fix correctErrorTypes for getters of properties defined in the primary constructor

This commit is contained in:
Yan Zhulanow
2017-11-16 15:22:47 +09:00
parent 182c2e2eeb
commit 0a0de8da29
4 changed files with 23 additions and 18 deletions
@@ -612,7 +612,8 @@ class ClassFileToSourceStubConverter(
val element = kaptContext.origins[method]?.element
when (element) {
is KtFunction -> element.typeReference
is KtProperty -> if (method.name.startsWith("get")) element.typeReference else null
is KtProperty -> if (descriptor is PropertyGetterDescriptor) element.typeReference else null
is KtParameter -> if (descriptor is PropertyGetterDescriptor) element.typeReference else null
else -> null
}
},
@@ -218,10 +218,12 @@ open class AbstractClassFileToSourceStubConverterTest : AbstractKotlinKapt3Test(
log.flush()
val lineSeparator = System.getProperty("line.separator")
System.err.println(actualErrors.joinToString(lineSeparator))
if (expectedErrors.isEmpty()) {
error("There were errors during analysis. See errors above. Stubs:\n\n$actual")
} else {
val lineSeparator = System.getProperty("line.separator")
TestCase.assertEquals("Expected error matching failed",
expectedErrors.joinToString(lineSeparator),
actualErrors.joinToString(lineSeparator))
@@ -1,19 +1,21 @@
// CORRECT_ERROR_TYPES
// EXPECTED_ERROR(10;12) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (31, 5))
// EXPECTED_ERROR(10;19) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (24, 50))
// EXPECTED_ERROR(12;12) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (32, 5))
// EXPECTED_ERROR(12;34) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (24, 62))
// EXPECTED_ERROR(27;18) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (31, 5))
// EXPECTED_ERROR(33;5) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (31, 5))
// EXPECTED_ERROR(35;5) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (24, 34))
// EXPECTED_ERROR(36;30) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (24, 34))
// EXPECTED_ERROR(38;18) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (32, 5))
// EXPECTED_ERROR(44;5) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (32, 5))
// EXPECTED_ERROR(54;5) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (35, 5))
// EXPECTED_ERROR(5;11) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (21, 1))
// EXPECTED_ERROR(60;5) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (37, 5))
// EXPECTED_ERROR(73;18) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (40, 5))
// EXPECTED_ERROR(10;12) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (33, 5))
// EXPECTED_ERROR(10;19) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (26, 50))
// EXPECTED_ERROR(12;12) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (34, 5))
// EXPECTED_ERROR(12;34) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (26, 62))
// EXPECTED_ERROR(22;18) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (26, 50))
// EXPECTED_ERROR(27;18) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (33, 5))
// EXPECTED_ERROR(28;33) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (26, 62))
// EXPECTED_ERROR(33;5) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (33, 5))
// EXPECTED_ERROR(35;5) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (26, 34))
// EXPECTED_ERROR(36;30) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (26, 34))
// EXPECTED_ERROR(38;18) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (34, 5))
// EXPECTED_ERROR(44;5) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (34, 5))
// EXPECTED_ERROR(54;5) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (37, 5))
// EXPECTED_ERROR(5;11) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (23, 1))
// EXPECTED_ERROR(60;5) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (39, 5))
// EXPECTED_ERROR(73;18) cannot find symbol (Kotlin location: /errorLocationMapping.kt: (42, 5))
@file:Suppress("UNRESOLVED_REFERENCE", "ANNOTATION_PARAMETER_MUST_BE_CONST", "NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION")
import kotlin.reflect.KClass
@@ -48,13 +48,13 @@ public final class ErrorInConstructorParameter {
@org.jetbrains.annotations.NotNull()
@kapt.internal.KaptSignature(value = "getB()Lerror/NonExistentClass;")
public final error.NonExistentClass getB() {
public final ABC getB() {
return null;
}
@org.jetbrains.annotations.NotNull()
@kapt.internal.KaptSignature(value = "getC()Ljava/util/List;")
public final java.util.List<error.NonExistentClass> getC() {
public final java.util.List<ABC> getC() {
return null;
}