From be2ba61f13d8e8ef1ac3b0afb0fbc0712891d8c9 Mon Sep 17 00:00:00 2001 From: Kerooker Date: Wed, 11 Jul 2018 12:35:47 -0300 Subject: [PATCH] Removed Boolean from ClassMapperLite to avoid compiler confusion --- .../kotlin/metadata/jvm/deserialization/ClassMapperLite.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/deserialization/ClassMapperLite.kt b/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/deserialization/ClassMapperLite.kt index 21360ac2130..b1d7dd0f144 100644 --- a/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/deserialization/ClassMapperLite.kt +++ b/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/deserialization/ClassMapperLite.kt @@ -63,7 +63,9 @@ object ClassMapperLite { add("reflect/KFunction$i", "kotlin/reflect/KFunction") } - for (klass in listOf("Char", "Byte", "Short", "Int", "Float", "Long", "Double", "String", "Enum", "Boolean")) { + //Boolean is purposefully omitted from this list, even though it has a Companion Object. + //This assures that an older compiler won't get confused by the new signature, preventing a bug in compatibility. + for (klass in listOf("Char", "Byte", "Short", "Int", "Float", "Long", "Double", "String", "Enum")) { add("$klass.Companion", "kotlin/jvm/internal/${klass}CompanionObject") } }