From 5301f3eb46f2fc6e8988194f4f28820e056e66f6 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Thu, 15 Oct 2015 21:56:39 +0300 Subject: [PATCH] Fix contains usages in compiler. --- .../kotlin/load/kotlin/reflect/ReflectKotlinClass.kt | 12 ++++++------ .../org/jetbrains/kotlin/js/inline/FunctionReader.kt | 8 ++++---- .../js/inline/clean/removeDefaultInitializers.kt | 4 ++-- .../inline/clean/removeUnusedFunctionDefinitions.kt | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/core/descriptors.runtime/src/org/jetbrains/kotlin/load/kotlin/reflect/ReflectKotlinClass.kt b/core/descriptors.runtime/src/org/jetbrains/kotlin/load/kotlin/reflect/ReflectKotlinClass.kt index c9ae67016c5..d2487c43e9c 100644 --- a/core/descriptors.runtime/src/org/jetbrains/kotlin/load/kotlin/reflect/ReflectKotlinClass.kt +++ b/core/descriptors.runtime/src/org/jetbrains/kotlin/load/kotlin/reflect/ReflectKotlinClass.kt @@ -28,15 +28,15 @@ import java.lang.reflect.Field import java.lang.reflect.Method @Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN") -private val TYPES_ELIGIBLE_FOR_SIMPLE_VISIT = setOf( +private val TYPES_ELIGIBLE_FOR_SIMPLE_VISIT = setOf>( // Primitives - javaClass(), javaClass(), javaClass(), javaClass(), - javaClass(), javaClass(), javaClass(), javaClass(), + java.lang.Integer::class.java, java.lang.Character::class.java, java.lang.Byte::class.java, java.lang.Long::class.java, + java.lang.Short::class.java, java.lang.Boolean::class.java, java.lang.Double::class.java, java.lang.Float::class.java, // Arrays of primitives - javaClass(), javaClass(), javaClass(), javaClass(), - javaClass(), javaClass(), javaClass(), javaClass(), + IntArray::class.java, CharArray::class.java, ByteArray::class.java, LongArray::class.java, + ShortArray::class.java, BooleanArray::class.java, DoubleArray::class.java, FloatArray::class.java, // Others - javaClass>(), javaClass() + Class::class.java, String::class.java ) public class ReflectKotlinClass private constructor( diff --git a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/FunctionReader.kt b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/FunctionReader.kt index 9349c1e7992..3517ac5f173 100644 --- a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/FunctionReader.kt +++ b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/FunctionReader.kt @@ -162,10 +162,10 @@ private fun JsFunction.markInlineArguments(descriptor: CallableDescriptor) { namesSet = inlineFuns } - val name = (qualifier as? JsNameRef)?.getName() - - if (name in namesSet) { - x.inlineStrategy = InlineStrategy.IN_PLACE + (qualifier as? JsNameRef)?.name?.let { name -> + if (name in namesSet) { + x.inlineStrategy = InlineStrategy.IN_PLACE + } } } } diff --git a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeDefaultInitializers.kt b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeDefaultInitializers.kt index 4c41c3ccffe..920640f1e2a 100644 --- a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeDefaultInitializers.kt +++ b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeDefaultInitializers.kt @@ -43,9 +43,9 @@ public fun removeDefaultInitializers(arguments: List, parameters: } when { - name in toRemove -> + name != null && name in toRemove -> listOf() - name in toExpand -> + name != null && name in toExpand -> flattenStatement((it as JsIf).getThenStatement()!!) else -> listOf(it) diff --git a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeUnusedFunctionDefinitions.kt b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeUnusedFunctionDefinitions.kt index 90d15e39166..931a454f807 100644 --- a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeUnusedFunctionDefinitions.kt +++ b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeUnusedFunctionDefinitions.kt @@ -39,7 +39,7 @@ public fun removeUnusedFunctionDefinitions(root: JsNode, functions: Map()) { val function = it.getValueExpr() as? JsFunction - function in removable + function != null && function in removable }.accept(root) } @@ -106,6 +106,6 @@ private class UnusedLocalFunctionsCollector(functions: Map) return nameRef?.getName()?.staticRef is JsFunction } - private fun wasProcessed(function: JsFunction?): Boolean = function in processed + private fun wasProcessed(function: JsFunction?): Boolean = function != null && function in processed }