J2K KotlinJvmBinaryClass & AnnotationAndConstantLoader: convert

This commit is contained in:
Alexander Udalov
2016-04-06 14:48:31 +03:00
parent 9c7e4f3dcc
commit 2ab68d53fa
9 changed files with 93 additions and 112 deletions
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.load.java.structure.reflect.isEnumClassOrSpecialized
import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryClass
import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader
import org.jetbrains.kotlin.load.kotlin.header.ReadKotlinClassHeaderAnnotationVisitor
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.Name
import java.lang.reflect.Constructor
import java.lang.reflect.Field
@@ -41,7 +42,7 @@ private val TYPES_ELIGIBLE_FOR_SIMPLE_VISIT = setOf<Class<*>>(
class ReflectKotlinClass private constructor(
val klass: Class<*>,
private val classHeader: KotlinClassHeader
override val classHeader: KotlinClassHeader
) : KotlinJvmBinaryClass {
companion object Factory {
@@ -53,11 +54,11 @@ class ReflectKotlinClass private constructor(
}
}
override fun getLocation() = klass.name.replace('.', '/') + ".class"
override val location: String
get() = klass.name.replace('.', '/') + ".class"
override fun getClassId() = klass.classId
override fun getClassHeader() = classHeader
override val classId: ClassId
get() = klass.classId
override fun loadClassAnnotations(visitor: KotlinJvmBinaryClass.AnnotationVisitor) {
ReflectClassStructure.loadClassAnnotations(klass, visitor)