The Apache 2 license (given in full in LICENSE.txt) applies to all code in this repository which is copyright by JetBrains. The following sections of the repository contain third-party code, to which different licenses may apply:

Kotlin Compiler

The following modules contain third-party code and are incorporated into the Kotlin compiler and/or the Kotlin IntelliJ IDEA plugin:

  • Path: compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MaxStackFrameSizeAndLocalsCalculator.java

    • License: BSD (license/third_party/asm_license.txt)
    • Origin: Derived from ASM: a very small and fast Java bytecode manipulation framework, Copyright (c) 2000-2011 INRIA, France Telecom
  • Path: compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MaxLocalsCalculator.java

    • License: BSD (license/third_party/asm_license.txt)
    • Origin: Derived from ASM: a very small and fast Java bytecode manipulation framework, Copyright (c) 2000-2011 INRIA, France Telecom
  • Path: compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/FastMethodAnalyzer.kt

    • License: BSD (license/third_party/asm_license.txt)
    • Origin: Derived from ASM: a very small and fast Java bytecode manipulation framework, Copyright (c) 2000-2011 INRIA, France Telecom
  • Path: compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/InstructionLivenessAnalyzer.kt

    • License: BSD (license/third_party/asm_license.txt)
    • Origin: Derived from ASM: a very small and fast Java bytecode manipulation framework, Copyright (c) 2000-2011 INRIA, France Telecom
  • Path: compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/ControlFlowGraph.kt

    • License: BSD (license/third_party/asm_license.txt)
    • Origin: Derived from ASM: a very small and fast Java bytecode manipulation framework, Copyright (c) 2000-2011 INRIA, France Telecom
  • Path: compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/fixStack/FastStackAnalyzer.kt

    • License: BSD (license/third_party/asm_license.txt)
    • Origin: Derived from ASM: a very small and fast Java bytecode manipulation framework, Copyright (c) 2000-2011 INRIA, France Telecom
  • Path: compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/temporaryVals/FastStoreLoadAnalyzer.kt

    • License: BSD (license/third_party/asm_license.txt)
    • Origin: Derived from ASM: a very small and fast Java bytecode manipulation framework, Copyright (c) 2000-2011 INRIA, France Telecom
  • Path: core/reflection.jvm/src/kotlin.reflect/jvm/internal/pcollections

  • Path: eval4j/src/org/jetbrains/eval4j/interpreterLoop.kt

    • License: BSD (license/third_party/asm_license.txt)
    • Origin: Derived from ASM: a very small and fast Java bytecode manipulation framework, Copyright (c) 2000-2011 INRIA, France Telecom
  • Path: compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/OptimizationBasicInterpreter.java

    • License: BSD (license/third_party/asm_license.txt)
    • Origin: Derived from ASM: a very small and fast Java bytecode manipulation framework, Copyright (c) 2000-2011 INRIA, France Telecom
  • Path: js/js.ast

  • Path: js/js.inliner/src/org/jetbrains/kotlin/js/inline/FunctionInlineMutator.kt

  • Path: js/js.parser/src/com/google

    • License: Netscape Public License 1.1 (license/third_party/rhino_LICENSE.txt)
    • Origin: Originally part of GWT, (C) 2007-08 Google Inc., distributed under the Apache 2 license. The code is derived from Rhino, (C) 1997-1999 Netscape Communications Corporation, distributed under the Netscape Public License.
  • Path: js/js.translator/qunit/qunit.js

  • Path: libraries/stdlib/src/kotlin/collections

  • Path: libraries/stdlib/unsigned/src/kotlin/UnsignedUtils.kt

  • Path: libraries/stdlib/jvm/src/kotlin/util/MathJVM.kt

  • Path: libraries/stdlib/js/src/kotlin/collections

  • Path: libraries/stdlib/native-wasm/src/kotlin/collections

  • Path: libraries/stdlib/js-v1/src/js/long.js

  • Path: libraries/stdlib/js-v1/src/js/polyfills.js

  • Path: libraries/stdlib/js/src/kotlin/js/math.polyfills.kt

  • Path: libraries/stdlib/wasm/internal/kotlin/wasm/internal/Number2String.kt

  • Path: plugins/lint/android-annotations

  • Path: plugins/lint/lint-api

  • Path: plugins/lint/lint-checks

  • Path: plugins/lint/lint-idea

  • Path: wasm/ir/src/org/jetbrains/kotlin/wasm/ir/convertors

    • License: MIT ([license/third_party/asmble_license.txt][asmble])
    • Origin: Copyright (C) 2018 Chad Retz
  • Path: compiler/tests-common/tests/org/jetbrains/kotlin/codegen/ir/ComposeLikeGenerationExtension.kt

  • Path: libraries/stdlib/wasm/src/kotlin/text/FloatingPointConverter.kt

    • License: MIT ([license/third_party/asmble_license.txt][asmble])
    • Origin: Copyright (C) 2018 Chad Retz
  • Path: libraries/stdlib/wasm/src/kotlin/math/fdlibm/

    • License: SUN ([license/third_party/sun_license.txt][sun])
    • Origin: Copyright (C) 1993 by Sun Microsystems, Inc.
  • Path: kotlin-native/runtime/src/main/cpp/Utils.cpp

Kotlin Test Data

The following source code is used for testing the Kotlin compiler and/or plugin and is not incorporated into any distributions of the compiler, libraries or plugin:

  • Path: third-party/annotations/android

  • Path: third-party/annotations/com/android

  • Path: third-party/annotations/org/eclipse

  • Path: third-party/annotations/androidx

  • Path: third-party/annotations/edu/umd/cs/findbugs

  • Path: third-party/java8-annotations/org/eclipse

  • Path: third-party/annotations/io/reactivex

  • Path: third-party/java8-annotations/org/jspecify

    • License: Apache 2 ([license/third_party/testdata/jspecify_license.txt][jspecify])
    • Origin: JSpecify, Copyright (C) 2020 The JSpecify Authors
  • Path: third-party/java9-annotations/org/jspecify

    • License: Apache 2 ([license/third_party/testdata/jspecify_license.txt][jspecify])
    • Origin: JSpecify, Copyright (C) 2020 The JSpecify Authors
  • Path: third-party/annotations/lombok

  • Path: idea/idea-android/tests/org/jetbrains/kotlin/android/AndroidTestBase.java

  • Path: idea/testData/android/lintQuickfix/requiresApi/RequiresApi.java

  • Path: idea/testData/android/lint/IntRange.java

  • Path: idea/testData/android/lint/RequiresPermission.java

  • Path: libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/allOpenSpring/src/org/springframework/stereotype/Component.java

  • Path: libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/AndroidDaggerProject

  • Path: libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2

  • Path: libraries/tools/kotlin-maven-plugin-test/src/it/test-allopen-spring/src/main/java/org/springframework/stereotype/Component.java

Kotlin Tools and Libraries Tests

The following source code is used for testing the Kotlin tools and/or libraries and is not incorporated into any distributions of the tools or libraries:

Example Code

The following code is provided as examples and is not incorporated into any distributions of the compiler, libraries or plugin: