Vasily Levchenko f056b3cd0a [kotlin compiler][update] 1.3.70-dev-1666
* ba93bdb14d - (tag: build-1.3.70-dev-1666) JVM_IR: keep the $default suffix for stubs for @JvmName functions (3 days ago) <pyos>
* 23dfade24f - (tag: build-1.3.70-dev-1664) JVM IR: Fix inlining of inline class properties in external modules (3 days ago) <Steven Schäfer>
* fa62d0c325 - (tag: build-1.3.70-dev-1656) Don't clear InBlockModifications on CanceledException (3 days ago) <Vladimir Dolzhenko>
* 92dae5d8a9 - (tag: build-1.3.70-dev-1653) [NI] Split substitution of inferred type parametes into two steps (3 days ago) <Pavel Kirpichenkov>
* b6af13f18d - [NI] Add missing substitution of known type parameters (3 days ago) <Pavel Kirpichenkov>
* 3122f2704c - [Minor] Refactor resulting descriptor substitution in call transformer (3 days ago) <Pavel Kirpichenkov>
* ea66f02035 - [Minor] Rename fresh variable substitutor in resolved atom (3 days ago) <Pavel Kirpichenkov>
* 25f3de2085 - (tag: build-1.3.70-dev-1651) Use more stable kotlin dependency in tests for enabling inline classes flag (3 days ago) <victor.petukhov>
* 4438dd282f - (tag: build-1.3.70-dev-1647) [kotlinx-metadata-klib] Bugfixes: (3 days ago) <Sergey Bogolepov>
* 95399b3a41 - (tag: build-1.3.70-dev-1639, origin/rr/gradle/ilgonmic/debugger-js) Introduce `kotlinx-metadata-klib`. (3 days ago) <Sergey Bogolepov>
* d91453fb7a - (tag: build-1.3.70-dev-1635) Do not preprocess apiVersionIsAtLeast calls inlined into kotlin package (3 days ago) <Ilya Gorbunov>
* 352a10a0ed - (tag: build-1.3.70-dev-1629) Do not fail tests on unknown version of gradle Kotlin plugin (4 days ago) <Andrey Uskov>
* e963b71921 - Tests of import with latest gradle plugin are implemented (4 days ago) <Andrey Uskov>
* 51590ef1b7 - Migrate import tests to annotation-driven determination of target kotlin plugin versions (4 days ago) <Andrey Uskov>
* d05f893233 - Import tests with gradle 5.6.4 were added (4 days ago) <Andrey Uskov>
* a51e2ca4d6 - Limit initial heap of gradle daemon in import tests (4 days ago) <Andrey Uskov>
* 1f2767ae21 - Remove gradle testing import from gradle 3.x (4 days ago) <Andrey Uskov>
* 48f6207d26 - Support annotation-based declaration of target plugin and gradle version in gradle importing tests (4 days ago) <Andrey Uskov>
* 14aa0eae71 - Extract kotlin gradle plugin versions to constants in tests (4 days ago) <Andrey Uskov>
* 633005fb57 - (tag: build-1.3.70-dev-1627) KT-25732 Perform keywords completion earlier to complete them before freeze (4 days ago) <Roman Golyshev>
* 36ca280b86 - (tag: build-1.3.70-dev-1624) Fix compilation error in ResolveInlineCalls.kt (4 days ago) <Alexander Udalov>
* 635add4823 - FIR substitution: generate fake overrides for accessor symbols (4 days ago) <Mikhail Glukhikh>
* bd70daa3d1 - FIR Java: use definitely not-null types for type parameters (4 days ago) <Mikhail Glukhikh>
* 63f38bb28a - FIR [rendering only]: render fake overrides for properties (4 days ago) <Mikhail Glukhikh>
* 4733c78a6a - (tag: build-1.3.70-dev-1621) [FIR] Add `toString()` to `ErrorTypeConstructor` and `ConeClassifierLookupTag` (4 days ago) <Dmitriy Novozhilov>
* 944be132de - [FIR-TEST] Add test with calling constructor of type with aliased import (4 days ago) <Dmitriy Novozhilov>
* d9fe70f97c - [FIR] Fix binding overrides with flexible types in arguments (4 days ago) <Dmitriy Novozhilov>
* 3a7251a90b - [FIR-TEST] Add test with problems in mapping getter name to property name (4 days ago) <Dmitriy Novozhilov>
* 6f9e576502 - [FIR-TEST] Add test with ambiguity on accidental override property (4 days ago) <Dmitriy Novozhilov>
* f43d77d422 - [FIR-TEST] Move `nestedClassConstructor` test to `problems` test suite (4 days ago) <Dmitriy Novozhilov>
* 2409a74fb5 - [FIR-TEST] Add test for problem with += and java synthetic property (4 days ago) <Dmitriy Novozhilov>
* 11063a25a8 - [FIR] Replace FirEmptyDiagnostic with FirStubDiagnostic (4 days ago) <Dmitriy Novozhilov>
* ee20f88837 - [FIR] Propagate smartcasts in safe calls chain (4 days ago) <Dmitriy Novozhilov>
* 833648d8e0 - [FIR] Fix smartcasts on receivers of implict invoke call (4 days ago) <Dmitriy Novozhilov>
* 660bcce90a - [FIR] Add smartcasts for reassigned vars (4 days ago) <Dmitriy Novozhilov>
* 2a74e37e28 - [FIR] Ignore expected type for resolve constant expressions (4 days ago) <Dmitriy Novozhilov>
* 6a3c07688f - Add print of detailed stack trace to NonFir modularized test (4 days ago) <Dmitriy Novozhilov>
* a235dd2891 - (tag: build-1.3.70-dev-1618) IR: move defaultParameterDeclarationsCache access up one level (4 days ago) <pyos>
* 70f09a7531 - IR: make DefaultArgumentStubGenerator a few lines shorter (4 days ago) <pyos>
* 2b2dd097a3 - IR: refactor DefaultParameterInjector (4 days ago) <pyos>
* 7a2715da44 - IR: refactor generateDefaultsFunction (4 days ago) <pyos>
* 29a14e2330 - (tag: build-1.3.70-dev-1616) JVM_IR: resolve inline fake overrides before codegen (4 days ago) <pyos>
* 1b2091d536 - (tag: build-1.3.70-dev-1612) Fix: KLIB reading error on Windows (4 days ago) <Dmitriy Dolovov>
* 77950c5410 - (tag: build-1.3.70-dev-1607) [Gradle, JS] Remove redundant from kotlin-test-js-runner (4 days ago) <Ilya Goncharov>
* 6a6bef0f6c - [Debugger, JS] Remove kotlin source map support from tests and build (4 days ago) <Ilya Goncharov>
* 35cb412dc3 - [Gradle, JS] Fix source map support initializing for mocha (4 days ago) <Ilya Goncharov>
* 4e427d2ce4 - [Gradle, JS] Fix source map support initializing for nodejs (4 days ago) <Ilya Goncharov>
* 20e33806ec - [Debugger, JS] Provide possibility to debug mocha tests (4 days ago) <Ilya Goncharov>
* 30b4622a45 - (tag: build-1.3.70-dev-1601) Remove invalid unused reference (4 days ago) <Igor Yakovlev>
* c905bbca36 - (tag: build-1.3.70-dev-1597) Scripting: invalidate caches on roots changes (4 days ago) <Sergey Rostov>
* b0327964b7 - (tag: build-1.3.70-dev-1590) Fix compilation on 183 and as34 (4 days ago) <Denis Zharkov>
* c7e9a6c5d9 - (tag: build-1.3.70-dev-1587) Add new script dependency resolvers (4 days ago) <Anatoly Nikitin>
* 81e2e119e2 - Fix propagation of dependency resolution failure reports during script compilation (4 days ago) <Anatoly Nikitin>
* 744dfc6bf9 - (tag: build-1.3.70-dev-1585) Minor. Pass proper timeout to logger (4 days ago) <Mikhael Bogdanov>
* 4281fd6bd5 - (tag: build-1.3.70-dev-1584) Don't write nop for extension lambda during inline (4 days ago) <Mikhael Bogdanov>
* b757224df1 - (tag: build-1.3.70-dev-1583) Scripting: invalidate caches on roots changes (4 days ago) <Sergey Rostov>
* df0c250fd8 - Scripting: fix lost caches clearing call (4 days ago) <Sergey Rostov>
* 542f21b701 - Scripting, minor: cache firstScriptSdk (4 days ago) <Sergey Rostov>
* ab3f9586b3 - (tag: build-1.3.70-dev-1580) Suspend function calls highlighting added. (4 days ago) <Vladimir Ilmov>
* 46423443e9 - 'it' parameter highlighting fixed for chain usage. (4 days ago) <Vladimir Ilmov>
* fb9fb2e048 - (tag: build-1.3.70-dev-1578) JVM IR: minor, remove obsolete code (5 days ago) <Alexander Udalov>
* 180e718752 - JVM IR: minor, repurpose JvmBackendContext.getLocalClassInfo to store Type (5 days ago) <Alexander Udalov>
* 6be9101675 - JVM IR: add jvmLocalClassExtractionPhase to lift out local classes from initializers (5 days ago) <Alexander Udalov>
* c5159d9cbe - (tag: build-1.3.70-dev-1576) IR: Add UniqId to IrSymbol (5 days ago) <Georgy Bronnikov>
* 1647279a8c - IR: move UniqId to ir.tree module (5 days ago) <Georgy Bronnikov>
* 76016b1a3c - IR: move KotlnMangler to ir.tree module (5 days ago) <Georgy Bronnikov>
* 92ebb092a2 - JvmMangler (5 days ago) <Georgy Bronnikov>
* 2f5442800b - Move WrappedDescriptors to ir.tree module (5 days ago) <Georgy Bronnikov>
*   cb11282183 - (tag: build-1.3.70-dev-1573) Merge pull request #2516 from t-kameyama/KT-18539 (5 days ago) <igoriakovlev>
|\
| * 4d9b19da82 - Remove comments from function/property implementation template (5 days ago) <Toshiaki Kameyama>
* 3429c07016 - (tag: build-1.3.70-dev-1564) Fix Native dependencies not transformed when imported from a source set (5 days ago) <Sergey Igushkin>
* 94f66c237b - (minor) replace the predicate for intermediate source set (5 days ago) <Sergey Igushkin>
* bcabbcf3e1 - Add Native stdlib to intermediate source set dependencies (5 days ago) <Dmitry Savvinov>
* 1ccda6a8d4 - Add fast find usages for data class components (5 days ago) <Igor Yakovlev>
* 6d9c00addd - (tag: build-1.3.70-dev-1558) Do not add preparation task to project import if registry option is switched off (5 days ago) <Natalia Selezneva>
* 455b9f852d - (tag: build-1.3.70-dev-1554) [NI] Disable caching of LHS expression types for "+=" operators (5 days ago) <Mikhail Zarechenskiy>
* 4973baae4e - (tag: build-1.3.70-dev-1551) [JVM IR] Fix JvmOverloads+Parameterless Main (5 days ago) <Kristoffer Andersen>
* b4185c9d47 - (tag: build-1.3.70-dev-1543) ScriptClassRootsCache: load configuration if it is not cached (5 days ago) <Sergey Rostov>
* a84e948051 - Scripting: pass KtFile to ScriptConfigurationLoader (5 days ago) <Sergey Rostov>
* 9a231bbbfa - (tag: build-1.3.70-dev-1537) Update trailing lambda quickfix, add tests (5 days ago) <Pavel Kirpichenkov>
* f1934fa49d -  Amend "Terminate preceding call with semicolon" quickfix (5 days ago) <Pavel Kirpichenkov>
* 0f638db3e5 - (tag: build-1.3.70-dev-1536) FIR: Turn SupertypeSupplier into a class (5 days ago) <Denis Zharkov>
* 56b5d170eb - FIR: Minor. Rename FirSupertypeResolverTransformerAdapter -> FirSupertypeResolverTransformer (5 days ago) <Denis Zharkov>
* 3a4f9e9109 - FIR: Drop FirClassLikeDeclaration::supertypesComputationStatus (5 days ago) <Denis Zharkov>
* 2fba6b54a0 - FIR: Minor. Drop old FirSupertypeResolverTransformer (5 days ago) <Denis Zharkov>
* 3f7bffa6fd - FIR: Do not use FirClass::supertypesComputationStatus (5 days ago) <Denis Zharkov>
* 5e0e78e555 - FIR: Rewrite supertype resolution (5 days ago) <Denis Zharkov>
2019-11-21 18:48:01 +01:00
2019-11-04 15:13:27 +03:00
2018-08-27 14:55:51 +03:00
2019-10-28 17:24:39 +03:00
2019-11-13 19:16:35 +03:00
2019-03-21 14:16:25 +03:00
2019-11-13 19:16:35 +03:00
2019-11-12 01:17:19 +03:00
2017-03-30 09:51:58 +03:00
2019-11-12 01:17:19 +03:00
2019-10-25 16:05:35 +03:00
2019-07-10 15:29:45 +07:00
2019-07-10 15:29:45 +07:00
2019-10-29 18:46:14 +03:00
2018-09-13 11:48:42 +03:00
2017-04-28 17:05:20 +02: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%