Vasily Levchenko 1d2d2569c7 [kotlin compiler][update] 1.4.0-dev-2894
* 6d1da6e6d5 - (tag: build-1.4.0-dev-2894) KT-36143 Fix type approximation for type arguments in PSI2IR (vor 28 Stunden) <Dmitry Petrov>
* 2340a86d8d - (tag: build-1.4.0-dev-2892) Update to 201.5259.13-EAP-SNAPSHOT (vor 28 Stunden) <Nikolay Krasko>
* 6c968859ad - Access to test root disposable through accessor (vor 28 Stunden) <Nikolay Krasko>
* 272ccf64ae - Refactoring: extract resetApplicationToNull to separate file (vor 28 Stunden) <Nikolay Krasko>
* c748b6f3ee - (tag: build-1.4.0-dev-2888) JVM_IR. Minor. Update bytecode text test to JVM_IR or create issues when this (vor 28 Stunden) <Ilmir Usmanov>
* 4b954c347a - JVM IR: Avoid optimizing comparisons between boxed primitives and null (vor 29 Stunden) <Steven Schäfer>
* 32e1ec8e98 - (tag: build-1.4.0-dev-2882, tag: build-1.4.0-dev-2872) [minor] Update build output in test to fit NI (vor 31 Stunden) <Pavel Kirpichenkov>
* 64590cc56b - [JPS-TEST] Update test checking JPS build with NI in IDE (vor 31 Stunden) <Pavel Kirpichenkov>
* 2ead2fba08 - [IDEA-TESTS] Update quickfix test parameters for 1.4 (vor 31 Stunden) <Pavel Kirpichenkov>
* fdf4f477a6 - (tag: build-1.4.0-dev-2871) FIR2IR: fix problems with enum entry / anonymous object visibility (vor 31 Stunden) <Mikhail Glukhikh>
* 9f0ef77531 - [Gradle, JS] Provide js compilations parameters to link tasks (vor 33 Stunden) <Ilya Goncharov>
* ce8e511b79 - (tag: build-1.4.0-dev-2863) Add setOfNotNull function #KT-35851 (vor 2 Tagen) <Abduqodiri Qurbonzoda>
* 5a4ce2aa4c - (tag: build-1.4.0-dev-2862) Mark shared global vals to fix K/N worker thread crash (vor 2 Tagen) <Abduqodiri Qurbonzoda>
* 94d20d9176 - (tag: build-1.4.0-dev-2856) Update bytecode text tests in JVM_IR (vor 2 Tagen) <Dmitry Petrov>
* 64141b8b38 - (tag: build-1.4.0-dev-2854) [JVM IR] Fix issue where fields are not being set to their default values within initializer blocks. (vor 2 Tagen) <Mark Punzalan>
* 56c819f06e - (tag: build-1.4.0-dev-2851) FIR2IR: add two-statements block with iterator + while for 'for' loops (vor 2 Tagen) <Mikhail Glukhikh>
* 2bfce4f127 - FIR2IR: provide correct origins for 'for' loops (vor 2 Tagen) <Mikhail Glukhikh>
* 83e68be2dc - FIR2IR: add declarations to all library classes from kotlin.* package (vor 2 Tagen) <Mikhail Glukhikh>
* 4a4fb5a590 - Raw FIR: eliminate range variable declaration in 'for' loops (vor 2 Tagen) <Mikhail Glukhikh>
* 4abbcd1267 - Unmute two passing FIR black box tests (fixed by commits of demiurg) (vor 2 Tagen) <Mikhail Glukhikh>
* 91814364de - Mute two failing FIR black box tests (broken by commits of demiurg) (vor 2 Tagen) <Mikhail Glukhikh>
* baa2c56e2d - (tag: build-1.4.0-dev-2850) Force-set path to exact project for MPP run configurations (vor 2 Tagen) <Dmitry Savvinov>
* cc2884b8ae - Add test on multiplatform run configurations in multiproject build (vor 2 Tagen) <Dmitry Savvinov>
* 1ea3db90e1 - Add ability to render project of run configuration in tests (vor 2 Tagen) <Dmitry Savvinov>
* 51edf2b351 - (tag: build-1.4.0-dev-2846) NI: introduce warning about implicitly inferred Nothing with existing non-Nothing expected type ^KT-35406 Fixed (vor 2 Tagen) <Victor Petukhov>
* e3184e407d - (tag: build-1.4.0-dev-2829) KT-20844 Re-enable stack spilling during inline. (vor 2 Tagen) <Jinseong Jeon>
*   c9ed27e674 - (tag: build-1.4.0-dev-2822) KT-36685 "Convert to a range check" transform hex range to int if it is compared with "Less" or "Greater" (vor 2 Tagen) <Vladimir Dolzhenko>
|\
| * 7f2cf571b0 - Convert to range check: do not transform binaries/hexadecimals to decimals (vor 3 Tagen) <Toshiaki Kameyama>
* 811ed1ade4 - (tag: build-1.4.0-dev-2809) [FIR] Don't update expression in receiver value with smartcast in candidate factory (vor 2 Tagen) <Dmitriy Novozhilov>
* e302e06c73 - [FIR-TEST] Add test with nullability annotation problem (vor 2 Tagen) <Dmitriy Novozhilov>
* 47d5bbc224 - [FIR-TEST] Move fixed tests out `problems` directory (vor 2 Tagen) <Dmitriy Novozhilov>
* e67c8a55bf - [FIR-TEST] Add test with callable reference to member of local class (vor 2 Tagen) <Dmitriy Novozhilov>
* d10e56c358 - [FIR] Add mapping of primitive types to JVM signatures (vor 2 Tagen) <Dmitriy Novozhilov>
* 031952268a - (tag: build-1.4.0-dev-2808) Minor. Disable test on Android (vor 2 Tagen) <Mikhael Bogdanov>
* ee2e40ce6b - (tag: build-1.4.0-dev-2802) Regenerate test (vor 2 Tagen) <Alexey Tsvetkov>
* 70d416cafd - (tag: build-1.4.0-eap-2, tag: build-1.4.0-eap-10, tag: build-1.4.0-dev-2800, tag: build-1.4-M1-eap-11) Remove test that become useless after enabling NI everywhere (vor 2 Tagen) <Mikhail Zarechenskiy>
* dfe23e770c - Update test about lookups for SAMs after enabling NI (vor 2 Tagen) <Mikhail Zarechenskiy>
* 297d296b62 - (tag: build-1.4.0-dev-2798) [JS] Respect SKIP_DCE_DRIVEN in tests (vor 2 Tagen) <Igor Chevdar>
* 9bc7a43991 - [IR] [JS_IR] Supported fun interfaces in JS (vor 2 Tagen) <Igor Chevdar>
* 4a7b4d655c - (tag: build-1.4.0-dev-2795) [NI] Fix completion for ILT when Nothing constraint is present (vor 2 Tagen) <Pavel Kirpichenkov>
* 208c06516b - (tag: build-1.4.0-dev-2794) [IR][Serialization] Allow backends to skip files (vor 2 Tagen) <Sergey Bogolepov>
* bcf6ee0c0b - (tag: build-1.4.0-dev-2792) KotlinDslScriptsModel: pass provider mode properly (vor 2 Tagen) <Natalia Selezneva>
* ed6f13cf56 - KotlinDslScriptsModel: do not add prepare task for each gradle task invocation (vor 2 Tagen) <Natalia Selezneva>
* e40dc37be8 - KotlinDslScriptsModel: pass correlationId during the request (vor 2 Tagen) <Natalia Selezneva>
* 55b836a0ac - (tag: build-1.4.0-dev-2790) Mute light class tests (vor 2 Tagen) <Pavel Kirpichenkov>
* fda8d7de8b - [IDEA-TESTS] Specify language version in feature-dependent tests (vor 2 Tagen) <Pavel Kirpichenkov>
* 85d7a0f6b1 - [IDEA-TESTS] Fix `ReplaceProtectedToPublishedApiCallFix` (vor 2 Tagen) <Pavel Kirpichenkov>
* 05b00a1302 - [JPS-TEST] Update deprecated language version in test (vor 2 Tagen) <Pavel Kirpichenkov>
* bd3b23b933 - Use LATEST_STABLE version during prerelease in VersionView (vor 2 Tagen) <Pavel Kirpichenkov>
* f9129332b7 - (tag: build-1.4.0-dev-2787) [NI] Minor optimisation: don't call extra `contains` checks (vor 2 Tagen) <Mikhail Zarechenskiy>
* 724bb1b134 - [NI] Force variable substitution for properties with stub types (vor 2 Tagen) <Mikhail Zarechenskiy>
* 155b716e7e - Revert "Disable NewInference for stdlib tests" (vor 2 Tagen) <Mikhail Zarechenskiy>
* 18b218bfa8 - [NI] Use projected type for constraint like Cap(out A) <: out @Exact T (vor 2 Tagen) <Mikhail Zarechenskiy>
* 3cf77d29b5 - Unmute test for NI (vor 2 Tagen) <Mikhail Zarechenskiy>
* 4542f3b720 - [NI] Finish analysis for coerced last lambda expressions if needed (vor 2 Tagen) <Mikhail Zarechenskiy>
2020-02-19 17:13:41 +01:00
2019-11-04 15:13:27 +03:00
2019-12-27 11:01:09 +03:00
2019-11-28 12:20:29 +07:00
2019-03-21 14:16:25 +03:00
2020-02-19 10:48:24 +01:00
2017-03-30 09:51:58 +03:00
2019-12-18 16:58:28 +03:00
2019-10-25 16:05:35 +03:00
2019-12-02 09:55:51 +03:00
2019-11-28 12:20:29 +07:00
2019-07-10 15:29:45 +07:00
2019-12-09 10:14:07 +07:00
2018-09-13 11:48:42 +03:00
2017-04-28 17:05:20 +02:00
2020-02-06 11:12:49 +03:00
2019-01-30 19:11:11 +03:00
2019-09-28 09:53:20 +03:00
2019-09-28 09:53:20 +03:00

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
  • 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.

S
Description
The Kotlin Programming Language.
Readme 2.1 GiB
Languages
Kotlin 79.9%
Java 10.4%
Swift 4.3%
C 2.8%
C++ 2.1%
Other 0.3%