diff --git a/core/descriptors.jvm/src/org/jetbrains/kotlin/builtins/jvm/JvmBuiltInsSettings.kt b/core/descriptors.jvm/src/org/jetbrains/kotlin/builtins/jvm/JvmBuiltInsSettings.kt index de849d47cd2..b9edcdb34df 100644 --- a/core/descriptors.jvm/src/org/jetbrains/kotlin/builtins/jvm/JvmBuiltInsSettings.kt +++ b/core/descriptors.jvm/src/org/jetbrains/kotlin/builtins/jvm/JvmBuiltInsSettings.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.builtins.jvm -import org.jetbrains.kotlin.builtins.BuiltInsInitializer import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.annotations.Annotations @@ -500,13 +499,9 @@ private class FallbackBuiltIns private constructor() : KotlinBuiltIns(LockBasedS } companion object { - private val initializer = BuiltInsInitializer { - FallbackBuiltIns() - } - @JvmStatic - val Instance: KotlinBuiltIns - get() = initializer.get() + val Instance: KotlinBuiltIns = + FallbackBuiltIns() } override fun getPlatformDependentDeclarationFilter() = PlatformDependentDeclarationFilter.All diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/BuiltInsInitializer.kt b/core/descriptors/src/org/jetbrains/kotlin/builtins/BuiltInsInitializer.kt deleted file mode 100644 index fe2aeae22fa..00000000000 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/BuiltInsInitializer.kt +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2010-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.builtins - -import org.jetbrains.kotlin.utils.sure - -class BuiltInsInitializer( - private val constructor: () -> T -) { - @Volatile private var instance: T? = null - - @Volatile private var initializing: Boolean = false - - private var initializationFailed: Throwable? = null - - @Synchronized private fun initialize() { - if (instance == null) { - if (initializationFailed != null) { - throw IllegalStateException( - "Built-in library initialization failed previously: " + initializationFailed!!, initializationFailed) - } - if (initializing) { - throw IllegalStateException("Built-in library initialization loop") - } - initializing = true - try { - instance = constructor() - } - catch (e: Throwable) { - initializationFailed = e - throw IllegalStateException("Built-in library initialization failed. " + "Please ensure you have kotlin-stdlib.jar in the classpath: " + e, e) - } - finally { - initializing = false - } - } - } - - fun get(): T { - if (initializing) { - synchronized (this) { - return instance.sure { - "Built-ins are not initialized (note: We are under the same lock as initializing and instance)" - } - } - } - if (instance == null) { - initialize() - } - return instance!! - } -} \ No newline at end of file diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/DefaultBuiltIns.kt b/core/descriptors/src/org/jetbrains/kotlin/builtins/DefaultBuiltIns.kt index b744dda05e5..dcead6ce433 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/DefaultBuiltIns.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/DefaultBuiltIns.kt @@ -24,12 +24,8 @@ class DefaultBuiltIns private constructor() : KotlinBuiltIns(LockBasedStorageMan } companion object { - private val initializer = BuiltInsInitializer { - DefaultBuiltIns() - } - @JvmStatic - val Instance: DefaultBuiltIns - get() = initializer.get() + val Instance: DefaultBuiltIns = + DefaultBuiltIns() } -} \ No newline at end of file +}