[kotlin compiler][update] 1.4.0-dev-8041

* f3830cb07e4 - (tag: build-1.4.0-dev-8041) Make KotlinNativeTasks.konanTargetsForManifest non-nullable, otherwise Gradle fails (vor 3 Tagen) <Dmitry Savvinov>
* 686d00ddf54 - (tag: build-1.4.0-dev-8029) Collect and pass to K2Native actual targets of native-shared compilation (vor 4 Tagen) <Dmitry Savvinov>
* 550aa1ba59b - (tag: build-1.4.0-dev-8028) Remove partial quotes in csv files (vor 4 Tagen) <Yunir Salimzyanov>
* cf8b29a6368 - Add missing commas to csv files (vor 4 Tagen) <Yunir Salimzyanov>
* 856d8e64a28 - Escape fields with extra commas in csv for muted tests (vor 4 Tagen) <Yunir Salimzyanov>
* 5d60572cfd9 - (tag: build-1.4.0-dev-8017) Temporarily disabled optimization because of failing tests (vor 4 Tagen) <Valentin Kipyatkov>
* 1128d659a4b - (tag: build-1.4.0-dev-8010) (CoroutineDebugger) No restored frames in coroutine context found. (vor 4 Tagen) <Vladimir Ilmov>
* 87393398f28 - (tag: build-1.4.0-dev-8009) FIR serializer: fix isLambda copying (vor 4 Tagen) <Mikhail Glukhikh>
* d716c47f176 - (tag: build-1.4.0-dev-8008) Gradle Project importing: move ModelBuilders and ModelProviders to kotlin-gradle-tooling (vor 4 Tagen) <Natalia Selezneva>
* 6ca3a994d95 - (tag: build-1.4.0-dev-8007) [FIR2IR] Disable initializer generation for external enum entries (vor 4 Tagen) <simon.ogorodnik>
* 4133749ee73 - [FIR2IR] Fix property fake overrides (vor 4 Tagen) <simon.ogorodnik>
* a11866ab5a5 - [FIR2IR] Fix labeled this references (vor 4 Tagen) <simon.ogorodnik>
* 3d60fdfed18 - Raw FIR: don't check class kind for data / inline modifiers (vor 4 Tagen) <Mikhail Glukhikh>
* 9a561f4a7c7 - FIR2IR: generate synthetic members for inline class (vor 4 Tagen) <Jinseong Jeon>
* ef8bcceb8ea - [FIR2IR] Use only data class primary constructor parameters for equals (vor 4 Tagen) <simon.ogorodnik>
* 0890b8bad36 - (tag: build-1.4.0-dev-8005) FIR2IR: set superQualifierSymbol for property access (vor 4 Tagen) <Jinseong Jeon>
* a084c5bf7da - FIR2IR: populate overriddenSymbols for overriding properties (vor 4 Tagen) <Jinseong Jeon>
* 02aa11a0a08 - (tag: build-1.4.0-dev-8004) [FIR] Support for EXPOSED_TYPE_PARAMETER_BOUND (vor 4 Tagen) <rapturemain>
* bfffcf6b238 - (tag: build-1.4.0-dev-7991) Update BoxJsTest expected reachable nodes because of new collection builders (vor 4 Tagen) <Abduqodiri Qurbonzoda>
* ec166db5061 - Implement collection builders (vor 4 Tagen) <Abduqodiri Qurbonzoda>
* 1bf41ba7d21 - (tag: build-1.4.0-dev-7988) Remove 191 support because of outdated platform whitelist API (vor 4 Tagen) <Anton Yalyshev>
* 658c30b6b32 - Combine usage of kotlin.ide.settings FUS collector #KT-38620 Fixed (vor 4 Tagen) <Anton Yalyshev>
* a407605f63c - (tag: build-1.4.0-dev-7987) Turn off highlight perf tests for `kotlin/gradle/*kts` (vor 5 Tagen) <Vladimir Dolzhenko>
* df4f1365ec2 - (tag: build-1.4.0-dev-7976) PSI2IR: support SAM conversion to substituted types (vor 5 Tagen) <pyos>
* d9fd51c6080 - (tag: build-1.4.0-dev-7973) JVM_IR: basic suspend conversion on argument test passed (vor 5 Tagen) <Dmitry Petrov>
* 819634c4cdc - (tag: build-1.4.0-dev-7972) Official logo for Toolbox icon & IDEA Welcome screen (vor 5 Tagen) <Victor Turansky>
* 54cfd1f6250 - (tag: build-1.4.0-dev-7970) [FIR] Handle protected effective visibility relation properly (vor 5 Tagen) <rapturemain>
* 07e9b9517ac - [FIR] Extract interface FirEffectiveVisibility (vor 5 Tagen) <Mikhail Glukhikh>
* e81c2c5c6d6 - FirStatusResolveTransformer: don't enter property accessor bodies (vor 5 Tagen) <Mikhail Glukhikh>
* 9e413bde115 - [FIR] Don't visit locals in status resolve transformer (vor 5 Tagen) <Mikhail Glukhikh>
* aafb4482c34 - (tag: build-1.4.0-dev-7968) CodeToInlineBuilder: cleanup code (vor 5 Tagen) <Dmitry Gridin>
* bcefee0105b - Replace deprecated symbol usage: do not add 'this' receiver for imported object function (vor 5 Tagen) <Toshiaki Kameyama>
* 9d27ba5b595 - (tag: build-1.4.0-dev-7965) HMPP: Backward-compatible Kotlin facet serialization (vor 5 Tagen) <Dmitriy Dolovov>
* 1a26d2e157a - (tag: build-1.4.0-dev-7957) Fix exception during resolution of incorrect `fun` interface (vor 5 Tagen) <Mikhail Zarechenskiy>
* 780bc1f607c - Fix `fun` interfaces with extension receivers (vor 5 Tagen) <Mikhail Zarechenskiy>
* fa50d66afee - [NI] Fix SAM conversion for projected-out members (vor 5 Tagen) <Mikhail Zarechenskiy>
* e3fe1bcf7c3 - [NI] Place varargs at the end of value arguments list (vor 5 Tagen) <Mikhail Zarechenskiy>
* 639af691856 - (tag: build-1.4.0-dev-7954, tag: build-1.4.0-dev-7952) Minor. Fix test data (vor 5 Tagen) <Mikhail Bogdanov>
* e17e3401eb6 - (tag: build-1.4.0-dev-7951) [Gradle, JS] Use disambiguation classifier in platform only for both (vor 5 Tagen) <Ilya Goncharov>
* 9fa8e009c69 - (tag: build-1.4.0-dev-7948) Support equals/hashCode for fun interfaces in JVM and JVM_IR (vor 5 Tagen) <Alexander Udalov>
* de461dd9a50 - Minor, extract function in FunctionReferenceLowering (vor 5 Tagen) <Alexander Udalov>
* b77e5a21ecc - Report error if fun interface method has JVM name getFunctionDelegate (vor 5 Tagen) <Alexander Udalov>
* 55934ff63ae - (tag: build-1.4.0-dev-7945) Fixed collecting MPP targets in gradle statistics (vor 5 Tagen) <Andrey Uskov>
* 96887d6e9fe - Fixed import of JS source sets with Both mode (vor 5 Tagen) <Andrey Uskov>
* 1f40a71cbe8 - (tag: build-1.4.0-dev-7944) [Gradle, JS] No create target on import if no target in DSL (vor 5 Tagen) <Ilya Goncharov>
* 84ad9dd8ded - (tag: build-1.4.0-dev-7941) Increase warm-up, test iterations in PerformanceTypingIndentationTest (vor 5 Tagen) <Vladimir Dolzhenko>
* 4a0d1b0b9d8 - (tag: build-1.4.0-dev-7939) Use precalculated intersection type in JVM backend (vor 5 Tagen) <Ilya Chernikov>
* 45ac81c585a - Do not check type depth for constrains generated on subtyping (vor 5 Tagen) <Ilya Chernikov>
* 1bcccca0072 - (tag: build-1.4.0-dev-7928) j2k: insert kotlin.Throws annotation instead of kotlin.jvm.Throws (vor 5 Tagen) <Ilya Gorbunov>
* 844e567421c - AddThrowsAnnotationIntention: fix compatibility for old annotation (vor 5 Tagen) <Dmitry Gridin>
* 6bf85beba77 - AddThrowsAnnotationIntention: add common kotlin.Throws (vor 5 Tagen) <Ilya Gorbunov>
* 0f9718bf0df - Add test on kotlin.native.Throws ambiguity (vor 5 Tagen) <Denis Zharkov>
* c6ae423816b - Add tests for KT-35468 (vor 5 Tagen) <Denis Zharkov>
* 9c2e149b5b5 - Expect/actual kotlin.Throws annotation (vor 5 Tagen) <Ilya Gorbunov>
* 9c0b49d3edd - Advance bootstrap to 1.4.0-dev-7751 (vor 5 Tagen) <Ilya Gorbunov>
* 2f015b4c7ab - (tag: build-1.4.0-dev-7927) Fix `testKotlin_moveTopLevelDeclarations_movePrivatePropertyWithDefaultAccessors_MovePrivatePropertyWithDefaultAccessors` test (vor 5 Tagen) <Dmitry Gridin>
* b1bef8485d2 - (tag: build-1.4.0-dev-7925) [Commonizer] Capitalize messages to be printed at console (vor 5 Tagen) <Dmitriy Dolovov>
* 0f6dbed03ba - [Commonizer] Don't fail when one of targets is not supported at the host (vor 5 Tagen) <Dmitriy Dolovov>
* 580ffc1d993 - (tag: build-1.4.0-dev-7924) Reformat FrameworkAdapter example code in comment (vor 5 Tagen) <Mike Samuel>
* f4cea1b0cdf - (tag: build-1.4.0-dev-7923) Fix typo in KDoc for Element.getPolymorphicElement (vor 5 Tagen) <Vadim Semenov>
* 886c4eb492e - (tag: build-1.4.0-dev-7919) Report kotlin bootstrap version for integrity test build (vor 5 Tagen) <Ilya Gorbunov>
* 86d098b8adf - Infer internal artifacts bootstrap repository (vor 5 Tagen) <Ilya Gorbunov>
* f9bb07e128f - (tag: build-1.4.0-dev-7916) JVM_IR: generate flags for adapted function references (vor 5 Tagen) <Dmitry Petrov>
* 94bc8eaf831 - (tag: build-1.4.0-dev-7909) Wizard: remove copyrights from iOS template (vor 6 Tagen) <Ilya Kirillov>
* 6a9a97006b6 - Wizard: fix not created by default xcode framework in shared module (vor 6 Tagen) <Ilya Kirillov>
* 47125553cbd - Wizard: fix android project template (vor 6 Tagen) <Ilya Kirillov>
* 72030ee94ee - Wizard: do not run whole JPS project importing in write action (vor 6 Tagen) <Ilya Kirillov>
* b404e6324f9 - Wizard: always allow user to choose project JDK (vor 6 Tagen) <Ilya Kirillov>
* 56eebed1d83 - Wizard: fix kotlin and resources directory names in Android module (vor 6 Tagen) <Ilya Kirillov>
* ccb8a93ee30 - Wizard: minor, move message to bundle (vor 6 Tagen) <Ilya Kirillov>
* 1a68e40ebd0 - Wizard: add common target to FullStackWebApplicationProjectTemplate (vor 6 Tagen) <Ilya Kirillov>
* 78b5be94e9d - Wizard: validate project path for emptiness (vor 6 Tagen) <Ilya Kirillov>
* 5f79ffbe50f - Wizard: reduce buildsystem buttons sizes (vor 6 Tagen) <Ilya Kirillov>
* d9889e449fa - Wizard: do not create project with snapshot version (vor 6 Tagen) <Ilya Kirillov>
* 730cce93ed4 - Wizard: add arrows for module selection popup (vor 6 Tagen) <Ilya Kirillov>
* 7286fcbf39b - Wizard: use new api from gradle to import project on >= 193 (vor 6 Tagen) <Ilya Kirillov>
* e6d8e67a3ac - (tag: build-1.4.0-dev-7907) [FIR] Generify ComponentArray (vor 6 Tagen) <Dmitriy Novozhilov>
* a4a58a9d74a - [FIR] Get rid of FirSession.service (vor 6 Tagen) <Dmitriy Novozhilov>
* 52933e161e4 - (tag: build-1.4.0-dev-7905) Use AssociatedObjects on JS too (vor 6 Tagen) <Leonid Startsev>
* 905a8ca0d07 - (tag: build-1.4.0-dev-7904) Reflect: Handle methods with inline class default parameters (vor 6 Tagen) <Steven Schäfer>
* 86d6470ced9 - (tag: build-1.4.0-dev-7903) Update test data forgotten in 36a57973 (vor 6 Tagen) <Pavel Kirpichenkov>
* 2992d49a1d5 - (tag: build-1.4.0-dev-7898, origin/rr/abannykh/fix-findAssociatedObjects) JS IR: fix `findAssociatedObjects` for primitive type KClass'es (vor 6 Tagen) <Anton Bannykh>
* 878e838f0b3 - (tag: build-1.4.0-dev-7895) JVM: Suspend converted references inherit AdaptedFunctionReference (vor 6 Tagen) <Dmitry Petrov>
* deecb6a28ee - (tag: build-1.4.0-dev-7892) JVM: move synthetic line number generation to the inliner (vor 6 Tagen) <pyos>
* 91b6daeaccc - JVM: fix debug info for script file classes (vor 6 Tagen) <pyos>
* 1e8a660fda1 - IR: use default parameters in Ir...Impl constructors (vor 6 Tagen) <Georgy Bronnikov>
* 9561cc82702 - JVM_IR: JvmNameProvider (vor 6 Tagen) <Georgy Bronnikov>
* 52df54ae49d - IR: add NameProvider (vor 6 Tagen) <Georgy Bronnikov>
* 82d55e1a67e - Minor: remove unused parameters, reformat code (vor 6 Tagen) <Georgy Bronnikov>
* 6372c01e49c - (tag: build-1.4.0-dev-7890) Added missing specificity comparator to FIR (vor 6 Tagen) <Alexander Podkhalyuzin>
* b6b8dd1eab7 - (tag: build-1.4.0-dev-7889) JVM IR: Avoid unnecessary CHECKCASTs in enum classes (vor 6 Tagen) <Steven Schäfer>
* cb3a4727cfd - (tag: build-1.4.0-dev-7888) JVM IR: Optimize field initializers in secondary constructors (vor 6 Tagen) <Steven Schäfer>
* fed6272de4c - (tag: build-1.4.0-dev-7887) [JVM_IR] Use ifne and ifeq for integer zero comparisons. (vor 6 Tagen) <Mads Ager>
* e8a6ddceaa3 - (tag: build-1.4.0-dev-7884) JS IR: hide runtime helpers from users (vor 6 Tagen) <Anton Bannykh>
* 9f20e65595f - (tag: build-1.4.0-dev-7881) FIR resolve completion: extract prepareQualifiedTransform (vor 6 Tagen) <Mikhail Glukhikh>
* eecf33a31db - FIR resolve completion: add delegated completion for variable access (vor 6 Tagen) <Mikhail Glukhikh>
* 4866e7a9888 - FIR resolve completion: move transformFunctionCall upper (vor 6 Tagen) <Mikhail Glukhikh>
* d910a4cf233 - FirCallResolver: perform completion for var access with ILT receiver (vor 6 Tagen) <Mikhail Glukhikh>
* b0b198119da - FIR resolve completion: transform receivers for variable accesses (vor 6 Tagen) <Mikhail Glukhikh>
* ab79e60b633 - FIR2IR: consider integer literal type as error type (vor 6 Tagen) <Mikhail Glukhikh>
* 205f29128af - (tag: build-1.4.0-dev-7880) Updated testdata to a new generation strategy (vor 6 Tagen) <Leonid Startsev>
* a11e6b2eeda - (tag: build-1.4.0-dev-7876) KotlinChangePackageRefactoring: fix formatting for long qualifier names (vor 6 Tagen) <Dmitry Gridin>
* db5751616a5 - MoveKotlinDeclarationsProcessor: fix formatting for long qualifier names (vor 6 Tagen) <Dmitry Gridin>
* 2b8bb307448 - (tag: build-1.4.0-dev-7870) Change signature: fix formatting for long qualifier names (vor 6 Tagen) <Dmitry Gridin>
* 8336119557c - (tag: build-1.4.0-dev-7868) Kotlin/Native 1.4-M3-dev-15453 (vor 6 Tagen) <Sergey Igushkin>
* 94346e8a03d - (tag: build-1.4.0-dev-7867) Add JVM target bytecode version 14 (vor 6 Tagen) <Alexander Udalov>
* 098a935aa7f - Fix exponential string table size of anonymous classes during inlining (vor 6 Tagen) <Alexander Udalov>
* 65065a15a3a - (tag: build-1.4.0-dev-7864) FIR DFA: stabilize type order (vor 6 Tagen) <Mikhail Glukhikh>
* 36a57973b5f - (tag: build-1.4.0-dev-7858) [NI] CST: remove max depth offset from recursion detection (vor 6 Tagen) <Pavel Kirpichenkov>
* dfc86dbf631 - [NI] Avoid type rendering in member scope for intersection type (vor 6 Tagen) <Pavel Kirpichenkov>
* 802372ceff4 - (tag: build-1.4.0-dev-7857) PSI2IR: suspend conversion on arbitrary arguments (vor 6 Tagen) <Dmitry Petrov>
* e3d33cdc107 - (tag: build-1.4.0-dev-7856, origin/rr/gradle/igushkin/mpp-drop-gradle-below-6-0) Drop Gradle < 6.0 support for Kotlin MPP Gradle plugin (vor 6 Tagen) <Sergey Igushkin>
* 89777f8bf3c - (tag: build-1.4.0-dev-7853) Move GradleQuickFixTest checks in EDT Thread (vor 6 Tagen) <Andrey Uskov>
* aa6801569a3 - Fix compilation of ExternalSystem tests in legacy branches (vor 6 Tagen) <Andrey Uskov>
* 3b7fbeb71b1 - (tag: build-1.4.0-dev-7849) Fallback to M2-implementation of dependsOn in AS + M3 (vor 6 Tagen) <Dmitry Savvinov>
* 151890dde5a - (tag: build-1.4.0-dev-7844) Add test for overloading expect MemberDescriptors discrimination (vor 6 Tagen) <Dmitriy Dolovov>
* 90e888a1b60 - Discriminate overloading expect MemberDescriptors (vor 6 Tagen) <Dmitriy Dolovov>
* 34ae35b2aa6 - (tag: build-1.4.0-dev-7838) Move FirJvmClassCodegen inside fir:fir2ir:jvm-backend #KT-38156 Fixed (vor 6 Tagen) <Mikhail Glukhikh>
* dbd4cecff6a - FIR serializer: accept FirClass instead of IrClass to get rid of IR deps (vor 6 Tagen) <Mikhail Glukhikh>
* 8d85e7a4019 - FIR serializer: add forgotten type alias serialization (vor 6 Tagen) <Mikhail Glukhikh>
* a545ec41a03 - FIR serializer: consider exotic types as errors (breaks 4 BB tests) (vor 6 Tagen) <Mikhail Glukhikh>
* ec7522c6756 - FIR serializer: introduce nonSourceAnnotations (vor 6 Tagen) <Mikhail Glukhikh>
* 7adb4eb8727 - FIR serializer: extract annotation argument visiting to separate object (vor 6 Tagen) <Mikhail Glukhikh>
* 394fa7affc5 - FIR serializer: add bad test data changes (vor 6 Tagen) <Mikhail Glukhikh>
* f98c73cb305 - [FIR] Support FirMetadataSource.File in FIR2IR & serializer (KT-38156) (vor 6 Tagen) <Mikhail Glukhikh>
* 95a17eadb27 - FIR serializer: refactor typeProto + add some suspend types support (vor 6 Tagen) <Mikhail Glukhikh>
* 6af66cd3a2b - FIR: don't serialize static enum members fixing testEnumNameOrdinal (vor 6 Tagen) <Mikhail Glukhikh>
* c2c85365e6f - Use FIR metadata in FIR2IR data class member generator (KT-38156) (vor 6 Tagen) <Mikhail Glukhikh>
* c6c848f9291 - Introduce & use FirJvmSerializerExtension & FirBasedClassCodegen (vor 6 Tagen) <Mikhail Glukhikh>
* 7ae98485b88 - IR: separate ClassCodegen & DescriptorBasedClassCodegen (vor 6 Tagen) <Mikhail Glukhikh>
* 03be3c108a9 - [FIR2IR] Introduce FirMetadataSource and use it (KT-38156) (vor 6 Tagen) <Mikhail Glukhikh>
* 2aae735a8ee - Introduce FIR serializer (isn't in use yet, KT-38156) (vor 6 Tagen) <Mikhail Glukhikh>
* 2c63a15af2d - (tag: build-1.4.0-dev-7836) Add a test for KT-38338 (vor 6 Tagen) <Sergey Igushkin>
* ce7ea001787 - (tag: build-1.4.0-dev-7829) Added missed language for fileType (vor 7 Tagen) <Vladimir Dolzhenko>
* 000757c75b1 - (tag: build-1.4.0-dev-7817) JVM: Add suspend conversion bit for function references equals/hashCode (vor 7 Tagen) <Dmitry Petrov>
* c7a96810bf7 - JVM: Suspend conversion for function references (vor 7 Tagen) <Dmitry Petrov>
* 6b9a7464f5b - PSI2IR: Support suspend conversion for function references (vor 7 Tagen) <Dmitry Petrov>
* 10cda4b54fe - (tag: build-1.4.0-dev-7813) [FIR] Minor: regenerate diagnostic tests (vor 7 Tagen) <Mikhail Glukhikh>
* de28a41caa9 - (tag: build-1.4.0-dev-7802) KT-32163: Open Quick Documentation when cursor inside function / constructor brackets (#2502) (vor 7 Tagen) <Yuku Kotani>
* 6b5b23f37b3 - (tag: build-1.4.0-dev-7800) [Gradle, JS] Remove propagation moduleName from legacy to ir target (vor 7 Tagen) <Ilya Goncharov>
* e0ca94279aa - Move vFile.isValid() check inside read action (vor 10 Tagen) <Matthew Gharrity>
* 442331acc9e - (tag: build-1.4.0-dev-7796) IR JS: support findAssociatedObject feature (KT-37418 fixed) (vor 7 Tagen) <Anton Bannykh>
* f4b6e1bff64 - (tag: build-1.4.0-dev-7794) Reworked deprecated fileTypeFactory EP usage (vor 7 Tagen) <Vladimir Dolzhenko>
* 639cc69920e - Reworked deprecated defaultLiveTemplatesProvider EP usage (vor 7 Tagen) <Vladimir Dolzhenko>
* 6d7e428d89e - (tag: build-1.4.0-dev-7792) Get first platform from platformCompilations instead host platform. (vor 7 Tagen) <Konstantin Tskhovrebov>
* 90fd2c6c4c6 - (tag: build-1.4.0-dev-7788) FirCallResolver: perform int literal approximation also for var access (vor 7 Tagen) <Mikhail Glukhikh>
* 5446795d122 - FirCallResolver: reuse collectCandidates for variable access (vor 7 Tagen) <Mikhail Glukhikh>
* 4230a174274 - (tag: build-1.4.0-dev-7787) Revert "Force bootstrap stdlib in modules that used in composite build" (vor 7 Tagen) <Nikolay Krasko>
* ad76562cbc3 - (tag: build-1.4.0-dev-7786) Force bootstrap stdlib in modules that used in composite build (vor 7 Tagen) <Nikolay Krasko>
* 49593d308c8 - (tag: build-1.4.0-dev-7775) [FIR] Add EXPOSED_SUPER_(CLASS/INTERFACE) checker (vor 7 Tagen) <rapturemain>
* ef09850df8c - (tag: build-1.4.0-dev-7771) FIR2IR: set superQualifierSymbol for super call (vor 7 Tagen) <Jinseong Jeon>
* 57fe01c375d - FIR2IR: populate overriddenSymbols for overriding functions (vor 7 Tagen) <Jinseong Jeon>
* b51649dcc6f - (tag: build-1.4.0-dev-7764) Fix tests compilation in 201 (vor 7 Tagen) <Andrey Uskov>
1 file changed
tree: bb3df6d9596c45c5fbc946a0d0bcb76b23ed192d
  1. .github/
  2. .idea/
  3. backend.native/
  4. build-tools/
  5. cmd/
  6. common/
  7. dependencies/
  8. dependencyPacker/
  9. endorsedLibraries/
  10. gradle/
  11. Interop/
  12. klib/
  13. konan/
  14. libclangext/
  15. licenses/
  16. llvmCoverageMappingC/
  17. llvmDebugInfoC/
  18. performance/
  19. platformLibs/
  20. runtime/
  21. samples/
  22. shared/
  23. tools/
  24. utilities/
  25. .gitignore
  26. .gitmodules
  27. _nav_reference.yml
  28. build.gradle
  29. CHANGELOG.md
  30. COCOAPODS.md
  31. CODE_COVERAGE.md
  32. CONCURRENCY.md
  33. DEBUGGING.md
  34. DISTRO_README.md
  35. FAQ.md
  36. gradle.properties
  37. GRADLE_PLUGIN.md
  38. gradlew
  39. gradlew.bat
  40. HACKING.md
  41. IMMUTABILITY.md
  42. INTEROP.md
  43. IOS_SYMBOLICATION.md
  44. LIBRARIES.md
  45. LICENSE
  46. MULTIPLATFORM.md
  47. OBJC_INTEROP.md
  48. PLATFORM_LIBS.md
  49. README.md
  50. RELEASE_NOTES.md
  51. settings.gradle
README.md

official project version

Kotlin/Native

Kotlin/Native is an LLVM backend for the Kotlin compiler, runtime implementation, and native code generation facility using the LLVM toolchain.

Kotlin/Native is primarily designed to allow compilation for platforms where virtual machines are not desirable or possible (such as iOS or embedded targets), or where a developer is willing to produce a reasonably-sized self-contained program without the need to ship an additional execution runtime.

Prerequisites:

  • install JDK for your platform, instead of JRE. The build requires tools.jar, which is not included in JRE;
  • on macOS install Xcode 11 (Xcode 11.4 is required to compile Kotlin/Native from sources)
  • on Fedora 26+ yum install ncurses-compat-libs may be needed
  • on recent Ubuntu apt install libncurses5 is needed

To compile from sources use following steps:

First, download dependencies:

./gradlew dependencies:update

Then, build the compiler and libraries:

./gradlew bundle

To build with experimental targets support compile with -Porg.jetbrains.kotlin.native.experimentalTargets.

The build can take about an hour on a Macbook Pro. To run a shorter build with only the host compiler and libraries, run:

./gradlew dist distPlatformLibs

To include Kotlin compiler in composite build and build against it, use the kotlinProjectPath project property:

./gradlew dist -PkotlinProjectPath=path/to/kotlin/project

It's possible to include in a composite build both Kotlin compiler and Kotlin/Native Shared simultaneously.

After that, you should be able to compile your programs like this:

export PATH=./dist/bin:$PATH
kotlinc hello.kt -o hello

For an optimized compilation, use -opt:

kotlinc hello.kt -o hello -opt

For tests, use:

./gradlew backend.native:tests:run

To generate interoperability stubs, create a library definition file (refer to samples/tetris/.../sdl.def), and run the cinterop tool like this:

cinterop -def lib.def

See the provided samples and INTEROP.md for more details.

The Interop tool generates a library in the .klib library format. See LIBRARIES.md for more details on this file format.