Vasily Levchenko 3c87a69597 [kotlin compiler][update] 1.4.0-dev-4143
* 80caa063b3 - (tag: build-1.4.0-dev-4143) UnusedUnaryOperatorInspection: shouldn't report on annotation entry (vor 6 Stunden) <Dmitry Gridin>
* fded6fb494 - (tag: build-1.4.0-dev-4138) JVM_IR: fix suspendCoroutineUninterceptedOrReturn (vor 7 Stunden) <Georgy Bronnikov>
* 3cbfdd19f5 - (tag: build-1.4.0-dev-4133) Optimize constraints simplification (vor 8 Stunden) <Ilya Chernikov>
* c2b866fe7a - Reduce number of constraints simplifications (vor 8 Stunden) <Ilya Chernikov>
* 84a0e39956 - Skip duplicates removal on constraints simplification (vor 8 Stunden) <Ilya Chernikov>
* 6f97745de2 - Optimize MutableDiagnosticsWithSuppression (vor 8 Stunden) <Ilya Chernikov>
* a28c25b805 - Add NI benchmarks configuration (vor 8 Stunden) <Ilya Chernikov>
* e9cb7770e3 - Fix benchmark compiler configuration (vor 8 Stunden) <Ilya Chernikov>
* 53d289206e - Optimize hot TypeUtils.contains function (vor 8 Stunden) <Ilya Chernikov>
* 4538e212db - Optimize hot addSubTypeConstraintAndIncorporateIt function (vor 8 Stunden) <Ilya Chernikov>
* 357ceeae19 - Avoid unnecessary freshTypeConstructor() calls (vor 8 Stunden) <Ilya Chernikov>
* 54f10a709a - Cache isProperType calculations in the constraint system (vor 8 Stunden) <Ilya Chernikov>
* 70c89a28e1 - Stop subtyping constraint search if equality constraints for... (vor 8 Stunden) <Ilya Chernikov>
* b6c9432334 - [minor] Optimize diagnostic reporting a bit (vor 8 Stunden) <Ilya Chernikov>
* 2727507d18 - Fix diagnostic inferred type calculation for null in some cases (vor 8 Stunden) <Ilya Chernikov>
* 997debdd42 - (tag: build-1.4.0-dev-4129) 201: Mute GradleMultiplatformWizardTest.testMobile because of leaked JDK (vor 15 Stunden) <Nikolay Krasko>
* 34fda45113 - 201: Update test data about test run markers under gradle (vor 15 Stunden) <Nikolay Krasko>
* ab141bab1d - 201: Update to 201.6073.9 (vor 15 Stunden) <Nikolay Krasko>
* 0e65d0e00b - 201: Mute JS android tests in MultiplatformProjectImportingTest (vor 15 Stunden) <Nikolay Krasko>
* a9044b8a69 - 201: Mute test because of NPE: element.parent must not be null (IDEA-234737) (vor 15 Stunden) <Nikolay Krasko>
* 72a0a5327c - 201: Fix setup for AbstractKotlinExceptionFilterTest tests (vor 15 Stunden) <Nikolay Krasko>
* 9370260022 - 201: Mute SpringRenameTestGenerated tests (vor 15 Stunden) <Nikolay Krasko>
* 62a772332d - 201: Remove declarations added for dropped newApi in hierarchy (vor 15 Stunden) <Nikolay Krasko>
* 1afd3d929a - 201: Update to 201.5985.32 (vor 15 Stunden) <Nikolay Krasko>
* 7c86911f44 - (tag: build-1.4.0-dev-4124) Filter out PSI `values` & `valueOf` methods from Java structure (vor 18 Stunden) <Mikhail Zarechenskiy>
* 1321bf426b - (tag: build-1.4.0-dev-4116) [FIR] Define argument lists and their builders more accurately (vor 20 Stunden) <Mikhail Glukhikh>
* 3d17ce05b5 - [FIR] Introduce FirResolvedArgumentList with argument-parameter mapping (vor 20 Stunden) <Mikhail Glukhikh>
* 6b0a3aa176 - [FIR] Cleanup vararg handling during call completion (vor 20 Stunden) <Mikhail Glukhikh>
* 91d51b93e1 - [FIR] Introduce FirArgumentList node (vor 20 Stunden) <Mikhail Glukhikh>
* 476d3c4092 - (tag: build-1.4.0-dev-4112) Revert "[FIR-TEST] Move FIR ide tests to separate module" (vor 22 Stunden) <Dmitriy Novozhilov>
* b44be51b5c - (tag: build-1.4.0-dev-4110) Disable FUS for Code Completion in 1.3.71 (vor 22 Stunden) <Anton Yalyshev>
* a9ab3ae192 - (tag: build-1.4.0-dev-4102) KT-36047 Support when-with-subject in optimized 'when' generators (vor 24 Stunden) <Dmitry Petrov>
* fd70b10b17 - (tag: build-1.4.0-dev-4093) JVM_IR: Generate suspend fun main wrapper as class instead of reference (vor 25 Stunden) <Ilmir Usmanov>
* e495c35ad7 - (tag: build-1.4.0-dev-4089) Use upper bound as a type for polymorphic serializer (vor 25 Stunden) <Leonid Startsev>
* 15fa6ea757 - Do not insert @SerializableWith marker annotation if already present (vor 25 Stunden) <Leonid Startsev>
* e20354926b - Do not check 'no ctor parameters' for serializable enums (vor 25 Stunden) <Leonid Startsev>
* 79fef09bf5 - (tag: build-1.4.0-dev-4083) [JVM IR] Add tests for KT-15971. (vor 26 Stunden) <Mark Punzalan>
* 2239b5ceab - [JVM IR] Maintain KT-36188 bug compatibility between non-IR and IR backends. (vor 26 Stunden) <Mark Punzalan>
* 435e74b74b - (tag: build-1.4.0-dev-4081) Redirect warning output to error log when allWarningsAsErrors is enabled (vor 26 Stunden) <Sergey Igushkin>
* 47ebd38534 - FIR2IR: fix origin of object literal constructor call (vor 26 Stunden) <Mikhail Glukhikh>
* 8231377f6b - FIR2IR: convert qualifiers inside getClass properly (vor 26 Stunden) <Mikhail Glukhikh>
* 1812b490a1 - FIR: set anonymous object constructor return type properly (vor 26 Stunden) <Mikhail Glukhikh>
* d1739289c6 - (tag: build-1.4.0-dev-4077) Uast: `UastFakeLightMethod` hashcode fix (KT-37200) (vor 26 Stunden) <Nicolay Mitropolsky>
* 5bb74d9840 - Fixed generated text from jvm classfile, when quotes is required (vor 26 Stunden) <Alexander Podkhalyuzin>
* 36ec0a2e2e - (tag: build-1.4.0-dev-4076) [FIR-TEST] Move FIR ide tests to separate module (vor 27 Stunden) <Dmitriy Novozhilov>
* 78f910e321 - Regenerate tests (vor 27 Stunden) <Dmitriy Novozhilov>
* 4d2ee279c0 - (tag: build-1.4.0-dev-4070) Remove unneeded workaround for IBM JDK and older intellij-core (vor 27 Stunden) <Alexander Udalov>
* f113c22450 - (tag: build-1.4.0-dev-4068) [JS IR BE] Fix enum entry initialization (vor 28 Stunden) <Svyatoslav Kuzmich>
* 04f9a03796 - (tag: build-1.4.0-dev-4059) [NI] Fix isNullableType for definitely not null type parameter (vor 28 Stunden) <Pavel Kirpichenkov>
* 88ae9bc7d5 - minor: rename test (vor 28 Stunden) <Pavel Kirpichenkov>
* 8af5e2bb04 - (tag: build-1.4.0-dev-4057) Make copy-paste resolve task modal to avoid invalid psi elements (vor 28 Stunden) <Vladimir Dolzhenko>
* 90750483ee - (tag: build-1.4.0-dev-4055) KT-36860 Collect extensions from object on first completion (vor 29 Stunden) <Roman Golyshev>
* 7dc9a2fc64 - (tag: build-1.4.0-dev-4053) [JS IR BE] Add intrinsic for hashCode on Boolean (vor 29 Stunden) <Zalim Bashorov>
* 2103c0e0f8 - [JS IR BE] Add intrinsic for hashCode on String (vor 29 Stunden) <Zalim Bashorov>
* c8efe8c4ec - Add tests for equals, hashCode, toString in String and Number (vor 29 Stunden) <Zalim Bashorov>
* 8e788e2169 - [stdlib-js-ir] Copy Boolean and String sources and add equals, hashCode, toString (vor 29 Stunden) <Zalim Bashorov>
* 9e59d93ad5 - [JS IR BE] Add intrinsics for hashCode on primitive number types (vor 29 Stunden) <Zalim Bashorov>
* adfb296e45 - [stdlib-js-ir] Add equals, hashCode, toString to some builtins (vor 29 Stunden) <Zalim Bashorov>
* 97e86fb2ce - [stdlib-js-ir] Char shouldn't be a data class (vor 29 Stunden) <Zalim Bashorov>
* 7c874ccf0c - [stdlib-js-ir] Hack: mark Char.toString by JsName to force keeping it (vor 29 Stunden) <Zalim Bashorov>
* 9e7f72382f - [stdlib-js-ir] Remove BitUtils object and make all members toplevel (vor 29 Stunden) <Zalim Bashorov>
* 62014e6711 - [JS IR BE] Add better error message when some function not found during init JsIrBackendContext (vor 29 Stunden) <Zalim Bashorov>
* 43171f67a8 - [stdlib-js-ir] Cleanup exceptions (vor 29 Stunden) <Zalim Bashorov>
* d22e4495de - [JS IR DCE] Improve handling overrides (vor 29 Stunden) <Zalim Bashorov>
* f60d0b2c7c - [JS IR CLI] Change K2JsIrCompiler#executableScriptFileName's body to `TODO()` and provide a proper fix later (vor 29 Stunden) <Zalim Bashorov>
* 2a7e32d3ae - [JS IR DCE] Add CLI option to print reachability info (vor 29 Stunden) <Zalim Bashorov>
* 16cd3f0cef - [JS IR DCE] Print reachability info (vor 29 Stunden) <Zalim Bashorov>
* e6657b016f - [JS IR DCE] Move withNested fun to get better diff in the next commit (vor 29 Stunden) <Zalim Bashorov>
* 95d248189f - [JS IR BE] JsClassGenerator: don't use descriptor for error message (vor 29 Stunden) <Zalim Bashorov>
* 01108d595c - (tag: build-1.4.0-dev-4047) Fix broken test data from 5d73550b (vor 30 Stunden) <Leonid Startsev>
* 63a909dee6 - (tag: build-1.4.0-dev-4045) JS: fix KT-37386 (vor 30 Stunden) <Anton Bannykh>
* 182c1cee05 - (tag: build-1.4.0-dev-4041) [Commonizer] Don't regenerate commonized KLIBs for *-SNAPSHOT versions (vor 31 Stunden) <Dmitriy Dolovov>
* d032f9b9cc - (tag: build-1.4.0-dev-4040) JVM_IR: handle common klibs when compiled via cli (vor 31 Stunden) <Georgy Bronnikov>
* 6af099c11a - Typo fix (vor 31 Stunden) <Georgy Bronnikov>
* afab52c3bc - (tag: build-1.4.0-dev-4038) Remove workarounds that called primary constructor manually (vor 2 Tagen) <Ilya Gorbunov>
* 338dae7a83 - (tag: build-1.4.0-dev-4028, origin/rr/4u7/tools-jar) Build: Apply checkCacheability.gradle.kts to buildSrc (vor 2 Tagen) <Vyacheslav Gerasimov>
* 35dc57d674 - Build: Sort idea files in ivy repository to stabilize order (vor 2 Tagen) <Vyacheslav Gerasimov>
* da0eeb0c28 - Build: Exclude plugin.xml from runtime classpath normalization (vor 2 Tagen) <Vyacheslav Gerasimov>
* a0b82c4dec - Build: Compile against tollsJarApi in idea-jvm & jvm-debugger-coroutine (vor 2 Tagen) <Vyacheslav Gerasimov>
* f735396ffb - Build: Make toolsJarApi() helper for JPS build (vor 2 Tagen) <Vyacheslav Gerasimov>
* c75ad13b66 - Build: Remove all code from tools-jar-api leaving only declarations (vor 2 Tagen) <Vyacheslav Gerasimov>
* ef169aa12b - Build: Use preprocessed tools.jar for compilation (vor 2 Tagen) <Vyacheslav Gerasimov>
* 8fbd22ff73 - (tag: build-1.4.0-dev-4008) Add test to check consistency of pre_release flag in the compiler (vor 2 Tagen) <Mikhail Zarechenskiy>
* 8fdc39ecbc - Update test data due to using stdlib with a pre_release flag (vor 2 Tagen) <Mikhail Zarechenskiy>
* ae6a603a92 - (tag: build-1.4.0-dev-4007) [Gradle, JS] Fix for produceExecutable in Groovy build script (vor 2 Tagen) <Ilya Goncharov>
* 90d012cecb - (tag: build-1.4.0-dev-4006) Handle unbound extension receiver in callable reference adaptation (vor 2 Tagen) <Dmitry Petrov>
* e175ff0d73 - KT-36953 break/continue/return/throw have kotlinType Nothing (vor 2 Tagen) <Dmitry Petrov>
* 603685b5a4 - (tag: build-1.4.0-dev-3995) Mute FIR2IR test (pushed as unmuted accidentally?) (vor 2 Tagen) <Mikhail Glukhikh>
* 2651fe9fb8 - FIR2IR: use CLASS kind for anonymous objects (vor 2 Tagen) <Mikhail Glukhikh>
* 9c3dfed2d7 - FIR2IR: provide IR_EXTERNAL_DECLARATION_STUB origin also for members (vor 2 Tagen) <Mikhail Glukhikh>
* e9699e7173 - FIR2IR: provide correct origins for arithmetic operators (vor 2 Tagen) <Mikhail Glukhikh>
* 64e71e9d25 - FIR2IR: use IR_EXTERNAL_DECLARATION_STUB for external classes (vor 2 Tagen) <Mikhail Glukhikh>
* ed6c9e67a1 - FIR2IR: convert qualifiers to companion objects, if any (vor 2 Tagen) <Mikhail Glukhikh>
* 7ea4c20f3d - [FIR TEST] Fix FIR_IDENTICAL adding for Fir2IrTextTestGenerated (vor 2 Tagen) <Mikhail Glukhikh>
* dd7ac1343e - (tag: build-1.4.0-dev-3994) [FIR] Unwrap when subject expression recursively in DFA variable storage (vor 2 Tagen) <Dmitriy Novozhilov>
* 676ffff015 - (tag: build-1.4.0-dev-3992) Minor, fix builtinFunctionReferenceOwner.kt for android-tests (vor 2 Tagen) <Alexander Udalov>
* ac6be2edba - (tag: build-1.4.0-dev-3987) Treat class files with no bytecode version as having the current version (vor 2 Tagen) <Alexander Udalov>
* 787e4503e5 - Migrate -Xuse-experimental -> -Xopt-in in project sources (vor 2 Tagen) <Alexander Udalov>
* d668808b44 - Migrate Experimental->RequiresOptIn in project sources (vor 2 Tagen) <Alexander Udalov>
* 795d6ab407 - Migrate UseExperimental->OptIn in project sources (vor 2 Tagen) <Alexander Udalov>
* 125b39d9be - (tag: build-1.4.0-dev-3982, origin/KT-36044) NI: Temporary apply test data until fix KT-37380 (vor 2 Tagen) <Victor Petukhov>
* 77f85d8b7c - (tag: build-1.4.0-dev-3978, tag: build-1.4.0-dev-3975) Move to top level: update import directives on the usage site when the declaration to be moved is not private (vor 2 Tagen) <Toshiaki Kameyama>
* b06a3ea5ac - (tag: build-1.4.0-dev-3973) Print out abi version as a full triple (vor 2 Tagen) <Alexander Gorshenev>
* a635748848 - Provide library producer compiler version in klib abi mismatch disagnostics (vor 2 Tagen) <Alexander Gorshenev>
* fac71ac812 - Be prepared if in the future we extend klib abi version to a triple (vor 2 Tagen) <Alexander Gorshenev>
* 5d73550b48 - (tag: build-1.4.0-dev-3971) Do not check visibility of enum entries in explicit api mode (vor 2 Tagen) <Leonid Startsev>
* 753d4b3cbd - (tag: build-1.4.0-dev-3970) Uast: `UastFakeLightMethod` equality fix (KT-37200) (vor 2 Tagen) <Nicolay Mitropolsky>
* c1f89159d9 - (tag: build-1.4.0-dev-3969) Pill: Add compiler.version module to Pill (vor 2 Tagen) <Yan Zhulanow>
* 7fff4e78e5 - (tag: build-1.4.0-dev-3967) [KLIB] Do not include return type into mangle (vor 2 Tagen) <Roman Artemev>
* 62621de4fc - [KLIB] Don't have a special mangle for internal declarations (vor 2 Tagen) <Roman Artemev>
* 7430bfe518 - [KLIB] Update test data (vor 2 Tagen) <Roman Artemev>
* 7034edac4c - [JS IR] Move signature consistency checker into appropriate place (vor 2 Tagen) <Roman Artemev>
* 3c26d38804 - Revert Clear computable when value is calculated in LockBasedStorageManager (vor 2 Tagen) <Vladimir Dolzhenko>
* ddba8e7691 - (tag: build-1.4.0-dev-3965) Extend incremental analysis to object declaration (vor 2 Tagen) <Vladimir Dolzhenko>
* ae208f58a4 - (tag: build-1.4.0-dev-3964) Workaround for KT-37302 (vor 2 Tagen) <Georgy Bronnikov>
* 735fae0e5a - (tag: build-1.4.0-dev-3958) JVM_IR: apply TailCallOptimizationLowering to all suspend functions (vor 3 Tagen) <pyos>
* dc388f3f3a - (tag: build-1.4.0-dev-3954) JVM_IR: add a test for suspend inline fun with defaults in a class (vor 3 Tagen) <pyos>
* 862cd5665b - JVM_IR: add continuations to inline suspend lambdas in the lowering (vor 3 Tagen) <pyos>
* b393f2f680 - JVM_IR: merge suspend view and suspend stub maps (vor 3 Tagen) <pyos>
* 15a0157c42 - (tag: build-1.4.0-dev-3932, origin/slava/more-maven-deps) FIR: Support proper loading of Map.merge (vor 3 Tagen) <Denis Zharkov>
* 4a1302e385 - FIR: Add problematic test case (vor 3 Tagen) <Denis Zharkov>
* b2ff4d7f9a - FIR: Support expansion of flexible type-alias-based types in inference (vor 3 Tagen) <Denis Zharkov>
* afb84b1d2a - FIR: Support type aliased declarations in HtmlFirDump (vor 3 Tagen) <Denis Zharkov>
2020-03-12 17:12:24 +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-03-12 13:42:05 +01:00
2020-03-10 19:19:52 +07:00
2017-03-30 09:51:58 +03:00
2019-12-18 16:58:28 +03:00
2020-03-04 14:30:45 +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%