Как получить параметры конструктора из класса kotlin в AbstractProcessor - PullRequest
0 голосов
/ 10 октября 2019
class HomeViewModel(homeRepository: HomeRepository) : ViewModel()

private fun parseVMFactory(elements: Set<Element>) {
    for (element in elements) {
        if (!SuperficialValidation.validateElement(element)) {
            continue
        }
        val typeElement = element as TypeElement
        val className = typeElement.asClassName()

        val declaredConstructors = className.javaClass.declaredConstructors
        if (declaredConstructors.isNotEmpty()) {
            val constructor = declaredConstructors[0]
            val parameters = constructor.parameters
            val fileName = "${className.simpleName}Factory"

            createFactoryFile(className, parameters[0], fileName, className.canonicalName)
        }
    }
}

Теперь , я могу получить TypeElement, Как преобразовать TypeElement в класс kotlin want Я хочу получить "homeRepository: HomeRepository" из TypeElement。

...