diff --git a/generators/builtins/generateBuiltIns.kt b/generators/builtins/generateBuiltIns.kt index 6c726ac0a5f..d84e0ecee7e 100644 --- a/generators/builtins/generateBuiltIns.kt +++ b/generators/builtins/generateBuiltIns.kt @@ -23,7 +23,7 @@ fun assertExists(file: File) { } val BUILT_INS_NATIVE_DIR_JVM = File("core/builtins/native/") -val BUILT_INS_NATIVE_DIR_JS = File("libraries/stdlib/js-ir/builtins/") +val BUILT_INS_NATIVE_DIR_JS = File("libraries/stdlib/js/builtins/") val BUILT_INS_NATIVE_DIR_WASM = File("libraries/stdlib/wasm/builtins/") val BUILT_INS_NATIVE_DIR_NATIVE = File("kotlin-native/runtime/src/main/kotlin/") val BUILT_INS_SRC_DIR = File("core/builtins/src/") diff --git a/libraries/stdlib/build.gradle.kts b/libraries/stdlib/build.gradle.kts index cabb39dee65..fce5d1bcb44 100644 --- a/libraries/stdlib/build.gradle.kts +++ b/libraries/stdlib/build.gradle.kts @@ -49,12 +49,9 @@ dependencies { val builtinsDir = "${rootDir}/core/builtins" val builtinsSrcDir = "${buildDir}/src/builtin-sources" -val jsCommonDir = "${projectDir}/js" -val jsCommonSrcDir = "${jsCommonDir}/src" -val jsCommonTestSrcDir = "${jsCommonDir}/test" +val jsDir = "${projectDir}/js" // for js-ir -val jsIrDir = "${projectDir}/js-ir" val jsIrMainSources = "${buildDir}/src/jsMainSources" lateinit var jsIrTarget: KotlinJsTargetDsl @@ -329,21 +326,19 @@ kotlin { val prepareJsIrMainSources by tasks.registering(Sync::class) kotlin { srcDir(prepareJsIrMainSources) - srcDir("$jsCommonDir/src").apply { + srcDir("$jsDir/builtins") + srcDir("$jsDir/runtime") + srcDir("$jsDir/src").apply { exclude("kotlin/browser") exclude("kotlin/dom") exclude("kotlinx") exclude("org.w3c") } - srcDir("$jsCommonDir/runtime") - srcDir("$jsIrDir/builtins") - srcDir("$jsIrDir/runtime") - srcDir("$jsIrDir/src") } prepareJsIrMainSources.configure { val unimplementedNativeBuiltIns = - (file("$builtinsDir/native/kotlin/").list()!!.toSortedSet() - file("$jsIrDir/builtins/").list()!!) + (file("$builtinsDir/native/kotlin/").list()!!.toSortedSet() - file("$jsDir/builtins/").list()!!) .map { "core/builtins/native/kotlin/$it" } // TODO: try to reuse absolute paths defined in the beginning @@ -392,7 +387,7 @@ kotlin { dependencies { api(project(":kotlin-test:kotlin-test-js-ir")) } - kotlin.srcDir(jsCommonTestSrcDir) + kotlin.srcDir("${jsDir}/test") } val nativeWasmMain by creating { @@ -602,14 +597,14 @@ tasks { } from("$jsIrMainSources/core/builtins/src") from("$jsIrMainSources/libraries/stdlib/js/src") - from("$jsIrDir/builtins") { + from("$jsDir/builtins") { into("kotlin") exclude("Enum.kt") } - from("$jsIrDir/runtime") { + from("$jsDir/runtime") { into("runtime") } - from("$jsIrDir/src") { + from("$jsDir/src") { include("**/*.kt") } } diff --git a/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts b/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts index f401fd4a59b..51fa07ec9be 100644 --- a/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts +++ b/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts @@ -87,52 +87,48 @@ val commonMainCollectionSources by task { val jsMainSources by task { dependsOn(":kotlin-stdlib:prepareJsIrMainSources") + val jsDir = file("$rootDir/libraries/stdlib/js") - from { - val fullJsMainSources = tasks.getByPath(":kotlin-stdlib:prepareJsIrMainSources") + from("$jsDir/src") { exclude( - listOf( - "libraries/stdlib/js/src/org.w3c/**", - "libraries/stdlib/js/src/kotlin/char.kt", - "libraries/stdlib/js/src/kotlin/collectionJs.kt", - "libraries/stdlib/js/src/kotlin/collections/**", - "libraries/stdlib/js/src/kotlin/time/**", - "libraries/stdlib/js/src/kotlin/console.kt", - "libraries/stdlib/js/src/kotlin/coreDeprecated.kt", - "libraries/stdlib/js/src/kotlin/date.kt", - "libraries/stdlib/js/src/kotlin/GroupingJs.kt", - "libraries/stdlib/js/src/kotlin/ItemArrayLike.kt", - "libraries/stdlib/js/src/kotlin/io/**", - "libraries/stdlib/js/src/kotlin/json.kt", - "libraries/stdlib/js/src/kotlin/promise.kt", - "libraries/stdlib/js/src/kotlin/regexp.kt", - "libraries/stdlib/js/src/kotlin/sequenceJs.kt", - "libraries/stdlib/js/src/kotlin/throwableExtensions.kt", - "libraries/stdlib/js/src/kotlin/text/**", - "libraries/stdlib/js/src/kotlin/reflect/KTypeHelpers.kt", - "libraries/stdlib/js/src/kotlin/reflect/KTypeParameterImpl.kt", - "libraries/stdlib/js/src/kotlin/reflect/KTypeImpl.kt", - "libraries/stdlib/js/src/kotlin/dom/**", - "libraries/stdlib/js/src/kotlin/browser/**", - "libraries/stdlib/js/src/kotlinx/dom/**", - "libraries/stdlib/js/src/kotlinx/browser/**", - "libraries/stdlib/js/src/kotlin/enums/**" - ) + "generated/**", + "org.w3c/**", + "kotlin/char.kt", + "kotlin/collectionJs.kt", + "kotlin/collections/**", + "kotlin/time/**", + "kotlin/console.kt", + "kotlin/coreDeprecated.kt", + "kotlin/date.kt", + "kotlin/GroupingJs.kt", + "kotlin/ItemArrayLike.kt", + "kotlin/io/**", + "kotlin/json.kt", + "kotlin/promise.kt", + "kotlin/regexp.kt", + "kotlin/sequenceJs.kt", + "kotlin/throwableExtensions.kt", + "kotlin/text/**", + "kotlin/reflect/KTypeHelpers.kt", + "kotlin/reflect/KTypeParameterImpl.kt", + "kotlin/reflect/KTypeImpl.kt", + "kotlin/dom/**", + "kotlin/browser/**", + "kotlinx/dom/**", + "kotlinx/browser/**", + "kotlin/enums/**", ) - fullJsMainSources.outputs.files.singleFile } - - for (jsIrSrcDir in listOf("builtins", "runtime", "src")) { - from("$rootDir/libraries/stdlib/js-ir/$jsIrSrcDir") { - exclude( - listOf( - "collectionsHacks.kt", - "generated/**", - "kotlin/text/**" - ) - ) - into("libraries/stdlib/js-ir/$jsIrSrcDir") - } + from { + val fullJsMainSources = tasks.getByPath(":kotlin-stdlib:prepareJsIrMainSources") as Sync + fullJsMainSources.destinationDir + } + from("$jsDir/runtime") { + exclude("collectionsHacks.kt") + into("runtime") + } + from("$jsDir/builtins") { + into("builtins") } from("$rootDir/libraries/stdlib/js-ir-minimal-for-test/src") diff --git a/libraries/stdlib/js/ReadMe.md b/libraries/stdlib/js/ReadMe.md index 42f19f5c098..ff41e19dae6 100644 --- a/libraries/stdlib/js/ReadMe.md +++ b/libraries/stdlib/js/ReadMe.md @@ -1,5 +1,7 @@ -This directory contains shared sources of Kotlin/JS Standard Library for current and IR backends. +## Kotlin Standard Library for JS -Note that `stdlib/js/src/generated` is not shared but used exclusively for current `js-v1` backend. +This directory contains Kotlin/JS specific sources of Kotlin standard library +that are used together common sources to produce the `kotlin-stdlib-js` artifact. -Kotlin/JS Standard Library module is moved to `libraries/stdlib/js-v1`. \ No newline at end of file +Additional sources are copied during the build from `/core/builtins/` except those builtins that +have a more specific version for K/JS (see `builtins` subdirectory). \ No newline at end of file diff --git a/libraries/stdlib/js-ir/builtins/Arrays.kt b/libraries/stdlib/js/builtins/Arrays.kt similarity index 100% rename from libraries/stdlib/js-ir/builtins/Arrays.kt rename to libraries/stdlib/js/builtins/Arrays.kt diff --git a/libraries/stdlib/js-ir/builtins/Boolean.kt b/libraries/stdlib/js/builtins/Boolean.kt similarity index 100% rename from libraries/stdlib/js-ir/builtins/Boolean.kt rename to libraries/stdlib/js/builtins/Boolean.kt diff --git a/libraries/stdlib/js-ir/builtins/Char.kt b/libraries/stdlib/js/builtins/Char.kt similarity index 100% rename from libraries/stdlib/js-ir/builtins/Char.kt rename to libraries/stdlib/js/builtins/Char.kt diff --git a/libraries/stdlib/js-ir/builtins/Collections.kt b/libraries/stdlib/js/builtins/Collections.kt similarity index 100% rename from libraries/stdlib/js-ir/builtins/Collections.kt rename to libraries/stdlib/js/builtins/Collections.kt diff --git a/libraries/stdlib/js-ir/builtins/Enum.kt b/libraries/stdlib/js/builtins/Enum.kt similarity index 100% rename from libraries/stdlib/js-ir/builtins/Enum.kt rename to libraries/stdlib/js/builtins/Enum.kt diff --git a/libraries/stdlib/js-ir/builtins/Library.kt b/libraries/stdlib/js/builtins/Library.kt similarity index 100% rename from libraries/stdlib/js-ir/builtins/Library.kt rename to libraries/stdlib/js/builtins/Library.kt diff --git a/libraries/stdlib/js-ir/builtins/Primitives.kt b/libraries/stdlib/js/builtins/Primitives.kt similarity index 100% rename from libraries/stdlib/js-ir/builtins/Primitives.kt rename to libraries/stdlib/js/builtins/Primitives.kt diff --git a/libraries/stdlib/js-ir/builtins/String.kt b/libraries/stdlib/js/builtins/String.kt similarity index 100% rename from libraries/stdlib/js-ir/builtins/String.kt rename to libraries/stdlib/js/builtins/String.kt diff --git a/libraries/stdlib/js-ir/builtins/Throwable.kt b/libraries/stdlib/js/builtins/Throwable.kt similarity index 100% rename from libraries/stdlib/js-ir/builtins/Throwable.kt rename to libraries/stdlib/js/builtins/Throwable.kt diff --git a/libraries/stdlib/js-ir/runtime/BitMask.kt b/libraries/stdlib/js/runtime/BitMask.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/BitMask.kt rename to libraries/stdlib/js/runtime/BitMask.kt diff --git a/libraries/stdlib/js-ir/runtime/DefaultConstructorMarker.kt b/libraries/stdlib/js/runtime/DefaultConstructorMarker.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/DefaultConstructorMarker.kt rename to libraries/stdlib/js/runtime/DefaultConstructorMarker.kt diff --git a/libraries/stdlib/js-ir/runtime/JsError.kt b/libraries/stdlib/js/runtime/JsError.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/JsError.kt rename to libraries/stdlib/js/runtime/JsError.kt diff --git a/libraries/stdlib/js-ir/runtime/arrays.kt b/libraries/stdlib/js/runtime/arrays.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/arrays.kt rename to libraries/stdlib/js/runtime/arrays.kt diff --git a/libraries/stdlib/js-ir/runtime/bitUtils.kt b/libraries/stdlib/js/runtime/bitUtils.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/bitUtils.kt rename to libraries/stdlib/js/runtime/bitUtils.kt diff --git a/libraries/stdlib/js-ir/runtime/booleanInExternalHelpers.kt b/libraries/stdlib/js/runtime/booleanInExternalHelpers.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/booleanInExternalHelpers.kt rename to libraries/stdlib/js/runtime/booleanInExternalHelpers.kt diff --git a/libraries/stdlib/js-ir/runtime/charSequenceJs.kt b/libraries/stdlib/js/runtime/charSequenceJs.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/charSequenceJs.kt rename to libraries/stdlib/js/runtime/charSequenceJs.kt diff --git a/libraries/stdlib/js-ir/runtime/collectionsHacks.kt b/libraries/stdlib/js/runtime/collectionsHacks.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/collectionsHacks.kt rename to libraries/stdlib/js/runtime/collectionsHacks.kt diff --git a/libraries/stdlib/js-ir/runtime/compareTo.kt b/libraries/stdlib/js/runtime/compareTo.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/compareTo.kt rename to libraries/stdlib/js/runtime/compareTo.kt diff --git a/libraries/stdlib/js-ir/runtime/constructFunction.kt b/libraries/stdlib/js/runtime/constructFunction.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/constructFunction.kt rename to libraries/stdlib/js/runtime/constructFunction.kt diff --git a/libraries/stdlib/js-ir/runtime/coreRuntime.kt b/libraries/stdlib/js/runtime/coreRuntime.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/coreRuntime.kt rename to libraries/stdlib/js/runtime/coreRuntime.kt diff --git a/libraries/stdlib/js-ir/runtime/coroutineInternalJS.kt b/libraries/stdlib/js/runtime/coroutineInternalJS.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/coroutineInternalJS.kt rename to libraries/stdlib/js/runtime/coroutineInternalJS.kt diff --git a/libraries/stdlib/js-ir/runtime/dceUtils.kt b/libraries/stdlib/js/runtime/dceUtils.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/dceUtils.kt rename to libraries/stdlib/js/runtime/dceUtils.kt diff --git a/libraries/stdlib/js-ir/runtime/globalThis.kt b/libraries/stdlib/js/runtime/globalThis.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/globalThis.kt rename to libraries/stdlib/js/runtime/globalThis.kt diff --git a/libraries/stdlib/js-ir/runtime/hacks.kt b/libraries/stdlib/js/runtime/hacks.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/hacks.kt rename to libraries/stdlib/js/runtime/hacks.kt diff --git a/libraries/stdlib/js-ir/runtime/jsIntrinsics.kt b/libraries/stdlib/js/runtime/jsIntrinsics.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/jsIntrinsics.kt rename to libraries/stdlib/js/runtime/jsIntrinsics.kt diff --git a/libraries/stdlib/js-ir/runtime/kotlinHacks.kt b/libraries/stdlib/js/runtime/kotlinHacks.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/kotlinHacks.kt rename to libraries/stdlib/js/runtime/kotlinHacks.kt diff --git a/libraries/stdlib/js-ir/runtime/kotlinJsHacks.kt b/libraries/stdlib/js/runtime/kotlinJsHacks.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/kotlinJsHacks.kt rename to libraries/stdlib/js/runtime/kotlinJsHacks.kt diff --git a/libraries/stdlib/js-ir/runtime/longjs.kt b/libraries/stdlib/js/runtime/longJs.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/longjs.kt rename to libraries/stdlib/js/runtime/longJs.kt diff --git a/libraries/stdlib/js-ir/runtime/math.kt b/libraries/stdlib/js/runtime/math.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/math.kt rename to libraries/stdlib/js/runtime/math.kt diff --git a/libraries/stdlib/js-ir/runtime/metadataUtils.kt b/libraries/stdlib/js/runtime/metadataUtils.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/metadataUtils.kt rename to libraries/stdlib/js/runtime/metadataUtils.kt diff --git a/libraries/stdlib/js-ir/runtime/noPackageHacks.kt b/libraries/stdlib/js/runtime/noPackageHacks.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/noPackageHacks.kt rename to libraries/stdlib/js/runtime/noPackageHacks.kt diff --git a/libraries/stdlib/js-ir/runtime/numberConversion.kt b/libraries/stdlib/js/runtime/numberConversion.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/numberConversion.kt rename to libraries/stdlib/js/runtime/numberConversion.kt diff --git a/libraries/stdlib/js-ir/runtime/rangeTo.kt b/libraries/stdlib/js/runtime/rangeTo.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/rangeTo.kt rename to libraries/stdlib/js/runtime/rangeTo.kt diff --git a/libraries/stdlib/js-ir/runtime/reflectRuntime.kt b/libraries/stdlib/js/runtime/reflectRuntime.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/reflectRuntime.kt rename to libraries/stdlib/js/runtime/reflectRuntime.kt diff --git a/libraries/stdlib/js-ir/runtime/runtimeForStdLib.kt b/libraries/stdlib/js/runtime/runtimeForStdLib.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/runtimeForStdLib.kt rename to libraries/stdlib/js/runtime/runtimeForStdLib.kt diff --git a/libraries/stdlib/js-ir/runtime/typeCheckUtils.kt b/libraries/stdlib/js/runtime/typeCheckUtils.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/typeCheckUtils.kt rename to libraries/stdlib/js/runtime/typeCheckUtils.kt diff --git a/libraries/stdlib/js-ir/runtime/unlinked.kt b/libraries/stdlib/js/runtime/unlinked.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/unlinked.kt rename to libraries/stdlib/js/runtime/unlinked.kt diff --git a/libraries/stdlib/js-ir/runtime/void.kt b/libraries/stdlib/js/runtime/void.kt similarity index 100% rename from libraries/stdlib/js-ir/runtime/void.kt rename to libraries/stdlib/js/runtime/void.kt diff --git a/libraries/stdlib/js-ir/src/function-type-interface/kotlin-coroutines-package.kt b/libraries/stdlib/js/src/function-type-interface/kotlin-coroutines-package.kt similarity index 100% rename from libraries/stdlib/js-ir/src/function-type-interface/kotlin-coroutines-package.kt rename to libraries/stdlib/js/src/function-type-interface/kotlin-coroutines-package.kt diff --git a/libraries/stdlib/js-ir/src/function-type-interface/kotlin-package.kt b/libraries/stdlib/js/src/function-type-interface/kotlin-package.kt similarity index 100% rename from libraries/stdlib/js-ir/src/function-type-interface/kotlin-package.kt rename to libraries/stdlib/js/src/function-type-interface/kotlin-package.kt diff --git a/libraries/stdlib/js-ir/src/function-type-interface/kotlin-reflect-package.kt b/libraries/stdlib/js/src/function-type-interface/kotlin-reflect-package.kt similarity index 100% rename from libraries/stdlib/js-ir/src/function-type-interface/kotlin-reflect-package.kt rename to libraries/stdlib/js/src/function-type-interface/kotlin-reflect-package.kt diff --git a/libraries/stdlib/js-ir/src/kotlin/coroutines_13/CoroutineImpl.kt b/libraries/stdlib/js/src/kotlin/coroutines/CoroutineImpl.kt similarity index 100% rename from libraries/stdlib/js-ir/src/kotlin/coroutines_13/CoroutineImpl.kt rename to libraries/stdlib/js/src/kotlin/coroutines/CoroutineImpl.kt diff --git a/libraries/stdlib/js-ir/src/kotlin/coroutines_13/IntrinsicsJs.kt b/libraries/stdlib/js/src/kotlin/coroutines/intrinsics/IntrinsicsJs.kt similarity index 100% rename from libraries/stdlib/js-ir/src/kotlin/coroutines_13/IntrinsicsJs.kt rename to libraries/stdlib/js/src/kotlin/coroutines/intrinsics/IntrinsicsJs.kt diff --git a/libraries/stdlib/js-ir/src/kotlin/exceptions.kt b/libraries/stdlib/js/src/kotlin/exceptions.kt similarity index 100% rename from libraries/stdlib/js-ir/src/kotlin/exceptions.kt rename to libraries/stdlib/js/src/kotlin/exceptions.kt diff --git a/libraries/stdlib/js-ir/src/kotlin/math_js-ir.kt b/libraries/stdlib/js/src/kotlin/math_js-ir.kt similarity index 100% rename from libraries/stdlib/js-ir/src/kotlin/math_js-ir.kt rename to libraries/stdlib/js/src/kotlin/math_js-ir.kt diff --git a/libraries/stdlib/js-ir/src/kotlin/numbers_js-ir.kt b/libraries/stdlib/js/src/kotlin/numbers_js-ir.kt similarity index 100% rename from libraries/stdlib/js-ir/src/kotlin/numbers_js-ir.kt rename to libraries/stdlib/js/src/kotlin/numbers_js-ir.kt diff --git a/libraries/stdlib/js-ir/src/kotlin/reflect/createInstance.kt b/libraries/stdlib/js/src/kotlin/reflect/createInstance.kt similarity index 100% rename from libraries/stdlib/js-ir/src/kotlin/reflect/createInstance.kt rename to libraries/stdlib/js/src/kotlin/reflect/createInstance.kt diff --git a/libraries/stdlib/js-ir/src/kotlin/jsClass_js-ir.kt b/libraries/stdlib/js/src/kotlin/reflect/jsClass_js-ir.kt similarity index 100% rename from libraries/stdlib/js-ir/src/kotlin/jsClass_js-ir.kt rename to libraries/stdlib/js/src/kotlin/reflect/jsClass_js-ir.kt diff --git a/libraries/stdlib/js-ir/src/kotlin/reflection_js-ir.kt b/libraries/stdlib/js/src/kotlin/reflectionJs.kt similarity index 100% rename from libraries/stdlib/js-ir/src/kotlin/reflection_js-ir.kt rename to libraries/stdlib/js/src/kotlin/reflectionJs.kt diff --git a/libraries/stdlib/js-ir/src/kotlin/text/numberConversions_js-ir.kt b/libraries/stdlib/js/src/kotlin/text/numberConversions_js-ir.kt similarity index 100% rename from libraries/stdlib/js-ir/src/kotlin/text/numberConversions_js-ir.kt rename to libraries/stdlib/js/src/kotlin/text/numberConversions_js-ir.kt diff --git a/license/README.md b/license/README.md index 60cabbb1556..969a297a3d2 100644 --- a/license/README.md +++ b/license/README.md @@ -81,14 +81,10 @@ the Kotlin IntelliJ IDEA plugin: - License: Apache 2 ([license/third_party/gwt_license.txt][gwt]) - Origin: Derived from GWT, (C) 2007-08 Google Inc. - - Path: libraries/stdlib/js-v1/src/js/long.js + - Path: libraries/stdlib/js/runtime/longJs.kt - License: Apache 2 ([license/third_party/closure-compiler_LICENSE.txt][closure-compiler]) - Origin: Google Closure Library, Copyright 2009 The Closure Library Authors - - Path: libraries/stdlib/js-v1/src/js/polyfills.js - - License: Boost Software License 1.0 ([license/third_party/boost_LICENSE.txt][boost]) - - Origin: Derived from boost special math functions, Copyright Eric Ford & Hubert Holin 2001. - - Path: libraries/stdlib/js/src/kotlin/js/math.polyfills.kt - License: Boost Software License 1.0 ([license/third_party/boost_LICENSE.txt][boost]) - Origin: Derived from boost special math functions, Copyright Eric Ford & Hubert Holin 2001.