Vasily Levchenko 3a1fa2da36 [kotlin compiler][update] 1.3.70-dev-2522
* f6b99955f8 - (tag: build-1.3.70-dev-2522) Update testData in bytecodeText (argument nullability assertions) (3 days ago) <Dmitry Petrov>
* d28743157a - Mute testPlatformValueContains in JVM_IR (3 days ago) <Dmitry Petrov>
* c83f68151c - Support @EnhancedNullability in psi2ir (3 days ago) <Dmitry Petrov>
* 429bf78afa - Add 'Collection#contains' as a special case to psi2ir tests (3 days ago) <Dmitry Petrov>
* 26782d7216 - Fix exception message checking (3 days ago) <Dmitry Petrov>
* a819104d81 - JVM_IR: generate nullability assertions for private operators (3 days ago) <Dmitry Petrov>
* 331347f9fe - Mute tests for explicit 'equals' on boxed primitives (3 days ago) <Dmitry Petrov>
* 89e1941dfd - Update testData for argument nullability assertion tests (3 days ago) <Dmitry Petrov>
* fc7783c7dd - JVM_IR: JvmArgumentNullabilityAssertionsLowering (3 days ago) <Dmitry Petrov>
* c676b58c14 - Minor: JvmBuiltinOptimizationLowering.kt: reformat & fix warnings (3 days ago) <Dmitry Petrov>
* 20fb519f1a - PSI2IR: Generate IMPLICIT_NOTNULL casts for platform type values (3 days ago) <Dmitry Petrov>
* dabf6376db - (tag: build-1.3.70-dev-2520) Update js reachable nodes count after expanding StringBuilder api (3 days ago) <Abduqodiri Qurbonzoda>
* df3bee3038 - (tag: build-1.3.70-dev-2518) Annotations: support injections in string arrays (KT-35222) (4 days ago) <Nicolay Mitropolsky>
* f82fe20d43 - (tag: build-1.3.70-dev-2513) [FIR] fix test data according to last commits (4 days ago) <Mikhail Glukhikh>
* 53935db992 - [FIR] fix compilation error (arose due to commit conflict) (4 days ago) <Mikhail Glukhikh>
* 6f222edb88 - (tag: build-1.3.70-dev-2512) [FIR] Add unresolved type counter to html dump (4 days ago) <Dmitriy Novozhilov>
* bef344b33e - Optimization / clarifying: getFirClassifierContainerFile (4 days ago) <Mikhail Glukhikh>
* 2f3618041b - FIR resolve: eliminate CallInfo.containingDeclaration as unused (4 days ago) <Mikhail Glukhikh>
* c1789a0ecc - FIR IDE: synchronous creation/registration of sessions (4 days ago) <Mikhail Glukhikh>
* 70fa12d9d2 - Extract FirDiagnosticsCollector to have creation logic in one place (4 days ago) <Mikhail Glukhikh>
* 9782ec1b1e - FIR resolve phases: set BODY_RESOLVE phased properly (4 days ago) <Mikhail Glukhikh>
* 26ee02ed02 - FIR: replace resolve phase in FirFile properly (4 days ago) <Mikhail Glukhikh>
* 1539ee30ff - FIR IDE: fix local class containing file search (4 days ago) <Mikhail Glukhikh>
* d35a26a75b - Optimization: introduce FirIdeResolveStateService to cache FirResolveState (4 days ago) <Mikhail Glukhikh>
* b4760bcbd3 - Extract AbstractResolveElementCacheTest to use in FIR cache testing (4 days ago) <Mikhail Glukhikh>
* 74a7a8c881 - FIR resolve (minor): provide source element for resolved qualifier (4 days ago) <Mikhail Glukhikh>
* 8808c775a4 - Introduce FirResolvedTypeRef.delegatedTypeRef to see children types in IDE (4 days ago) <Mikhail Glukhikh>
* 38c1a50c1d - (tag: build-1.3.70-dev-2510) [FIR] Resolve delegating constructor calls (4 days ago) <Dmitriy Novozhilov>
* de77bd526b - [FIR] Change default visibility for sealed class constructors from `private` to `public` (4 days ago) <Dmitriy Novozhilov>
* d840671620 - [FIR] Don't create delegating super constructor call to `kotlin.Enum` for enums (4 days ago) <Dmitriy Novozhilov>
* a0d8e5bde7 - [FIR] Don't create delegating constructor call to `kotlin.Annotation` (4 days ago) <Dmitriy Novozhilov>
* 25720e20f4 - [FIR] Fix bug in defining of completion mode (4 days ago) <Dmitriy Novozhilov>
* 088a949403 - [FIR] Add implicit type counter to html dump (4 days ago) <Dmitriy Novozhilov>
* e58711cde3 - (tag: build-1.3.70-dev-2509) FIR: Select most specific members from supertypes scope (4 days ago) <Denis Zharkov>
* e5166e0e7d - FIR: Extract common parts in FirSuperTypeScope (4 days ago) <Denis Zharkov>
* 43aa1f87df - FIR: Optimize supertypes scope structure (4 days ago) <Denis Zharkov>
* 91fce215d2 - FIR: Simplify super type scopes related code (4 days ago) <Denis Zharkov>
* b8984d154b - (tag: build-1.3.70-dev-2508, origin/rr/zharkov-fir-constructor-type-parameters) FIR: Do not copy type parameters from class to constructors (4 days ago) <Denis Zharkov>
* 20d02dd0ee - (tag: build-1.3.70-dev-2487) Commonize StringBuilder (5 days ago) <Abduqodiri Qurbonzoda>
* 1431e27a7b - Move StringBuilder to its own file (5 days ago) <Abduqodiri Qurbonzoda>
* 0c033297a8 - Move Appendable to its own file (5 days ago) <Abduqodiri Qurbonzoda>
* 50752d47fe - Move CharacterCodingException to its own file (5 days ago) <Abduqodiri Qurbonzoda>
* 956e085b22 - Rename text.kt file to StringBuilderJs.kt (5 days ago) <Abduqodiri Qurbonzoda>
* 2155f1680f - Fix small mistake in CharSequence.lastIndexOf documentation (5 days ago) <Abduqodiri Qurbonzoda>
* 4a0f683bea - (tag: build-1.3.70-dev-2470) JVM_IR: repair after switching Ir.Symbols to non-lazy table (5 days ago) <Georgy Bronnikov>
* 08aeed3b46 - IR: do not use lazyWrapper for Ir.Symbols (5 days ago) <Georgy Bronnikov>
* b0b04eb4cd - (tag: build-1.3.70-dev-2461) Use kotlin specific setting "Optimize imports on the fly" in quick fix (5 days ago) <Vladimir Dolzhenko>
* be5b7adb5a - (tag: build-1.3.70-dev-2455) FIR: Support captured types for sub-arguments (5 days ago) <Denis Zharkov>
* 5b4e8170ae - Fix variables leaking when adding other system under transaction (5 days ago) <Denis Zharkov>
* 692442d7a2 - Do not look into captured star projection as types (5 days ago) <Denis Zharkov>
* 3634d80cae - FIR: Order type variables for fixation (5 days ago) <Denis Zharkov>
* 7f77cc55f3 - (tag: build-1.3.70-dev-2451) Update the test for cleanup (6 days ago) <Ivan Gavrilovic>
* e07b2e30e2 - KT-34258: Make sure to clean up stale files even if no Kotlin sources (6 days ago) <Ivan Gavrilovic>
* a22a60118c - (tag: build-1.3.70-dev-2450) Fix 'Project#afterEvaluate(Action) <...> cannot be executed' on IDE test run (6 days ago) <Sergey Igushkin>
* edfd933348 - (tag: build-1.3.70-dev-2444) Improve Result docs to emphasize that any Throwable exception is caught (6 days ago) <Ilya Gorbunov>
* d84daa0a4b - (tag: build-1.3.70-dev-2442) JVM IR: fix value argument offset in -Xjvm-default=compatibility mode (6 days ago) <Alexander Udalov>
* 3de6289c6c - (tag: build-1.3.70-dev-2439, tag: build-1.3.70-dev-2435, origin/rrinf/kirpichenkov/test, minamoto/ir/inliner/variable-hint/kotlin) [NI] Run completion on subatoms of error calls (6 days ago) <Pavel Kirpichenkov>
* 29fbb8e22f - (tag: build-1.3.70-dev-2428) Update to 193.5233.102 release (KT-35239) (6 days ago) <Nikolay Krasko>
* fa64b5794b - Allow to mute parameterized GradleImportingTestCase JUnit 4 tests (6 days ago) <Nikolay Krasko>
* ca0bff75cd - (tag: build-1.3.70-dev-2425) [KLIB] Keep order of constant properties depending on backend  - Fix K/N performance regression (6 days ago) <Roman Artemev>
* 6ef3831f14 - Build: Take parent directory as rootProject directory in case of buildSrc (6 days ago) <Vyacheslav Gerasimov>
* 462d6ac5b6 - Build: Add remote build cache parameters for teamcity builds (6 days ago) <Vyacheslav Gerasimov>
* d3c1ef9251 - Build: Use kotlin-build-gradle-plugin in buildSrc (6 days ago) <Vyacheslav Gerasimov>
* ab8542bbdb - Build: Advance kotlin-build-gradle-plugin version to 0.0.2 (6 days ago) <Vyacheslav Gerasimov>
* 46d77419a8 - Build: Add build cache properties to kotlin-build-gradle-plugin (6 days ago) <Vyacheslav Gerasimov>
* ad79efeba3 - Build: Use kotlin version embedded to gradle (6 days ago) <Vyacheslav Gerasimov>
* fa7bd3dd2e - (tag: build-1.3.70-dev-2423) FIR: Support SAM constructors for type aliases (6 days ago) <Denis Zharkov>
* ae01d050c9 - FIR: Abstract parts for type alias constructors resolution (6 days ago) <Denis Zharkov>
* fbe7db5471 - FIR: Move constructor processing parts to a separate file (6 days ago) <Denis Zharkov>
* bf68e85a5c - FIR: Support SAM conversion for interfaces containing Object methods (6 days ago) <Denis Zharkov>
2019-12-09 16:52:35 +01:00
2019-12-09 16:52:35 +01:00
2019-11-04 15:13:27 +03:00
2018-08-27 14:55:51 +03:00
2019-11-28 12:20:29 +07:00
2019-03-21 14:16:25 +03:00
2019-12-09 15:37:24 +03:00
2019-12-09 16:52:35 +01: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
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
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%