Vasily Levchenko a67cc28a26 [kotlin compiler][update] 1.4.0-dev-9010
* 574b917061 - (tag: build-1.4.0-dev-9010, origin/rr/ic/compiler-deps) Remove new kotlin daemon from dist (vor 17 Stunden) <Ilya Chernikov>
* 3dd79ffea6 - Update coroutines-core version to 1.3.7 (vor 17 Stunden) <Ilya Chernikov>
* 9d98c90881 - Drop coroutines from compiler jar, add appropriate plugin dependency (vor 17 Stunden) <Ilya Chernikov>
* 343e519f7f - (tag: build-1.4.0-dev-9005) [FIR-PLUGIN] Update testdata according removed class generation stage (vor 19 Stunden) <Dmitriy Novozhilov>
* e340dacb9a - [FIR-PLUGIN] Add check to test that jar with annotations exists (vor 19 Stunden) <Dmitriy Novozhilov>
* d49c198a7f - [FIR] Correctly initialize extensions in all sessions (vor 19 Stunden) <Dmitriy Novozhilov>
* 96da6d35c5 - [FIR] Add processor for transforming statuses with plugins (vor 19 Stunden) <Dmitriy Novozhilov>
* 8d686226c7 - [FIR] Introduce FirResolveProcessors (vor 19 Stunden) <Dmitriy Novozhilov>
* 96802dde04 - [FIR-PLUGIN] Fix compilation (vor 19 Stunden) <Dmitriy Novozhilov>
* 3de12f9b09 - [FIR] Completely remove old extensions service (vor 19 Stunden) <Dmitriy Novozhilov>
* 9a8d520b85 - [FIR] Remove first version of class generation transformer (vor 19 Stunden) <Dmitriy Novozhilov>
* 3e3387fb69 - [FIR] Remove extension status transformation from status resolve (vor 19 Stunden) <Dmitriy Novozhilov>
* 006232dfb2 - [FIR] Fix FirPluginAnnotationsResolveTransformer (vor 19 Stunden) <Dmitriy Novozhilov>
* 206a646195 - [FIR] Use caches for predicate matching (vor 19 Stunden) <Dmitriy Novozhilov>
* 594a854b4e - [FIR] Reimplement FirExtensionService (vor 19 Stunden) <Dmitriy Novozhilov>
* 846db641be - [FIR] Make ArrayMap iterable (vor 19 Stunden) <Dmitriy Novozhilov>
* 5c12b3df95 - [FIR] Introduce FirPredicateBasedProvider (vor 19 Stunden) <Dmitriy Novozhilov>
* 0b00015424 - [FIR] Deprecate FirExtensionsService (vor 19 Stunden) <Dmitriy Novozhilov>
* f3d4fa715e - [FIR] Introduce DeclarationPredicates for matching declarations for extensions (vor 19 Stunden) <Dmitriy Novozhilov>
* 74353d8bc9 - [FIR] Introduce `FirAnnotatedDeclaration` (vor 19 Stunden) <Dmitriy Novozhilov>
* 799253256c - [FIR-PLUGIN] Add additional checker to prototype plugin (vor 19 Stunden) <Dmitriy Novozhilov>
* f764baad82 - [FIR] Add extension with additional checkers (vor 19 Stunden) <Dmitriy Novozhilov>
* 04a1027b39 - [FIR] Add empty instances of `DeclarationCheckers` and `ExpressionCheckers` (vor 19 Stunden) <Dmitriy Novozhilov>
* c0a57ae55c - [FIR] Move expression checkers from package `call` to `expression` (vor 19 Stunden) <Dmitriy Novozhilov>
* 6d6ed1e755 - [FIR] Create session component with registered checkers (vor 19 Stunden) <Dmitriy Novozhilov>
* b61b4e4a97 - (tag: build-1.4.0-dev-9002) Use proper `distributionSha256Sum` for android tests (vor 21 Stunden) <Mikhail Bogdanov>
* bfad00e8c9 - (tag: build-1.4.0-dev-8982) Mute android-related gradle import tests (vor 2 Tagen) <Andrey Uskov>
* 22c4d30a89 - (tag: build-1.4.0-dev-8981) Correct docs of ThreadLocal and SharedImmutable annotations (vor 2 Tagen) <Ilya Gorbunov>
* dae7a23998 - Clarify docs of CharSequence.split(Pattern, limit) (vor 2 Tagen) <Ilya Gorbunov>
* f3145454f2 - (tag: build-1.4.0-dev-8966) Decommonize collection builder implementations (vor 2 Tagen) <Abduqodiri Qurbonzoda>
* 379c6944a2 - (tag: build-1.4.0-dev-8958) NI: extract diagnostics from partially resolved call instead of separately handling it including running all checks (vor 3 Tagen) <Victor Petukhov>
* eaa16714f6 - (tag: build-1.4.0-dev-8950, origin/rr/gradle/matveev/partially-fix-KT-32476) [Gradle, native] Allow disabling warning about incorrect dependencies (vor 3 Tagen) <Ilya Matveev>
* c9adf22697 - (tag: build-1.4.0-dev-8944) [JS] Remove binding context from NameSuggestion instance (vor 3 Tagen) <Svyatoslav Kuzmich>
* 104352b313 - (tag: build-1.4.0-dev-8927) [Gradle, JS] Remove browser tests from gradle integration tests (vor 3 Tagen) <Ilya Goncharov>
* 6e3d3831c2 - (tag: build-1.4.0-dev-8918) [JS] JsExport diagnostics and legacy support (vor 3 Tagen) <Svyatoslav Kuzmich>
* 4076bf40a9 - (tag: build-1.4.0-dev-8914, tag: build-1.4.0-dev-8913) [Commonizer] Add Gradle property to pass JVM args (vor 3 Tagen) <Dmitriy Dolovov>
* 2a1e014d51 - Minor. Add jetbrains to project dictionary (vor 3 Tagen) <Dmitriy Dolovov>
* c736a1e5b0 - (tag: build-1.4.0-dev-8910) [Spec tests] Update testsMap for when-expression section (vor 3 Tagen) <anastasiia.spaseeva>
* d9160a26e9 - [Spec tests] Add property `helpers` to testMaps (vor 3 Tagen) <anastasiia.spaseeva>
* cbba52e43c - [Spec tests] Make collectInfoFromTests for both spec and implementation tests (vor 3 Tagen) <anastasiia.spaseeva>
* 270972ca1c - [Spec tests] Make main link nullable for case if implementation tests don't have this one (vor 3 Tagen) <anastasiia.spaseeva>
* 3a46b5a45a - [Spec tests] Add path element at testMaps for main links also (vor 3 Tagen) <anastasiia.spaseeva>
* d94c212a60 - [Spec tests] Add linkType element to testMaps (vor 3 Tagen) <anastasiia.spaseeva>
* 3a31150df4 - [Spec tests] Metadata refactoring: remove duplicated links in testMaps (vor 3 Tagen) <anastasiia.spaseeva>
* d32aca87d1 - [Spec tests] Change metadata structure of implementation and spec tests (vor 3 Tagen) <anastasiia.spaseeva>
* 80cd26c9df - (tag: build-1.4.0-dev-8897) [FIR] Support several annotation class diagnostics (vor 4 Tagen) <Mikhail Likholetov>
* c112d37ac1 - (tag: build-1.4.0-dev-8896) Consolidate resolving in the new lib, deprecate it in script-util (vor 4 Tagen) <Ilya Chernikov>
* 7d426226f9 - Switch example to the new maven resolving API (vor 4 Tagen) <Ilya Chernikov>
* f363134fbc - Do not continue compilation if collected dependencies contain error (vor 4 Tagen) <Ilya Chernikov>
* d92e4d28f5 - Provide a method to update script definitions after loading into IDE (vor 4 Tagen) <Ilya Chernikov>
* 4b032a14af - Refactor host configuration handling and script definition creation (vor 4 Tagen) <Ilya Chernikov>
* 255ad47406 - Use copied key to extract default jdkHome from host configuration (vor 4 Tagen) <Ilya Chernikov>
* 20bbcd5d5a - Implement copied key with ability to take default from source config (vor 4 Tagen) <Ilya Chernikov>
* 3c9207a2cd - (tag: build-1.4.0-dev-8895) [Gradle, JS] Add test on local project dependency (vor 4 Tagen) <Ilya Goncharov>
* 985623eac5 - [Gradle, JS] Fix hmpp on only js (vor 4 Tagen) <Ilya Goncharov>
* bed7b23d6c - [Gradle, JS] Fix naming of test and test data (vor 4 Tagen) <Ilya Goncharov>
* d089bbe14a - [Gradle, JS] Fix for JsIrTarget in mixed mode (vor 4 Tagen) <Ilya Goncharov>
* 79984b6e04 - [Gradle, JS] Add test on hmpp with both js (vor 4 Tagen) <Ilya Goncharov>
* a6812e5d6a - [Gradle, JS] Add fake common usage context for single js plugin publish (vor 4 Tagen) <Ilya Goncharov>
* 4f747072f4 - [Gradle, JS] Define fake configuration for single js plugin to publish as common (vor 4 Tagen) <Ilya Goncharov>
* 22f5d3b134 - [Gradle, JS] Add isMpp property (vor 4 Tagen) <Ilya Goncharov>
* 0b33e9430b - (tag: build-1.4.0-dev-8891) [NI] Report unstable smart cast directly instead of using SmartCastManager (vor 4 Tagen) <Pavel Kirpichenkov>
* b808d5f381 - (tag: build-1.4.0-dev-8888) TrailingCommaInspection: cleanup code (vor 4 Tagen) <Dmitry Gridin>
* ee141ae57b - TrailingCommaInspection: add dependency to settings (vor 4 Tagen) <Dmitry Gridin>
* 8d77ec83c6 - (tag: build-1.4.0-dev-8884) [Gradle, native] Don't set system properties when the compiler runs in daemon (vor 4 Tagen) <Ilya Matveev>
* f88722ae76 - Update K/N: 1.4-M3-dev-15627 (vor 4 Tagen) <Ilya Matveev>
* a83b0bef96 - (tag: build-1.4.0-dev-8881, origin/rr/fedochet/KT-38841/fixing-intention-preview) KT-38841 Do not call `preparePsiElementForWrite` if not needed (vor 4 Tagen) <Roman Golyshev>
* b89878a509 - (tag: build-1.4.0-dev-8878) Update testData for KAPT tests for new inline class ABI (vor 4 Tagen) <Dmitry Petrov>
* 7a947e8008 - (tag: build-1.4.0-dev-8863) FIR: fix default constructor visibility for enum entry. (vor 4 Tagen) <Jinseong Jeon>
* 0d3301b695 - FIR: resolve local class in anonymous initializer. (vor 4 Tagen) <Jinseong Jeon>
* 2ff5b253ae - (tag: build-1.4.0-dev-8856) [NI] Fix suspend conversions for subtypes of functional types (vor 5 Tagen) <Mikhail Zarechenskiy>
* 3903814c9c - (tag: build-1.4.0-dev-8854) Revert "KT-38841 Remove redundant `preparePsiElementForWrite` call" (vor 5 Tagen) <Roman Golyshev>
* 12db3d6e83 - (tag: build-1.4.0-dev-8852) NI: remove separation of variable fixation order by constraint kind (vor 5 Tagen) <Victor Petukhov>
* 874fa5b998 - (tag: build-1.4.0-dev-8848, tag: build-1.4.0-dev-8832) Bootstrap: 1.4.0-dev-8798 (vor 5 Tagen) <Dmitry Petrov>
* 165b62da63 - (tag: build-1.4.0-dev-8829) KT-38841 Remove redundant `preparePsiElementForWrite` call (vor 5 Tagen) <Roman Golyshev>
* 933440dc63 - (tag: build-1.4.0-dev-8824) JVM IR: Fix mangling of @JvmStatic internal function in companion objects (vor 5 Tagen) <Steven Schäfer>
* 2d0445ebaa - (tag: build-1.4.0-dev-8818) Add klib extension to ARCHIVE fileType (vor 5 Tagen) <Vladimir Dolzhenko>
* fceaf65729 - (tag: build-1.4.0-dev-8812) [NI] Don't compute conversions for definitely not SAM parameter (vor 5 Tagen) <Mikhail Zarechenskiy>
* 8bdc4d34f7 - [NI] Commonize type-conversions (SAM/Suspend) (vor 5 Tagen) <Mikhail Zarechenskiy>
* f702da5c51 - [NI] Small refactoring around type conversions (vor 5 Tagen) <Mikhail Zarechenskiy>
* d3d162f9c8 - Refactoring: start commonization of type-conversions (vor 5 Tagen) <Mikhail Zarechenskiy>
* cce9646c7d - Refactoring: extract method about SAM conversions out (vor 5 Tagen) <Mikhail Zarechenskiy>
* 372f378edc - [NI] Support nested transactions inside constraint system (vor 5 Tagen) <Mikhail Zarechenskiy>
* 4f26ac9a04 - (tag: build-1.4.0-dev-8807) Fix "Koltin" typos throughout codebase (#3383) (vor 5 Tagen) <Kevin Most>
* 38fd9c3d1a - (tag: build-1.4.0-dev-8802) Fix KT-39063 by not adding extendsFrom with metadata configurations (vor 5 Tagen) <Sergey Igushkin>
* 6fcdab23cc - (tag: build-1.4.0-dev-8798) Bootstrap: 1.4.0-dev-8774 (vor 5 Tagen) <Dmitry Petrov>
* 88efac00b3 - (tag: build-1.4.0-dev-8794) Disable klib fileType in lue of KLibFileTypeFactory (vor 5 Tagen) <Vladimir Dolzhenko>
* 081d6c1dff - (tag: build-1.4.0-dev-8789) Useless call on collection: propose 'Replace with toList()' instead of 'Remove useless call' if receiver is array type (vor 5 Tagen) <Toshiaki Kameyama>
* 994897cee9 - (tag: build-1.4.0-dev-8786) Fix textdata after reverting a commit about CompilerMessageLocation (vor 5 Tagen) <Ilya Chernikov>
* d825428718 - (tag: build-1.4.0-dev-8782) New J2K : move resolve resolve out of EDT in shorten references processing (vor 5 Tagen) <Ilya Kirillov>
* dc57d307f3 - (tag: build-1.4.0-dev-8780) [FIR] Clean data flow context before body resolve of file (vor 5 Tagen) <Dmitriy Novozhilov>
* 8df635a4e0 - [FIR] Add cleanup of tower data for imports (vor 5 Tagen) <Dmitriy Novozhilov>
* b05546dd64 - [FIR] Add check for session consistency in body resolve transformer (vor 5 Tagen) <Dmitriy Novozhilov>
* 371757309e - [FIR] Don't recreate transformer in FirBodyResolveTransformerAdapter (vor 5 Tagen) <Dmitriy Novozhilov>
* 4e07f8180b - [FIR] Don't recreate transformer in FirImplicitTypeBodyResolveTransformerAdapter (vor 5 Tagen) <Dmitriy Novozhilov>
* c4407d6d63 - [FIR] Don't recreate transformer in FirContractResolveTransformerAdapter (vor 5 Tagen) <Dmitriy Novozhilov>
* c1080989b6 - [FIR] Suppress pointless unchecked casts in FirStatusResolveTransformer (vor 5 Tagen) <Dmitriy Novozhilov>
* 329af65996 - [FIR] Get rid of `FirStatusResolveTransformerAdapter` (vor 5 Tagen) <Dmitriy Novozhilov>
* 93992d1d75 - [FIR] Get rid of `FirTypeResolveTransformerAdapter` (vor 5 Tagen) <Dmitriy Novozhilov>
* ca4deec10e - [FIR] Don't recreate transformers in `FirSupertypeResolverTransformer` (vor 5 Tagen) <Dmitriy Novozhilov>
* dc30bf5d09 - [FIR] Don't recreate transformers in `FirPluginAnnotationsResolveTransformer` (vor 5 Tagen) <Dmitriy Novozhilov>
* 0544369503 - [FIR] Add `transformImports` to FirFile (vor 5 Tagen) <Dmitriy Novozhilov>
* f60c8eac71 - [FIR] Don't rewrite session in FirImportResolveTransformer (vor 5 Tagen) <Dmitriy Novozhilov>
* 67a259a903 - [FIR] Get rid of `FirSymbolProvider.getInstance(session)`` (vor 5 Tagen) <Dmitriy Novozhilov>
* 24c8a659ee - [FIR] Add FirSession as parameter for FirTotalResolveTransformer (vor 5 Tagen) <Dmitriy Novozhilov>
* c165b8d55c - (tag: build-1.4.0-dev-8774) JVM: Update IR bytecode text and signature tests (vor 5 Tagen) <Dmitry Petrov>
* 16e7a42aea - JVM: Fix line numbers in test (vor 5 Tagen) <Dmitry Petrov>
* e625bb375f - Temporarily mute unsigned tests in JVM_IR and FIR (vor 5 Tagen) <Dmitry Petrov>
* de4ebe4395 - Prohibit @JvnName on functions mangled because of return type (vor 5 Tagen) <Dmitry Petrov>
* fcf8a91a38 - Update kotlin-stdlib-runtime-merged.txt (vor 5 Tagen) <Dmitry Petrov>
* cf70c83ab7 - JVM: Update tests (vor 5 Tagen) <Dmitry Petrov>
* 2f82c5b6af - JVM: Fix default parameter values handling (vor 5 Tagen) <Dmitry Petrov>
* dc9f64fc9d - JVM: Fix reflection tests for new IC ABI (vor 5 Tagen) <Dmitry Petrov>
* b5bd3604b1 - JVM: Mangle functions returning inline class values (vor 5 Tagen) <Dmitry Petrov>
* 9beb36ca2b - (tag: build-1.4.0-dev-8773) Code style: add option for blank lines before declarations (vor 5 Tagen) <Dmitry Gridin>
* 499a02ebe3 - (tag: build-1.4.0-dev-8771) AddThrowsAnnotationIntention: improve for mpp (vor 5 Tagen) <Dmitry Gridin>
* 8b4660031f - multiPlatformSetup: cleanup code (vor 5 Tagen) <Dmitry Gridin>
* 7b079a5f1c - (tag: build-1.4.0-dev-8770) Deprecated symbol usages: fix test (vor 5 Tagen) <Dmitry Gridin>
* 1ba4d7d99b - Update foreign references when renaming a Kotlin file (vor 10 Tagen) <Vyacheslav Karpukhin>
* ba993ba0fe - Provide an extension point that allows plugins to handle renaming of references in other languages (vor 4 Wochen) <Vyacheslav Karpukhin>
* 16b4342d92 - (tag: build-1.4.0-dev-8750) Add minor test for SMAP (vor 6 Tagen) <Mikhail Bogdanov>
* 73e91af792 - (tag: build-1.4.0-dev-8749) IDEA: test the plugin's ability to parse correct JSR-045 data (vor 6 Tagen) <pyos>
* c51c537504 - JVM: use precise line bounds when regenerating objects with no SMAPs (vor 6 Tagen) <pyos>
* 7222a732c1 - JVM: treat empty SMAP instances as "skip all line numbers" (vor 6 Tagen) <pyos>
* 86b28b95ca - JVM: keep call site markers when inlining lambdas into objects (vor 6 Tagen) <pyos>
* 5feadd56ef - JVM: parse KotlinDebug when regenerating anonymous objects (vor 6 Tagen) <pyos>
* 1fe7ef6521 - JVM: separate the two kinds of source mappers (vor 6 Tagen) <pyos>
* 143d8d1520 - (tag: build-1.4.0-dev-8748) Minor: fix issue reference (vor 6 Tagen) <Ilya Gorbunov>
* d37c412f76 - Suppress a couple more warnings (vor 6 Tagen) <Ilya Gorbunov>
* bf21e1282a - Suppress most of unused parameter warnings (vor 6 Tagen) <Ilya Gorbunov>
* dd46d5ca5a - Add sample for Map.flatMap (vor 6 Tagen) <Dmitry Borodin>
* 1a0b59da49 - (tag: build-1.4.0-dev-8747) KT-20357 Add sortedBy() sample (#3283) (vor 6 Tagen) <Dmitry Borodin>
* 0d71758112 - (tag: build-1.4.0-dev-8742) Build: Add miscCompilerTest task (vor 6 Tagen) <Vyacheslav Gerasimov>
* eff5f3a242 - (tag: build-1.4.0-dev-8731) NI: do type checking for anonymous functions not inside a call (vor 6 Tagen) <Victor Petukhov>
* 425ce8c3ab - (tag: build-1.4.0-dev-8726) [FIR] Use flexible type lower bound when approximating type for IntegerLiteral. (vor 6 Tagen) <Mark Punzalan>
* d5141674a3 - [FIR] Update GenerateRangesCodegenTestData for newly-enabled FIR tests. (vor 6 Tagen) <Mark Punzalan>
* 89d706972c - [FIR] Use vararg element type when generating argument mapping. (vor 6 Tagen) <Mark Punzalan>
* 98d3855fd8 - (tag: build-1.4.0-dev-8723) KotlinDslModels: project can be null in ExternalSystemTaskNotificationListener.onStart (vor 6 Tagen) <Natalia Selezneva>
* 879fe9b493 - Fix order of ExternalSystemListeners (vor 6 Tagen) <Natalia Selezneva>
* 1a1bcefb2a - Add debug logger to ScriptTemplatesFromDependenciesProvider (vor 6 Tagen) <Natalia Selezneva>
* 16b7232b4f - Minor: do not associate with the same extensions multiple times in ScriptDefinitionsManager (vor 6 Tagen) <Natalia Selezneva>
* 8d22429abc - Do not show notification before all definitions are loaded (vor 6 Tagen) <Natalia Selezneva>
* 1513429613 - Load script definitions in IDE on project opening (vor 6 Tagen) <Natalia Selezneva>
* 942c8aaafc - Introduce index for folders with script definitions templates (vor 6 Tagen) <Natalia Selezneva>
2020-05-25 18:30:48 +02:00
2020-05-20 19:52:35 +07:00
2017-03-30 09:51:58 +03:00
2020-03-25 12:31:44 +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
2018-09-13 11:48:42 +03:00
2019-01-30 19:11:11 +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 (Xcode 11.4 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%