From 57849c9dfd1f10be7676c5d872a687f5f92d4550 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 27 May 2016 16:50:11 +0300 Subject: [PATCH] Fix project compilation after introduction of bound references `java` in the package name inside an extension to KClass is now resolved to the extension property `KClass#java`. So `java.X::class` is now equivalent to `this.java.X::class` --- .../src/kotlin/jvm/JvmClassMapping.kt | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/core/runtime.jvm/src/kotlin/jvm/JvmClassMapping.kt b/core/runtime.jvm/src/kotlin/jvm/JvmClassMapping.kt index bceabadebdd..44ba83b50be 100644 --- a/core/runtime.jvm/src/kotlin/jvm/JvmClassMapping.kt +++ b/core/runtime.jvm/src/kotlin/jvm/JvmClassMapping.kt @@ -21,6 +21,14 @@ package kotlin.jvm import kotlin.jvm.internal.ClassBasedDeclarationContainer import kotlin.jvm.internal.Reflection import kotlin.reflect.KClass +import java.lang.Boolean as JavaLangBoolean +import java.lang.Byte as JavaLangByte +import java.lang.Character as JavaLangCharacter +import java.lang.Double as JavaLangDouble +import java.lang.Float as JavaLangFloat +import java.lang.Integer as JavaLangInteger +import java.lang.Long as JavaLangLong +import java.lang.Short as JavaLangShort /** * Returns a Java [Class] instance corresponding to the given [KClass] instance. @@ -60,14 +68,14 @@ val KClass.javaObjectType: Class if (!thisJClass.isPrimitive) return thisJClass as Class return when (thisJClass.canonicalName) { - "boolean" -> java.lang.Boolean::class.java - "char" -> java.lang.Character::class.java - "byte" -> java.lang.Byte::class.java - "short" -> java.lang.Short::class.java - "int" -> java.lang.Integer::class.java - "float" -> java.lang.Float::class.java - "long" -> java.lang.Long::class.java - "double" -> java.lang.Double::class.java + "boolean" -> JavaLangBoolean::class.java + "char" -> JavaLangCharacter::class.java + "byte" -> JavaLangByte::class.java + "short" -> JavaLangShort::class.java + "int" -> JavaLangInteger::class.java + "float" -> JavaLangFloat::class.java + "long" -> JavaLangLong::class.java + "double" -> JavaLangDouble::class.java else -> thisJClass } as Class }