Необнуляемый тип броска KotlinNullPointerException - PullRequest
2 голосов
/ 03 апреля 2020

У меня есть следующий класс в java

public class MyZClass1_ {

    public int x = 100;

}

, и этот тест в kotlin

@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class _01_SO_KotlinReflectionAccessorReturnTypeKotlinNull {

    @Test
    fun demonstrate_returnTypeReflectionOfAccessorFunctionInJavaClassThrowsKotlinNull() {
        val zClass1_ = MyZClass1_::class
        for (declaredProperty in zClass1_.declaredMemberProperties) {
            val propertyGetter = declaredProperty.getter
            assertNotNull(propertyGetter)
            try {
                val returnType = propertyGetter.returnType
            } catch (ex: KotlinNullPointerException) {
                ex.printStackTrace()
            }
        }
    }

}
  • propertyGetter не равен нулю (как заявлено)
  • propertyGetter.returnType имеет ненулевой тип KType
  • Проблема в том, что строка val returnType = propertyGetter.returnType выдает KotlinNullPointerException.
  • Почему это так? Я что-то упустил?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...