diff --git a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt index 3b414ca500a..b4d341740d8 100644 --- a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt +++ b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt @@ -1023,10 +1023,10 @@ class ClassFileToSourceStubConverter(val kaptContext: KaptContextForStubGenerati val returnType = getNonErrorType( descriptor.returnType, RETURN_TYPE, ktTypeProvider = { - val element = kaptContext.origins[method]?.element - when (element) { + when (val element = kaptContext.origins[method]?.element) { is KtFunction -> element.typeReference is KtProperty -> if (descriptor is PropertyGetterDescriptor) element.typeReference else null + is KtPropertyAccessor -> if (descriptor is PropertyGetterDescriptor) element.property.typeReference else null is KtParameter -> if (descriptor is PropertyGetterDescriptor) element.typeReference else null else -> null } diff --git a/plugins/kapt3/kapt3-compiler/testData/converter/nonExistentClass.kt b/plugins/kapt3/kapt3-compiler/testData/converter/nonExistentClass.kt index ba54f7c0676..9f86ee574cc 100644 --- a/plugins/kapt3/kapt3-compiler/testData/converter/nonExistentClass.kt +++ b/plugins/kapt3/kapt3-compiler/testData/converter/nonExistentClass.kt @@ -8,7 +8,9 @@ object NonExistentType { val b: List? = null val c: (ABCDEF) -> Unit = { f -> } val d: ABCDEF) -> Unit>? = null + + val foo: Foo get() = Foo() fun a(a: ABCDEF, s: String): ABCDEF {} fun b(s: String): ABCDEF {} -} \ No newline at end of file +} diff --git a/plugins/kapt3/kapt3-compiler/testData/converter/nonExistentClass.txt b/plugins/kapt3/kapt3-compiler/testData/converter/nonExistentClass.txt index 48b215d42b8..292f74b2bc9 100644 --- a/plugins/kapt3/kapt3-compiler/testData/converter/nonExistentClass.txt +++ b/plugins/kapt3/kapt3-compiler/testData/converter/nonExistentClass.txt @@ -38,6 +38,11 @@ public final class NonExistentType { return null; } + @org.jetbrains.annotations.NotNull() + public final Foo getFoo() { + return null; + } + @org.jetbrains.annotations.NotNull() public final ABCDEF a(@org.jetbrains.annotations.NotNull() ABCDEF a, @org.jetbrains.annotations.NotNull()