Vasily Levchenko 844597fbbb [kotlin compiler][update] 1.3.60-dev-1666
* 63892891db - (tag: build-1.3.60-dev-1666) Add internal move refactoring testing action (4 days ago) <Igor Yakovlev>
* 3951fde081 - Save 'Search for references' checkbox state on move of kotlin file (4 days ago) <Igor Yakovlev>
* eca2707dbf - Refactor of Move Refactoring (4 days ago) <Igor Yakovlev>
* d6c5fbace0 - (tag: build-1.3.60-dev-1658) [IR][inliner] prevent of parameters location information loss (4 days ago) <Vasily Levchenko>
* a2fcefd456 - (tag: build-1.3.60-dev-1655) Added fallback for LightClasses getOwnFields, getOwnMethods if dummy resolve failed (KT-27243, KT-33561) (4 days ago) <Vladimir Dolzhenko>
* 78b0d5750b - (tag: build-1.3.60-dev-1622) New J2K: consider literal expressions in data class conversion & fix names conflict (4 days ago) <Ilya Kirillov>
* 405a3beeab - New J2K: move helper functions to corresponding files & use better names for tree nodes files (4 days ago) <Ilya Kirillov>
* 64ecbd1418 - New J2K: use internal getStrictParentOfType instead of custom one (4 days ago) <Ilya Kirillov>
* 2f5fa49c52 - New J2K: remove unused abstractions for conversions running (4 days ago) <Ilya Kirillov>
* 131df66087 - New J2K: check if method reference has functional type on PsiType instead of JKType (4 days ago) <Ilya Kirillov>
* ca0cc13097 - New J2K: retrieve constructor call return type correctly (4 days ago) <Ilya Kirillov>
* 982e7fdd86 - New J2K: do not shorten class references for some Java primitive class wrappers classes (4 days ago) <Ilya Kirillov>
* fd2ad89799 - (tag: build-1.3.60-dev-1613) JVM IR: Write ACC_DEPRECATED flags (5 days ago) <Steven Schäfer>
* a90ac2438d - Set correct field visibility in psi2ir (5 days ago) <Steven Schäfer>
* 6c7a904663 - (tag: build-1.3.60-dev-1612) Psi2Ir: Mark accessors with no bodies as default accessors. (5 days ago) <Mads Ager>
* fda37eaaae - (tag: build-1.3.60-dev-1605) [minor] Rearrange test utils for easier reuse (5 days ago) <Ilya Chernikov>
* 947867286c - [minor] Fix potential problems with sequence, add a todo (5 days ago) <Ilya Chernikov>
* c9b25cad01 - Fix classpath handling when evaluating legacy scripts from kotlinc (5 days ago) <Ilya Chernikov>
* 31c56d7794 - Set java.class.path property in runner and loader (5 days ago) <Ilya Chernikov>
* 08720a3dc6 - Set thread context classloader in the kotlin runner (5 days ago) <Ilya Chernikov>
* d3f32c0d8a - Set thread context classloader in preloader (5 days ago) <Ilya Chernikov>
* 7b2f39530a - Fix invalid testdata for ConvertToScopeIntention applicability (5 days ago) <Igor Yakovlev>
* cf39803074 - (tag: build-1.3.60-dev-1592) Pass cacheRedirectorEnabled flag to performance test gradle import (5 days ago) <Vyacheslav Gerasimov>
* b04fbbd43b - Fix `testUnusedSymbol_class_inspectionData_Inspections_test` test (5 days ago) <Dmitry Gridin>
* 1e72116a9c - (tag: build-1.3.60-dev-1576) Fix test data for intention tests (5 days ago) <Igor Yakovlev>
* 55f4610926 - (tag: build-1.3.60-dev-1575) Tests: fix `invalidBundleOrProperty` test for 183 #KT-32860 Fixed (5 days ago) <Dmitry Gridin>
* d4e4a4c3e7 - (tag: build-1.3.60-dev-1562) To ordinary string literal: remove 'trimIndent()' if string is single line (6 days ago) <Toshiaki Kameyama>
* fbe66c3496 - (tag: build-1.3.60-dev-1558) JVM IR: fix another naming inconsistency with old backend (6 days ago) <Alexander Udalov>
* fec8dbf6df - JVM IR: do not use AsmUtil.putJavaLangClassInstance (6 days ago) <Alexander Udalov>
* 23eb6daae9 - JVM IR: remove MethodSignatureMapper.mapImplementationOwner (6 days ago) <Alexander Udalov>
* aea9642ea0 - JVM IR: implement MethodSignatureMapper.mapToCallableMethod directly (6 days ago) <Alexander Udalov>
* e0823e20c7 - JVM IR: do not use AsmUtil.genToString (6 days ago) <Alexander Udalov>
* bf40b72451 - JVM IR: remove unneeded usages of MethodSignatureMapper.mapToCallableMethod (6 days ago) <Alexander Udalov>
* 0f1a15daf1 - JVM IR: add lowering to remove calls to KFunction{n}.invoke (6 days ago) <Alexander Udalov>
* 2b4424b564 - JVM IR: replace function accesses in multi-file parts (6 days ago) <Alexander Udalov>
* 21b2487290 - (tag: build-1.3.60-dev-1549) Minor: add an additional message for further investigation EA-141821 (6 days ago) <Zalim Bashorov>
* b78ba71224 - (tag: build-1.3.60-dev-1542) [FIR] Set mem-limit 8g (6 days ago) <Simon Ogorodnik>
* 6a9fb46985 - [FIR] Make fir modularized test depends on dist (6 days ago) <Simon Ogorodnik>
* 5ef4a01a45 - [FIR] Fix module qualified names (6 days ago) <Simon Ogorodnik>
* 9338a3c086 - [FIR] Filter out common modules (6 days ago) <Simon Ogorodnik>
* b99d9e0e0b - [FIR] Disambiguate module names (6 days ago) <Simon Ogorodnik>
* 9530389583 - [FIR] Group multiple pass logs into one (6 days ago) <Simon Ogorodnik>
* 4c246faddb - [FIR] Fix redeclaration (6 days ago) <Simon Ogorodnik>
* 8c31a0be07 - [FIR] Add filter param (6 days ago) <Simon Ogorodnik>
* 2ca1e5c8c7 - [FIR] Pass properties to test (6 days ago) <Simon Ogorodnik>
* 96627fc1ae - [FIR] Add parameters to modularized tests (6 days ago) <Simon Ogorodnik>
* e9b2e74b15 - (tag: build-1.3.60-dev-1528) escapeXML: fix bunch for 183 (6 days ago) <Dmitry Gridin>
* ea02d0c632 - (tag: build-1.3.60-dev-1525) ExpectActualUtils: `repairSuperTypeList` should consider type parameters (6 days ago) <Dmitry Gridin>
* 03141be11e - ExpectActualUtils: update `repairAnnotationEntries` for more cases with annotations (6 days ago) <Dmitry Gridin>
* ba0ba3422d - CreateExpectedFix: rename `isCorrectAndHaveNonPrivate` to `isCorrectAndHaveNonPrivateModifier` (6 days ago) <Dmitry Gridin>
* 3c6da0bfe6 - TypeAccessibilityChecker: rename `existingFqNames` to `existingTypeNames` and add comments (6 days ago) <Dmitry Gridin>
* 531f695404 - CreateExpectedFix: remove recursive call from `findAndApplyExistingClasses` (6 days ago) <Dmitry Gridin>
* 35d64f85f8 - TypeAccessibilityCheckerImpl: `explicitParameters` change return type to `Sequence` (6 days ago) <Dmitry Gridin>
* aa135bc505 - TypeAccessibilityCheckerImpl: move visibility check for `KtNamedDeclaration` to outside (6 days ago) <Dmitry Gridin>
* eaa28fd4ed - CreateExpect: fix build for a33 (6 days ago) <Dmitry Gridin>
* 27d7ee8518 - TypeAccessibilityChecker: move to idea-analysis module (6 days ago) <Dmitry Gridin>
* 56a7445660 - CreateExpect: should prefer type aliases #KT-32571 Fixed (6 days ago) <Dmitry Gridin>
* 5928a36fa2 - CreateExpect: should save receiver annotations #KT-32694 Fixed (6 days ago) <Dmitry Gridin>
* 42ef9d634a - ExpectActualUtils: merge generateFunction with generateProperty to generateCallable & remove old checker (6 days ago) <Dmitry Gridin>
* 90b82c96eb - TypeAccessibilityChecker: fix `incorrectTypes` for descriptor (6 days ago) <Dmitry Gridin>
* 1c98cb763e - addRemoveModifier: shouldn't add extra new line #KT-26635 Fixed (6 days ago) <Dmitry Gridin>
* 0458a22f78 - TypeAccessibilityChecker: fix case with unresolved type params (6 days ago) <Dmitry Gridin>
* 4ed56908af - CreateExpect: add `actual` modifier to original class if needed (6 days ago) <Dmitry Gridin>
* 73ae993d81 - TypeAccessibilityChecker: add more tests (6 days ago) <Dmitry Gridin>
* 84d167b7bd - TypeAccessibilityChecker: add logs for tests (6 days ago) <Dmitry Gridin>
* 7c850e44d2 - CreateExpectedFix: add escaping for error text (6 days ago) <Dmitry Gridin>
* 3617f3d247 - TypeAccessibilityChecker: fix callable with upper bound (6 days ago) <Dmitry Gridin>
* 46fefde09c - ExpectActualUtils: introduce TypeAccessibilityChecker #KT-28537 Fixed #KT-28538 Fixed #KT-28549 Fixed #KT-28620 Fixed #KT-31433 Fixed #KT-31475 Fixed #KT-32642 Fixed #KT-32768 Fixed #KT-33150 Fixed (6 days ago) <Dmitry Gridin>
* d1b33485a4 - ExpectActualUtils: rename checkTypeInSequence to incorrectTypesInSequence & change return type (6 days ago) <Dmitry Gridin>
* 18f0bbe8f1 - QuickFixMultiModule: change tests structure (6 days ago) <Dmitry Gridin>
* 02fd137cec - SimpleTestClassModel: add `deep` field (6 days ago) <Dmitry Gridin>
* 65ce4aed1a - TestGenerationDSL: cleanup code (6 days ago) <Dmitry Gridin>
* bddf768d59 - CreateExpect: fix case with parameters in constructor without var/val (6 days ago) <Dmitry Gridin>
* 1b718761b2 - AbstractQuickFixMultiModuleTest: support multiline errors `SHOULD_FAIL_WITH` (6 days ago) <Dmitry Gridin>
* 3f7c983f04 - CreateExpectFix: fix selection for primary constructor (6 days ago) <Dmitry Gridin>
* 4a049b9b01 - GenerateTests: cleanup code (6 days ago) <Dmitry Gridin>
* 1748906d9a - ExpectActualUtils: should add annotations (6 days ago) <Dmitry Gridin>
* 5e60ea2272 - ExpectActualUtils: should remove `override` (6 days ago) <Dmitry Gridin>
* 7561905676 - ExpectActualUtils: add type accessibility check for supertypes (6 days ago) <Dmitry Gridin>
* 8e9952e203 - multiplatformUtil: implement Module.toDescriptor() (6 days ago) <Dmitry Gridin>
* 755f7e8739 - elementRenderingUtils: override visitor for KtTypeReference, KtParameterList, KtParameter (6 days ago) <Dmitry Gridin>
* c17e19b004 - elementRenderingUtils: cleanup code (6 days ago) <Dmitry Gridin>
* 2b32c9d2f9 - ExpectActualUtils: add type arguments accessibility check for constructors (6 days ago) <Dmitry Gridin>
* e59571c482 - ExpectActualUtils: add type arguments accessibility check for top level classes (6 days ago) <Dmitry Gridin>
* bad9459978 - ExpectActualUtils: add type arguments accessibility check (6 days ago) <Dmitry Gridin>
* 5884c65857 - ExpectActualUtils: add type accessibility check (6 days ago) <Dmitry Gridin>
* dffb44c11c - Create actual/expect quick fix should render super type correctly (6 days ago) <Dmitry Gridin>
* a21375508d - ExpectActualUtils: drop `missedDeclarations` parameter from `generateClassOrObject` function (6 days ago) <Dmitry Gridin>
* 22f8b9f475 - (tag: build-1.3.60-dev-1518) Remove codegen tests on inline classes based on type parameters (6 days ago) <Alexander Udalov>
* 6bf16a96e1 - (tag: build-1.3.60-dev-1515) Add more tests for type operators on the jvm (6 days ago) <Steven Schäfer>
* b6ea135e70 - Add a TypeOperatorLowering for JVM_IR (6 days ago) <Steven Schäfer>
* 39ba462540 - (tag: build-1.3.60-dev-1508, tag: build-1.3.60-dev-1502) JVM IR: remove unneeded part of a hack for inlining $default methods (7 days ago) <Alexander Udalov>
* 34400add22 - Minor, add IrCallableMethod.toString (7 days ago) <Alexander Udalov>
* dd74794f97 - Minor, add message to exception thrown in parentAsClass (7 days ago) <Alexander Udalov>
* a3c3ab08fd - (tag: build-1.3.60-dev-1468) Override/Implement members: place members in the same order as super class members (7 days ago) <Toshiaki Kameyama>
2019-09-03 11:06:47 +03:00
2019-07-22 15:55:38 +03:00
2018-08-27 14:55:51 +03:00
2019-07-22 15:55:38 +03:00
2019-07-10 15:29:45 +07:00
2019-03-21 14:16:25 +03:00
2019-07-22 15:55:38 +03:00
2017-03-30 09:51:58 +03:00
2019-08-26 11:04:28 +03:00
2019-07-10 15:29:45 +07:00
2019-07-10 15:29:45 +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

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

To include Kotlin/Native Shared in a composite build and build against it, use the sharedProjectPath project property:

./gradlew dist -PsharedProjectPath=path/to/kotlin/native/shared

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%