Vasily Levchenko 9e6031e66a [kotlin compiler][update] 1.4.30-dev-1359
* 3eeaa07e0c - (tag: build-1.4.30-dev-1359) Sync up plugin.xml AS42 with 202 (vor 2 Stunden) <Vladimir Dolzhenko>
* f941733f13 - (tag: build-1.4.30-dev-1358) [JVM_IR] Rebase init blocks stepping test that is working as intended. (vor 2 Stunden) <Mads Ager>
* a9bc63dece - (tag: build-1.4.30-dev-1337) Drop redundant legacy_name from ide perf tests json stats (vor 35 Stunden) <Vladimir Dolzhenko>
* a4fb2a445f - (tag: build-1.4.30-dev-1328) Minor, add spaces to diagnostic message (vor 3 Tagen) <Alexander Udalov>
* ac39e4d89c - Minor, add regression test (vor 3 Tagen) <Alexander Udalov>
* 6f9f437f15 - IR: refuse to copy classes in InitializersLowering (vor 3 Tagen) <pyos>
* e6c0575d3a - JVM_IR: do not deep-copy suspend lambdas in initializers (vor 3 Tagen) <pyos>
* 8bc7370b92 - (tag: build-1.4.30-dev-1324) ForLoopsLowering: Add PLUSEQ origin to increment to use IINC instructions if possible. (vor 3 Tagen) <Mark Punzalan>
* 14137cb013 - ForLoopsLowering: Remove `additionalNotEmptyCondition` as it is no longer used in UntilHandler. (vor 3 Tagen) <Mark Punzalan>
* ccbf7cc2ee - ForLoopsLowering: Use last-exclusive for-loops for optimized `until` progressions instead of decrementing "last". (vor 3 Tagen) <Mark Punzalan>
* 1adb130509 - ForLoopsLowering: Move `isLastInclusive` to HeaderInfo. (vor 3 Tagen) <Mark Punzalan>
* a093efde11 - Add blackbox test for KT-42533. (vor 3 Tagen) <Mark Punzalan>
* 375d92cf67 - (tag: build-1.4.30-dev-1319) Merge two consequent records in LVT (vor 3 Tagen) <Ilmir Usmanov>
* 91b8e32d43 - (tag: build-1.4.30-dev-1318, origin/rr/pdn_jvmir_abi_tests) Add ABI tests for classes extending Number and CharSequence (vor 3 Tagen) <Dmitry Petrov>
* 6dd2d8bbdb - (tag: build-1.4.30-dev-1312) JVM_IR drop 'SpecialMethodWithDefaultInfo#needsArgumentBoxing' (vor 3 Tagen) <Dmitry Petrov>
* a412596d8e - JVM_IR emulate old back-end behavior in special bridges + inline classes (vor 3 Tagen) <Dmitry Petrov>
* 92fa13cbab - Workaround for a possible compiler bug in object literals (vor 3 Tagen) <Dmitry Petrov>
* 23beaa5883 - [formatter] add tests for line indent after properties (vor 3 Tagen) <Dmitry Gridin>
* 434139d986 - Revert "Add indent before accessor for extension property (KT-33131)" (vor 3 Tagen) <Dmitry Gridin>
* 852d705c71 - (tag: build-1.4.30-dev-1305) FIR: optimize converting string expressions in raw FIR builder (vor 3 Tagen) <Ilya Kirillov>
* 5937ffae4d - FIR: optimize checking if placeholder projection for raw FIR builder (vor 3 Tagen) <Ilya Kirillov>
* bbc641b390 - FIR: do not get statement text for every statement in raw FIR builder (vor 3 Tagen) <Ilya Kirillov>
* b1768d805f - (tag: build-1.4.30-dev-1298) [Gradle, JS] Rename dukatMode to externalsOutputFormat (vor 3 Tagen) <Ilya Goncharov>
* 3ad6d58153 - [Gradle, JS] Execute dukat on import in both mode (vor 3 Tagen) <Ilya Goncharov>
* 0a86beeb64 - [Gradle, JS] Add descriptors to dependencies in configurations phase (vor 3 Tagen) <Ilya Goncharov>
* af65365d6a - [Gradle, JS] Move gradle post processing after executing of dukat (vor 3 Tagen) <Ilya Goncharov>
* 4eea52e4e7 - [Gradle, JS] Add TaskAction on overriden method for integrated task (vor 3 Tagen) <Ilya Goncharov>
* b37414ae0b - [Gradle, JS] Add test on compilation with dukat binaries (vor 3 Tagen) <Ilya Goncharov>
* c1fe8defd2 - [Gradle, JS] Dukat descriptors (vor 3 Tagen) <Ilya Goncharov>
* 500fceb438 - [Gradle, JS] Add binary dukat mode (vor 3 Tagen) <Ilya Goncharov>
* f50851a982 - (tag: build-1.4.30-dev-1297) Fix testdata after migrating to NewKotlinTypeCheckerImpl in OverrideResolver (vor 3 Tagen) <Dmitry Savvinov>
* f02593074f - Drop isEqualTypeConstructor in favour of areEqualTypeConstructors (vor 3 Tagen) <Dmitry Savvinov>
* fc4b488d43 - Use NewKotlinTypeChecker in OverridingUtil (vor 3 Tagen) <Dmitry Savvinov>
* 01d6181050 - Add test on overriding declaration with a composite type with expect declaration (vor 3 Tagen) <Dmitry Savvinov>
* f8b9011667 - Minor: unify error reporting for fun/properties overriding (vor 3 Tagen) <Dmitry Savvinov>
* ac63d8b3bf - Unify code for checking return type on override for fun/property (vor 3 Tagen) <Dmitry Savvinov>
* 736ecf3e9f - Add test case on overriding property of expect-type (vor 3 Tagen) <Dmitry Savvinov>
* ac107f362e - Refine types of type parameters before checking their equality in OverridingUtil (vor 3 Tagen) <Dmitry Savvinov>
* 80f4061a3d - Add test on override with expect in return type (vor 3 Tagen) <Dmitry Savvinov>
* f8b8f94040 - (tag: build-1.4.30-dev-1296, tag: build-1.4.30-dev-1292) Adjust vega IDE performance test charts (vor 3 Tagen) <Vladimir Dolzhenko>
* a6efaf440a - (tag: build-1.4.30-dev-1291) FIR supertypes: replace class phase even if it hasn't unresolved supers (vor 3 Tagen) <Mikhail Glukhikh>
* 94302614cd - [FIR] Add forgotten resolving status of enum entries (by Dmitry) (vor 3 Tagen) <Mikhail Glukhikh>
* 5fbe715871 - [FIR] Add forgotten replacing resolve phase during type resolve (vor 3 Tagen) <Dmitriy Novozhilov>
* 1f5797e929 - Don't resolve annotation arguments in FirTypeResolveTransformer (vor 3 Tagen) <Mikhail Glukhikh>
* 6f89385aec - Transform forgotten property annotations in FirTypeResolveTransformer (vor 3 Tagen) <Mikhail Glukhikh>
* e5463be6ba - Don't transform parameter default values in FirTypeResolveTransformer (vor 3 Tagen) <Mikhail Glukhikh>
* bdec245424 - Don't transform enum entry initializer in FirTypeResolveTransformer (vor 3 Tagen) <Mikhail Glukhikh>
* 880eb6da6c - Don't transform delegated constructor args in FirTypeResolveTransformer (vor 3 Tagen) <Mikhail Glukhikh>
* 949952e766 - (tag: build-1.4.30-dev-1275) kotlinx-metadata: minor, remove incorrect ReplaceWith from IS_PRIMARY deprecation (vor 4 Tagen) <Alexander Udalov>
* afd710292a - [JVM_IR] Fix mangling of default argument stubs for internal methods. (vor 4 Tagen) <Mads Ager>
* 8c88670185 - (tag: build-1.4.30-dev-1270) FIR: copy constructor for typealias'ed inner/nested class (vor 4 Tagen) <Jinseong Jeon>
2020-10-12 13:14:49 +02:00
2020-05-20 19:52:35 +07:00
2020-10-07 17:45:21 +03:00
2020-09-29 15:17:35 +07:00
2017-03-30 09:51:58 +03:00
2019-10-25 16:05:35 +03:00
2019-12-02 09:55:51 +03:00
2020-09-16 12:23:50 +07:00
2020-09-16 12:23:50 +07:00
2018-09-13 11:48:42 +03:00
2020-07-20 15:42:43 +07:00
2020-09-08 11:11:43 +03:00
2020-10-06 11:22:14 +07: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 (Xcode 12.0 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.

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%