Vasily Levchenko 81043beb33 [kotlin compiler][update] 1.4.30-dev-1638
* cc4d93ac71 - (HEAD -> master, tag: build-1.4.30-dev-1638, origin/master, origin/HEAD) [IR] Eliminated expensive calculating of fqNames (#3815) (vor 3 Tagen) <LepilkinaElena>
* 4f5b2b8e22 - (tag: build-1.4.30-dev-1637) Uncomment accidentally commented code in debugger tests (vor 3 Tagen) <Ilya Kirillov>
* 318d11dcec - (tag: build-1.4.30-dev-1633, origin/rr/gorshenev/tmp_rebase) [JVM_IR] Remove muting of fwBackingField. (vor 3 Tagen) <Mads Ager>
* 0505bd958a - [JVM] Fix the nop removal optimization. (vor 3 Tagen) <Mads Ager>
* 69127445a3 - (tag: build-1.4.30-dev-1631) JVM_IR: refine the condition for caching method nodes (vor 3 Tagen) <pyos>
* d6e0d2a55b - (tag: build-1.4.30-dev-1618) [Gradle, JS] Fix K/JS project build with configuration cache (part 2) (vor 3 Tagen) <Alexander.Likhachev>
* d7db643422 - (tag: build-1.4.30-dev-1615) Add box test for KT-33992 (vor 3 Tagen) <Roman Artemev>
* 023a62395a - Add box test for KT-36897 (vor 3 Tagen) <Roman Artemev>
* 5e406e8803 - (tag: build-1.4.30-dev-1613) [FIR-IDE] Unmute passing test (vor 3 Tagen) <Dmitriy Novozhilov>
* 9f5191f2a1 - [FIR-IDE] Regenerate tests (vor 3 Tagen) <Dmitriy Novozhilov>
* 8cb08139e1 - [FIR-IDE] Add example flag for enabling fir ide to gradle.properties (vor 3 Tagen) <Dmitriy Novozhilov>
* 0e47d32587 - [FIR] Properly set type of constants for java declarations (vor 3 Tagen) <Dmitriy Novozhilov>
* 5f641a2552 - [FIR] Add wrapping scopes with forced calculator in checkers and fir2ir (vor 3 Tagen) <Dmitriy Novozhilov>
* e75f218f87 - [FIR] Rename FirDeclarationOrigin.FakeOverride to SubstitutionOverride (vor 3 Tagen) <Dmitriy Novozhilov>
* 739ebf772c - [FIR] Add configuring FakeOverrideTypeCalculator into ConeKotlinType.scope (vor 3 Tagen) <Dmitriy Novozhilov>
* fc23cf76d4 - [FIR] Force calculation of return type of fake overrides in return type calculator (vor 3 Tagen) <Dmitriy Novozhilov>
* f9faa5be64 - [FIR] Don't force calculation of return type in substitution scope (vor 3 Tagen) <Dmitriy Novozhilov>
* 06981fc0af - [FIR] Move functions for fake override creating to separate objects (vor 3 Tagen) <Dmitriy Novozhilov>
* 1c2fdf7e3f - [FIR] Remove scope session from FirClassSubstitutionScope constructor (vor 3 Tagen) <Dmitriy Novozhilov>
* 9e863c90fc - [FIR] Remove redundant default values for functions in FirClassSubstitutionScope (vor 3 Tagen) <Dmitriy Novozhilov>
* e07f63d26c - [FIR] Move declaration attributes to declaration builders (vor 3 Tagen) <Dmitriy Novozhilov>
* 0b51fd03e2 - [FIR] Add failing test for incorrect type calculation of implicit types (vor 3 Tagen) <Dmitriy Novozhilov>
* 23f1cc6b07 - [FIR] Get rid of ReturnTypeCalculator in ScopeSession (vor 3 Tagen) <Dmitriy Novozhilov>
* fae1b70605 - [FIR] Fix type of this reference in `copy` funciton of data class (vor 3 Tagen) <Dmitriy Novozhilov>
* 0616f948c7 - (tag: build-1.4.30-dev-1612) Use actual form of decodeSerializableElement function in 'decodeSequentially' (vor 3 Tagen) <Leonid Startsev>
* 1bb2eefcaa - (tag: build-1.4.30-dev-1610) Fix find usages test testdata adding FIR_COMPARISON directive (vor 3 Tagen) <Ilya Kirillov>
* 1bc52c195c - (tag: build-1.4.30-dev-1609) [Gradle, JS] Uninternal _target in js extension (vor 3 Tagen) <Ilya Goncharov>
* 0b6959ee3d - (tag: build-1.4.30-dev-1606) [Gradle, K/N] Deprecate K/N compile classpath prop in favor of libraries (vor 3 Tagen) <Alexander.Likhachev>
* f4da283ffb - [Gradle, K/N] Move build cache tests into appropriate class (vor 3 Tagen) <Alexander.Likhachev>
* a0f4898009 - [Gradle, K/N] Make compile and link tasks cacheable (vor 3 Tagen) <Alexander.Likhachev>
* a9b53adc50 - (tag: build-1.4.30-dev-1604) JVM_IR: make `primitive == object` slightly less lazy. (vor 3 Tagen) <pyos>
* 4c09906235 - (tag: build-1.4.30-dev-1603) Build: add kotlin.build.useIRForLibraries to enable JVM IR for libraries separately (vor 3 Tagen) <Alexander Udalov>
* 29d8730964 - Build: when using JVM IR, produce stable binaries (vor 3 Tagen) <Alexander Udalov>
* 04a4f9cde6 - (tag: build-1.4.30-dev-1600) Minor: cover negative cases with test +m (vor 3 Tagen) <Pavel Kirpichenkov>
* 9669ab1468 - Report warning on @JvmStatic in private companion objects (vor 3 Tagen) <Pavel Kirpichenkov>
* d769ca06ab - Add test for KT-25114 (vor 3 Tagen) <Pavel Kirpichenkov>
* c6da2a1138 - (tag: build-1.4.30-dev-1597) Reuse built functional types for postponed arguments by expected types and paths from a top level type variable (vor 3 Tagen) <Victor Petukhov>
* ee5edf4caa - (tag: build-1.4.30-dev-1596, origin/rr/pdn_jvmir_abi_ic_remove_int) JVM_IR fix 'remove' in inline class implementing MutableCollection (vor 3 Tagen) <Dmitry Petrov>
* 95edcea9a9 - (tag: build-1.4.30-dev-1579) Build: fix kotlinx-metadata-jvm publication (vor 4 Tagen) <Alexander Udalov>
* 8dd80fe3c9 - (tag: build-1.4.30-dev-1578) Wizard: fix maven testdata (vor 4 Tagen) <Ilya Kirillov>
* 394245ba4c - Wizard: do not run compose tests for Groovy dsl (vor 4 Tagen) <Ilya Kirillov>
* ec1528e742 - Wizard: use custom Kotlin version for compose project (vor 4 Tagen) <Ilya Kirillov>
* b0bb03d761 - Wizard: return junit back to android target (vor 4 Tagen) <Ilya Kirillov>
* 42914b4046 - Wizard: add resolutionStrategy for mpp library template (vor 4 Tagen) <Ilya Kirillov>
* f5d638eb8f - Wizard: do not create empty local.properties file (vor 4 Tagen) <Ilya Kirillov>
* aeff3c2682 - Wizard: regenerate tests (vor 4 Tagen) <Ilya Kirillov>
* b7017c233e - Wizard: use different Kotlin version for compose templates (vor 4 Tagen) <Ilya Kirillov>
* 1cc007fcbf - Wizard: introduce Compose MPP template (vor 4 Tagen) <Ilya Kirillov>
* 7422690ea1 - Wizard: fix InvalidModuleDependencyError error message (vor 4 Tagen) <Ilya Kirillov>
* 2a5679e0c6 - Wizard: make project templates list scrollable (vor 4 Tagen) <Ilya Kirillov>
* db069c3264 - Wizard: add compose desktop template (vor 4 Tagen) <Ilya Kirillov>
* d547cb9ee6 - Wizard: introduce mobile mpp module template & allow module templates for mpp modules (vor 4 Tagen) <Ilya Kirillov>
* ac6b9e4aa0 - Wizard: add android extensions plugin only by flag (vor 4 Tagen) <Ilya Kirillov>
* ed924a1c99 - Wizard: change custom maven repositories rendering (vor 4 Tagen) <Ilya Kirillov>
* 31dac65a39 - Wizard: remove extra line break in build files (vor 4 Tagen) <Ilya Kirillov>
* 9948c265df - Wizard: add setting to hide version & groupId in gradle (vor 4 Tagen) <Ilya Kirillov>
* d3e99bd7a7 - Wizard: simplify custom maven repository syntax for Gradle (vor 4 Tagen) <Ilya Kirillov>
* 3ef12e32ee - Wizard: update libraries versions (vor 4 Tagen) <Ilya Kirillov>
* fa8951c19e - Wizard: move common repositories to the allprojects section (vor 4 Tagen) <Ilya Kirillov>
* e824199169 - Wizard: remove resolutionStrategy from settings.gradle (vor 4 Tagen) <Ilya Kirillov>
* 8b89eb5dc8 - Wizard: clean activity_main.xml & AndroidManifest.xml files (vor 4 Tagen) <Ilya Kirillov>
* 733cd8891a - Wizard: simplify android configuration (vor 4 Tagen) <Ilya Kirillov>
* 4858b72a8d - (tag: build-1.4.30-dev-1577) Bump junit from 4.11 to 4.13.1 in /libraries (vor 4 Tagen) <dependabot[bot]>
* f69928d2b1 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 845d6ae063 - Bump junit in /libraries/tools/kotlin-maven-plugin/src/it/simple (vor 4 Tagen) <dependabot[bot]>
* b778298486 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* f3c26af0c7 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* c2ed625f25 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* e9255c8f17 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 41123be3a2 - (tag: build-1.4.30-dev-1575) Bump junit (vor 4 Tagen) <dependabot[bot]>
* 3f27bb374a - Bump junit (vor 4 Tagen) <dependabot[bot]>
* fb7736377c - Bump junit (vor 4 Tagen) <dependabot[bot]>
* df202c9b3f - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 7fe9966e02 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 046ed1e08c - (tag: build-1.4.30-dev-1573) Bump junit (vor 4 Tagen) <dependabot[bot]>
* 0396ed29cc - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 2a9e6df9b1 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 1bf2a6b013 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 797c02e1cb - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 916f9766ad - (tag: build-1.4.30-dev-1572) Bump junit (vor 4 Tagen) <dependabot[bot]>
* c012b16430 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 74ad4eb00e - Bump junit (vor 4 Tagen) <dependabot[bot]>
* e888f54ae8 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 1ca5bef7e6 - (origin/dependabot/maven/libraries/tools/kotlin-maven-plugin-test/src/it/test-helloworld/junit-junit-4.13.1) Bump junit (vor 6 Tagen) <dependabot[bot]>
* 209d5fd6c9 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* c8e84f82eb - (tag: build-1.4.30-dev-1564) Proper check NON_JVM_DEFAULT_OVERRIDES_JAVA_DEFAULT in new jvm-default modes (vor 4 Tagen) <Mikhael Bogdanov>
* b6dc99b98e - Skip java defaults in EXPLICIT_OVERRIDE_REQUIRED_IN_MIXED_MODE check (vor 4 Tagen) <Mikhael Bogdanov>
* a60febbdfb - (tag: build-1.4.30-dev-1559) KotlinMPPGradleProjectResolver: Ensure that artifactsMap is populated when Android plugin applied (vor 4 Tagen) <sebastian.sellmair>
* b42795a9ea - (tag: build-1.4.30-dev-1557) Bump 'com.gradle.plugin-publish' from 0.11.0 to 0.12.0 (#3853) (vor 4 Tagen) <Victor Turansky>
* 09acea5548 - (tag: build-1.4.30-dev-1555) [FIR]: Set proper classId to enum entries (vor 4 Tagen) <Juan Chen>
* ed188204b4 - (tag: build-1.4.30-dev-1551) FIR checker: make property init analyzer path-sensitive (vor 4 Tagen) <Jinseong Jeon>
* 6fc3f7e776 - FIR CFG: label edges from try-enter through finally block to exit target (vor 4 Tagen) <Jinseong Jeon>
* 43852ad7ab - FIR CFG: add edges from try/catch to finally (vor 4 Tagen) <Jinseong Jeon>
* ea2f773e54 - FIR checker: reproduce KT-42350 (vor 4 Tagen) <Jinseong Jeon>
* da69e3db7c - (tag: build-1.4.30-dev-1550) kotlinx-metadata-jvm: report error on using metadata version < 1.4 in writers (vor 4 Tagen) <Alexander Udalov>
* 5d7d9beb0d - kotlinx-metadata-jvm: remove bytecodeVersion from write methods (vor 4 Tagen) <Alexander Udalov>
* 90d66b0ba5 - kotlinx-metadata: reformat, cleanup, fix inspections (vor 4 Tagen) <Alexander Udalov>
* c89c31cd29 - (tag: build-1.4.30-dev-1549) [KLIB] Fix package name (js -> common) (vor 4 Tagen) <Roman Artemev>
* 07a1124b99 - [KLIB] Support error code in metadata (vor 4 Tagen) <Roman Artemev>
* f4830c88b9 - [JS IR] Make error code tests modular (vor 4 Tagen) <Roman Artemev>
* 0f7032051b - [JS IR] Fix klib generation (proper order of flags) (vor 4 Tagen) <Roman Artemev>
* a4945878aa - [KLIB] Pass `containsErrorCode` flag from library/IC cache into deserializer (vor 4 Tagen) <Roman Artemev>
* 28c6d17ab4 - [KLIB] Mark klib that contains error with special flag (vor 4 Tagen) <Roman Artemev>
* 98e5510871 - [KLIB] Support IrError* nodes in serialization (vor 4 Tagen) <Roman Artemev>
* 934141f8af - [KLIB] Support IrError* nodes in klib proto (vor 4 Tagen) <Roman Artemev>
* 8ce497c7ef - [IR] Add wrapped descriptor for error declaration (vor 4 Tagen) <Roman Artemev>
* eacc94a89d - (tag: build-1.4.30-dev-1533) Do not hide synthetic properties except `isEmpty` from Java (vor 4 Tagen) <Mikhail Zarechenskiy>
* 4227e2dc40 - (tag: build-1.4.30-dev-1519) [Cocoapods] Fix task and directory naming to avoid subspecs collision (vor 4 Tagen) <Yaroslav Chernyshev>
* b8817d5884 - (tag: build-1.4.30-dev-1517) FIR2IR: clean up dead code regarding overriding utils (vor 4 Tagen) <Jinseong Jeon>
* 5f64d6ec76 - FIR2IR: add support for callable reference to Java field (vor 4 Tagen) <Jinseong Jeon>
* 65545a10c4 - FIR: reproduce KT-42656 (vor 4 Tagen) <Jinseong Jeon>
2020-10-19 11:38:07 +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%