Can I get supertypes of KtClass as KtClass’es?
# intellij-plugins
a
Can I get supertypes of KtClass as KtClass’es?
Or just list of KtProperties including properties of all supertypes?
I found solution
Copy code
private fun KtClass.getPropertiesRecursive(): List<KtProperty> {
    val properties = this.getProperties()
    val parentProperties = this.getSuperTypeList()?.entries
        ?.flatMap { superType ->
            val superClass = superType.typeReference?.classForRefactor()
            superClass?.getPropertiesRecursive() ?: emptyList()
        }
        ?: emptyList()
    return properties + parentProperties
}