booster / com.didiglobal.booster.cha / ClassHierarchy

ClassHierarchy

class ClassHierarchy<ClassFile : Any, ClassParser : ClassFileParser<ClassFile>> : ClassFileParser<ClassFile>

Author
johnsonlee

Constructors

<init>

ClassHierarchy(classSet: ClassSet<ClassFile, ClassParser>, onClassResolveFailed: OnClassResolveFailed? = null)

Properties

classes

val classes: Iterable<ClassFile>

Functions

get

operator fun get(name: String?): ClassFile?

getDerivedTypes

fun getDerivedTypes(name: String?, filter: ClassFileParser<ClassFile>.(clazz: ClassFile) -> Boolean = { true }): Set<ClassFile>
fun getDerivedTypes(clazz: ClassFile, filter: ClassFileParser<ClassFile>.(clazz: ClassFile) -> Boolean = { true }): Set<ClassFile>

getSuperTypes

fun getSuperTypes(name: String?, filter: ClassFileParser<ClassFile>.(clazz: ClassFile) -> Boolean = { true }): Set<ClassFile>
fun getSuperTypes(clazz: ClassFile, filter: ClassFileParser<ClassFile>.(clazz: ClassFile) -> Boolean = { true }): Set<ClassFile>

isInheritFrom

fun isInheritFrom(child: ClassFile, parent: ClassFile): Boolean
fun isInheritFrom(child: String, parent: String): Boolean
fun isInheritFrom(child: String, parent: ClassFile): Boolean
fun isInheritFrom(child: ClassFile, parent: String): Boolean

isInheritFromClass

fun isInheritFromClass(child: ClassFile, parent: ClassFile): Boolean

isInheritFromInterface

fun isInheritFromInterface(child: ClassFile, parent: ClassFile): Boolean