*92a0ddfe71- (HEAD -> master, tag: build-1.4.0-dev-3929, origin/master, origin/HEAD) NI: discard def not null types if they appear in return positions, in `inv` or `in` variance ^KT-37343 Fixed (vor 18 Stunden) <Victor Petukhov> *368b0d9b0b- (tag: build-1.4.0-dev-3916) [JVM IR] Use reference equality when comparing enums. (vor 3 Tagen) <Mark Punzalan> *a732e8f5fe- (tag: build-1.4.0-dev-3915) [JVM IR] Ensure there is one accessor for each `super` access from a subclass when there are multiple subclasses in a file. (vor 3 Tagen) <Mark Punzalan> *34fb636904- (tag: build-1.4.0-dev-3913) JVM: Generate generic signatures for delegate fields (vor 3 Tagen) <Steven Schäfer> *20ea77d55d- (tag: build-1.4.0-dev-3900) JVM_IR: refactor ToArrayLowering and make matching more precise (vor 3 Tagen) <pyos> *a2b6282d49- (tag: build-1.4.0-dev-3891) Refactor ApiVersion.KOTLIN_1_4 usages in relation to unified null checks (vor 3 Tagen) <Alexander Udalov> *98aecbef6b- Optimize runtime representation for callable reference subclasses (vor 3 Tagen) <Alexander Udalov> *8d7c8672ac- Generate reference to existing class for builtin function references (vor 3 Tagen) <Alexander Udalov> *bfa371ea73- (tag: build-1.4.0-dev-3884) [FIR] Rewrite casts to reduce performance dispersion (vor 3 Tagen) <simon.ogorodnik> *426f498e87- [FIR] Forking runner for modularized test (vor 3 Tagen) <simon.ogorodnik> *63a1e7c6ff- [FIR] Add test for #KT-37321 (vor 3 Tagen) <Dmitriy Novozhilov> *92449d6d9b- [FIR] Organize code for postponed arguments (vor 3 Tagen) <Dmitriy Novozhilov> *1c0fd7342f- [FIR] Support completion of lambdas with type variable as expected type (vor 3 Tagen) <Dmitriy Novozhilov> *643d7be12d- [FIR] Add base class for `PostponedResolvedAtomMarker` to FIR (vor 3 Tagen) <Dmitriy Novozhilov> *2a58fc238f- [FIR-TEST] Move stdlib tests for delegates to separate directory (vor 3 Tagen) <Dmitriy Novozhilov> *3655f0c499- [FIR-TEST] Move fixed test from `problems` directory (vor 3 Tagen) <Dmitriy Novozhilov> *037b442e86- (tag: build-1.4.0-dev-3883) JVM_IR: do not explicitly initialize Refs to default values (vor 3 Tagen) <pyos> *13b04e63be- JVM_IR: wrap inline class objects in unboxed refs (vor 3 Tagen) <pyos> *68745ec43f- JVM_IR: refactor JvmSharedVariablesManager (vor 3 Tagen) <pyos> *ed96b81a42- (tag: build-1.4.0-dev-3881) [Commonzer] Fix ISE during commonization, improve interner performance (vor 3 Tagen) <Dmitriy Dolovov> *7da220b0a2- (tag: build-1.4.0-dev-3878) [Gradle, JS] Check current chosen js compiler for targets in JS and MPP (vor 3 Tagen) <Ilya Goncharov> *a1263e445e- [Gradle, JS] Add redundant methods for single js plugin (vor 3 Tagen) <Ilya Goncharov> *8487211ae1- (tag: build-1.4.0-dev-3874) JVM_IR: refine the condition for mangling names of multifile members (vor 3 Tagen) <pyos> *8fbfa8b819- (tag: build-1.4.0-dev-3872) [Gradle, JS] Migrate from singletons to classes (vor 3 Tagen) <Ilya Goncharov> *82de930574- [Gradle, JS] Consider transitivity in cache of npm dependencies (vor 3 Tagen) <Ilya Goncharov> *49814c438c- [Gradle, JS] Fix naming (vor 3 Tagen) <Ilya Goncharov> *2eea8b0760- [Gradle, JS] Support transitive mode for npm dependencies (vor 3 Tagen) <Ilya Goncharov> *d108c8ef51- [Gradle, JS] Move logic of resolving NpmDependency to Npm Api (vor 3 Tagen) <Ilya Goncharov> *90f4f5db26- (tag: build-1.4.0-dev-3870) Internal visibility between common source sets in Gradle (KT-37264) (vor 3 Tagen) <Sergey Igushkin> *3858c8e1f8- Support friend internal visibility in K2Metadata compiler (KT-37264) (vor 3 Tagen) <Sergey Igushkin> *04c924a119- (tag: build-1.4.0-dev-3865) Remove idea-gradle-tooling-api.jar from IDEA 2020 (vor 3 Tagen) <Natalia Selezneva> *33368590e4- KotlinDslScriptsModelResolver: return back requireTaskRunning override (vor 3 Tagen) <Natalia Selezneva> *d063dbef10- Drop modification stamps for gradle scripts after project import (vor 3 Tagen) <Natalia Selezneva> *61f5523805- Added Native-specific checker for properties of top level singletons (#3172) (vor 3 Tagen) <LepilkinaElena> *eba45d4f89- (tag: build-1.4.0-dev-3863) KT-36963 Deparenthesize !! argument when generating expression (vor 3 Tagen) <Dmitry Petrov> *71e4b0c9ad- KT-31649 Use 'Any#hashCode' in generated hashCode if class has none (vor 3 Tagen) <Dmitry Petrov> *dc6be68a41- (tag: build-1.4.0-dev-3854) Handle properly lambda change in incremental analysis (vor 3 Tagen) <Vladimir Dolzhenko> *93394656a3- (tag: build-1.4.0-dev-3851) [IR] Supported fake overrides in SAM lowering + enabled test (vor 3 Tagen) <Igor Chevdar> *56b983e625- (tag: build-1.4.0-dev-3847) Typo fix (vor 3 Tagen) <Georgy Bronnikov> *18d95bb670- (tag: build-1.4.0-dev-3846) JVM_IR: move BridgeLowering lower, remove special case for default arg stubs (vor 3 Tagen) <Georgy Bronnikov> *af67aff303- (tag: build-1.4.0-dev-3842) [FIR] Support `Clonable` (vor 3 Tagen) <Dmitriy Novozhilov> *83d01fbaaa- [FIR-TEST] Move fixed test from `problems` directory (vor 3 Tagen) <Dmitriy Novozhilov> *b6b0819f40- (tag: build-1.4.0-dev-3841) Revert "Since build updated for 193 branch due incompatibility" (vor 3 Tagen) <Alexander Podkhalyuzin> *135ae32f75- (tag: build-1.4.0-dev-3840) Since build updated for 193 branch due incompatibility (vor 3 Tagen) <Alexander Podkhalyuzin> *17152899ac- (tag: build-1.4.0-dev-3835) IDE perf tests for K/N: Produce duplicated *.kt files on demand (vor 3 Tagen) <Dmitriy Dolovov> *44c8a85241- IDE perf tests for K/N: Don't run tests on inapplicable host OSes (vor 3 Tagen) <Dmitriy Dolovov> *8635045a53- IDE perf tests for K/N: add more tests (Linux, AndroidNative) (vor 3 Tagen) <Dmitriy Dolovov> *80f2c091b4- IDE perf tests for K/N: keep Kotlin & Gradle versions in *.properties (vor 3 Tagen) <Dmitriy Dolovov> *c4a89c0201- IDE perf tests for K/N: check successful Gradle project import (vor 3 Tagen) <Dmitriy Dolovov> *bb5a639153- (tag: build-1.4.0-dev-3822) JVM IR: Turn static callable references into singletons (vor 4 Tagen) <Steven Schäfer> *ac5c255c20- (tag: build-1.4.0-dev-3814) [NI-TESTS] Add regression tests (vor 4 Tagen) <Pavel Kirpichenkov> *dc42b20ae3- [NI] Use alternative to intersection type in public declarations (vor 4 Tagen) <Pavel Kirpichenkov> *4038c758ca- (tag: build-1.4.0-dev-3811) KT-37131 Record default arguments in argument adaptation (vor 4 Tagen) <Dmitry Petrov> *7c7245fbb9- (tag: build-1.4.0-dev-3804) Build: Add compiler.version to embedded in JPS sync (vor 4 Tagen) <Vyacheslav Gerasimov> *1cb52861b1- Build: Set captureTaskInputFiles for buildScan (vor 4 Tagen) <Vyacheslav Gerasimov> *c77130d0f3- Build: Add test for reporting all gradle build cache misses (vor 4 Tagen) <Vyacheslav Gerasimov> *b3f16cfc96- Build: Add test for dist artifacts manifests and compiler.version (vor 4 Tagen) <Vyacheslav Gerasimov> *ebb75813f9- Build: Don't disable incremental compilation for CI (vor 4 Tagen) <Vyacheslav Gerasimov> *bab87c9837- Build: Extract compiler version to separate module to improve caching (vor 4 Tagen) <Vyacheslav Gerasimov> *c2457cae60- Read KotlinCompilerVersion from resource file (vor 4 Tagen) <Vyacheslav Gerasimov> *f8437743c5- Build: Ignore META-INF/MANIFEST.MF from classpath normalization (vor 4 Tagen) <Vyacheslav Gerasimov> *d5c851980c- (tag: build-1.4.0-dev-3802) `String.toBoolean()` should be `String?.toBoolean()` #KT-14119 (vor 4 Tagen) <Abduqodiri Qurbonzoda> *b8b1dd753c- (tag: build-1.4.0-dev-3801) Add builtins_platform property to klib manifest (vor 4 Tagen) <Dmitry Savvinov> *8fcd98639d- Minor: merge HierarchicalExpectActualMatchingTests into MultiplatformHighlightingTests (vor 4 Tagen) <Dmitry Savvinov> *9eab75650c- (tag: build-1.4.0-dev-3798) Remove target name from gradle test filters. (vor 4 Tagen) <Konstantin Tskhovrebov> *a32f742893- (tag: build-1.4.0-dev-3797) Inherit `ReadWriteProperty` from `ReadOnlyProperty` #KT-27729 (vor 4 Tagen) <Abduqodiri Qurbonzoda> *3742586209- [FIR-TEST] Unmute some blackbox tests (vor 4 Tagen) <Dmitriy Novozhilov> *2bce279a9e- [FIR] Support smartcasts from lhs of boolean operator with jump in rhs (vor 4 Tagen) <Dmitriy Novozhilov> *e3e7b40f85- [FIR] Fix determining coercion to Unit (vor 4 Tagen) <Dmitriy Novozhilov> *770dfb69ba- [FIR] Analyze all statements in block except last one in independent mode (vor 4 Tagen) <Dmitriy Novozhilov> *1c728e8184- [FIR] Fix return expressions calculator (vor 4 Tagen) <Dmitriy Novozhilov> *5f9876479e- [FIR] Add saving of local context in anonymous functions for further resolve (vor 4 Tagen) <Dmitriy Novozhilov> *8023d04c61- [FIR] Add separate local scope for init blocks (vor 4 Tagen) <Dmitriy Novozhilov> *50742a4686- [FIR] Move local scopes immutable (vor 4 Tagen) <Dmitriy Novozhilov> *25dc9f948a- Revert "[FIR] Support deserialization of annotations on JVM" (vor 4 Tagen) <Dmitriy Novozhilov> *a2c24e696f- (tag: build-1.4.0-dev-3796) Leverage existing psi2ir function declaration generator in plugin (vor 4 Tagen) <Leonid Startsev> *fc22cfa896- String.format does not support no locale #KT-22932 (vor 4 Tagen) <Abduqodiri Qurbonzoda> *f4d53c18a1- Fix JarContentTest by adding dependency on jar creating task (vor 4 Tagen) <Alexander Udalov> *505ec072bb- Remove dependency of JarContentTest on JDK 8 (vor 4 Tagen) <Alexander Udalov> *d1a29df581- (tag: build-1.4.0-dev-3792) Revert "Added AllowNullableArrayArgsInMain (1.4+) language setting" (vor 4 Tagen) <Vladimir Dolzhenko> *0f7122a88a- (tag: build-1.4.0-dev-3791) Support MutablePropertyReferenceN supertypes in LambdaInfo (vor 4 Tagen) <Alexander Udalov> *058c6bc578- Minor, reformat and slightly refactor JvmRuntimeTypes.kt (vor 4 Tagen) <Alexander Udalov> *8588f96ec8- Fix inspections in kotlin.jvm.internal runtime classes (vor 4 Tagen) <Alexander Udalov> *aaff1d1670- Minor, add ReadMe to spec-docs (vor 4 Tagen) <Alexander Udalov> *5af4efd5a7- (tag: build-1.4.0-dev-3789) Remove FIR test data file accidentally left in8884cbe4(vor 4 Tagen) <Mikhail Glukhikh> *db38dfc21b- (tag: build-1.4.0-dev-3773) Diagnostic test: make messages about FIR_IDENTICAL inconsistency clearer (vor 4 Tagen) <Mikhail Glukhikh> *737c91c5cf- FIR test merging: compare diagnostic files symbol-by-symbol (vor 4 Tagen) <Mikhail Glukhikh> *48d30daa47- Diagnostic tests: don't create '.fir.kt' file if FIR_IDENTICAL (vor 4 Tagen) <Mikhail Glukhikh> *951fb0b7e7- Move loadTestDataWithoutDiagnostics to FirTestUtils (vor 4 Tagen) <Mikhail Glukhikh> *8884cbe415- Introduce FIR_IDENTICAL for FIR vs old frontend tests #KT-36879 Fixed (vor 4 Tagen) <Mikhail Glukhikh> *186e0b0cba- (tag: build-1.4.0-dev-3772) Do not call IR backend when there's a script involved (vor 4 Tagen) <Georgy Bronnikov> *03c6f13831- (tag: build-1.4.0-dev-3771) Add fallback value in K/N version computation (vor 4 Tagen) <Kirill Shmakov> *3a4e540d44- (tag: build-1.4.0-dev-3766) Minor refactoring and style fixes in JarContentTest (vor 4 Tagen) <Alexander Udalov> *79790ca227- Avoid uses of plain "kotlin" in metadata deserialization. (vor 4 Tagen) <Jinseong Jeon> *744c4c545e- (tag: build-1.4.0-dev-3759) Build: Make DexMethodCount task cacheable, extract print stats to task (vor 5 Tagen) <Vyacheslav Gerasimov> *354fb3c4ba- (tag: build-1.4.0-dev-3752) JVM_IR: Generate fake continuations and their constructors as public (vor 5 Tagen) <Ilmir Usmanov> *c94f8d3767- JVM_IR: Do not generate nullability annotation for synthetic result field (vor 5 Tagen) <Ilmir Usmanov> *4b4a6101c1- JVM_IR: Generate inline functions with reified generics as public synthetic (vor 5 Tagen) <Ilmir Usmanov> *f8903ca04b- JVM_IR: Generate private suspend functions as synthetic package-private (vor 5 Tagen) <Ilmir Usmanov> *5826db97c7- JVM_IR: Do not duplicate inline suspend functions with reified type parameters (vor 5 Tagen) <Ilmir Usmanov> *3bf2c17f9e- (tag: build-1.4.0-dev-3737) KT-37024 Optimized delegated property metadata generation in inline fun (vor 5 Tagen) <Dmitry Petrov> *0be5a82460- (tag: build-1.4.0-dev-3731) Use LightJavaModule.getModule for 193 (vor 5 Tagen) <Vladimir Dolzhenko> *1ffde2a3c4- Minor. Fix test compilation (vor 5 Tagen) <Mikhael Bogdanov> *4745cd4fea- (tag: build-1.4.0-dev-3726) FIR2IR: refactor 'getArrayType' using standard class ids (vor 5 Tagen) <Mikhail Glukhikh> *0c9da6d715- FIR2IR: extract 'enumClassModality' (vor 5 Tagen) <Mikhail Glukhikh> *76ccaf13ba- FIR2IR: cache properties & fields more correctly (vor 5 Tagen) <Mikhail Glukhikh> *fe658ce47f- FIR2IR: remove redundant receiver generation from visitor (vor 5 Tagen) <Mikhail Glukhikh> *9788a7cfbc- FIR2IR: cache constructors and their parents properly (vor 5 Tagen) <Mikhail Glukhikh> *0fee8a6946- FIR2IR: cache functions and their parents properly (vor 5 Tagen) <Mikhail Glukhikh> *940567b8bd- FIR2IR: set enum class modality properly for complex entries case (vor 5 Tagen) <Mikhail Glukhikh> *3ffe1a1876- FIR2IR: create IrEnumConstructorCall even in complex entries (vor 5 Tagen) <Mikhail Glukhikh> *5af3d92271- FIR2IR: cache enum entry classes properly (vor 5 Tagen) <Mikhail Glukhikh> *03eab2ec6c- FIR2IR: get rid of setParentAndContent + fixes around anonymous objects (vor 5 Tagen) <Mikhail Glukhikh> *20eddef06f- FIR2IR: eliminate hacky replacement for invoke() & next() calls (vor 5 Tagen) <Mikhail Glukhikh> *50c4c3f4fb- FIR2IR: extract fake override generator (vor 5 Tagen) <Mikhail Glukhikh> *0bb3a42ceb- FIR2IR: mute black box test due to parent logic problems (vor 5 Tagen) <Mikhail Glukhikh> *698e259438- FIR2IR: register file first and convert declarations second (vor 5 Tagen) <Mikhail Glukhikh> *cfa626ad77- FIR2IR: introduce conversion scope, remove dispatch receiver for lambdas (vor 5 Tagen) <Mikhail Glukhikh> *a14cb075c3- FIR2IR: inline some conversion one-liners (vor 5 Tagen) <Mikhail Glukhikh> *4c2522631b- FIR2IR (refactoring): introduce Fir2IrTypeConverter (vor 5 Tagen) <Mikhail Glukhikh> *9257949a5a- Minor: eliminate unused typeContext in FIR2IR (vor 5 Tagen) <Mikhail Glukhikh> *211411a920- Fix FIR test data according to last changes of demiurg (vor 5 Tagen) <Mikhail Glukhikh> *32bcab2867- Switch rest of test to new scheme with configuration kind processing (vor 5 Tagen) <Mikhael Bogdanov> *46397dca4a- Switch 'AbstractVisualizer' to new scheme with configuration kind (vor 5 Tagen) <Mikhael Bogdanov> *ae9a91e17d- Switch 'AbstractCompilerLightClassTest' to new scheme with configuration kind (vor 5 Tagen) <Mikhael Bogdanov> *f84ac5e3f9- Remove configuration kind from `AbstractDumpDeclarationsTest` tests (vor 5 Tagen) <Mikhael Bogdanov> *e3efab5765- Remove FULL_JDK from `AbstractFirResolveTestCaseWithStdlib` tests (vor 5 Tagen) <Mikhael Bogdanov> *0a8454d5fc- Remove FULL_JDK from `AbstractForeignAnnotationsTest` tests (vor 5 Tagen) <Mikhael Bogdanov> *59679476f6- Always create test files, directive processing would be based on them (vor 5 Tagen) <Mikhael Bogdanov> *dbdc4d9ee0- Move 'extractConfigurationKind' to base class, use it in KotlinMultiFileTestWithJava (vor 5 Tagen) <Mikhael Bogdanov> *7040857d77- Convert KotlinMultiFileTestWithJava.java to Kotlin (vor 5 Tagen) <Mikhael Bogdanov> *06a36465a5- Rename .java to .kt (vor 5 Tagen) <Mikhael Bogdanov> *999b762288- Merge 'getTestJdkKind' and 'getJdkKind' and move to base class (vor 5 Tagen) <Mikhael Bogdanov> *6e855f3bbd- Split 'analyzeAndCheck' into 'shouldSkipTest' and 'setupEnvironment' (vor 5 Tagen) <Mikhael Bogdanov> *9052ef06a7- Introduce `configureEnvironment`, avoid 'createEnvironment' calls (vor 5 Tagen) <Mikhael Bogdanov> *a795c38eb7- Introduce base class for codegen and diagnostic tests (vor 5 Tagen) <Mikhael Bogdanov> *b031706ea9- (tag: build-1.4.0-dev-3723) Added Native-specific frontend checker for `@SharedImmutable` (#3091) (vor 5 Tagen) <LepilkinaElena> *8b559b20e2- (tag: build-1.4.0-dev-3716) Add a test for getOrDefault() bridge (vor 5 Tagen) <Georgy Bronnikov> *dd7d5dfdb3- JVM_IR: try to avoid resolveFakeOverride() in BridgeLowering (vor 5 Tagen) <Georgy Bronnikov> *fa74eabbd1- (tag: build-1.4.0-dev-3710) use bootstrap.kotlin.default.version bootstrap for buildSrc (vor 5 Tagen) <nataliya.valtman> *f7a7c169f8- (tag: build-1.4.0-dev-3705) Changelog: remove "trailing comma" feature from 1.3.70 (vor 5 Tagen) <Yan Zhulanow> *9e605b1798- (tag: build-1.4.0-dev-3695) Remove 1.4-specific language features from 1.3.70 changelog (vor 5 Tagen) <Yan Zhulanow> *15e2afe5ab- (tag: build-1.4.0-dev-3693) Add checkCanceled on common for autocompletion and highlighting resolve path (vor 5 Tagen) <Vladimir Dolzhenko> *9c530b1121- Add performance stress tests (vor 5 Tagen) <Vladimir Dolzhenko> *9ea97a3dfb- (tag: build-1.4.0-dev-3691) Update changelog: add changes from 1.3.70 (vor 5 Tagen) <Yan Zhulanow> *394c660a82- (tag: build-1.4.0-dev-3690) Mute a FIR test (vor 5 Tagen) <Georgy Bronnikov> *52b88bf753- (tag: build-1.4.0-dev-3686) Build: Fix various libraryJarWithIr task inputs (vor 6 Tagen) <Vyacheslav Gerasimov> *401023a893- (tag: build-1.4.0-dev-3681) [FIR] Add test for object inner class KT-37120 (vor 6 Tagen) <anastasiia.spaseeva> *1ce96b7433- [FIR] Add tests for KT-37091 , KT-37081 (vor 6 Tagen) <anastasiia.spaseeva> *9a352ad7b0- [FIR] Add tests for KT-37070 , KT-37066 (vor 6 Tagen) <anastasiia.spaseeva> *97007ae6c5- [FIR] Add tests for companionObjectCall (vor 6 Tagen) <anastasiia.spaseeva> *f678db2f89- (tag: build-1.4.0-dev-3677) KT-36813 Generate optimizable null checks in JVM_IR (vor 6 Tagen) <Dmitry Petrov> *a52ef71d48- (tag: build-1.4.0-dev-3673) Use `createForProduction` for running standalone execution (vor 6 Tagen) <Nikolay Krasko> *4ea0b4911a- (tag: build-1.4.0-dev-3667) Avoid excessive JavaForKotlinOverridePropertyDescriptors (vor 6 Tagen) <Georgy Bronnikov> *0c266f9f45- Add hashtable test (vor 6 Tagen) <Georgy Bronnikov> *4381a2d81b- (tag: build-1.4.0-dev-3660) [JS IR] Clean up callable reference lowering (vor 6 Tagen) <Roman Artemev> *8f0e06ff70- [JS IR] Fix typo (vor 6 Tagen) <Roman Artemev> *98aa73ee6b- [JS IR] Fix code clean-up optimizations (vor 6 Tagen) <Roman Artemev> *65011f96cc- [JS IR] Clean up coroutine code (vor 6 Tagen) <Roman Artemev> *c4efd5a09b- [JS IR] Use `JsThisRef` node for dispatch/instance receivers (vor 6 Tagen) <Roman Artemev> *62c86f2813- [JS IR] Remove filthy hacks from namer (vor 6 Tagen) <Roman Artemev> *3c7cc07263- [JS IR] Clean up code (vor 6 Tagen) <Roman Artemev> *133f3d359f- [JS IR] remove hacks from DCE (vor 6 Tagen) <Roman Artemev> *adc022fde8- Fix some coroutine tests (vor 6 Tagen) <Roman Artemev> *4e002a41e6- [JS IR] Fix visibility & code clean up (vor 6 Tagen) <Roman Artemev> *8654dbdc6e- [JS IR] Refactor property references (vor 6 Tagen) <Roman Artemev> *5dcac16cf7- [JS IR] Update test data (vor 6 Tagen) <Roman Artemev> *c2676ded31- [JS IR] Implement KProperty runtime utils (vor 6 Tagen) <Roman Artemev> *6e75b56388- [JS IR] Fix bridge modality (vor 6 Tagen) <Roman Artemev> *161bb72439- [JS IR] Update test data (vor 6 Tagen) <Roman Artemev> *97b97ddbd7- [JS IR] Fix phases (vor 6 Tagen) <Roman Artemev> *cf41172521- [JS IR] A bunch of fixes to make PIR mode work (vor 6 Tagen) <Roman Artemev> *f8d155c6a3- [JS IR] Fix native invoke checker (vor 6 Tagen) <Roman Artemev> *9e1c52f8cb- [JS IR] Fix this reference name generation (vor 6 Tagen) <Roman Artemev> *536e380331- [JS IR] Fix kotlin.test framework (vor 6 Tagen) <Roman Artemev> *293ddb5389- [JS IR] Fix inline classes for new callable reference scheme (vor 6 Tagen) <Roman Artemev> *0e67c6ac7d- [JS IR] Update coroutine runtime (vor 6 Tagen) <Roman Artemev> *b9eff4b246- [JS IR] Make coroutines work with new lambda scheme (vor 6 Tagen) <Roman Artemev> *3783205fb7- [JS IR] Lower suspend lambda as a regular lambda (vor 6 Tagen) <Roman Artemev> *26237f8bd5- [JS IR] Implement new function references scheme (vor 6 Tagen) <Roman Artemev> *2f087fe7a2- (tag: build-1.4.0-dev-3654) Build: Fix kotlin-stdlib-js-ir:tryRunFullCli task inputs (vor 6 Tagen) <Vyacheslav Gerasimov> *b4898e4043- (tag: build-1.4.0-dev-3650) `Put arguments/parameters on separate/one line` should update trailing comma (vor 6 Tagen) <Dmitry Gridin> *173f90c89c- AbstractIntentionTest: support code style and registry settings (vor 6 Tagen) <Dmitry Gridin> *baf2dd6b9b- KotlinLightCodeInsightFixtureTestCase: add `configureCodeStyleAndRun` (vor 6 Tagen) <Dmitry Gridin> *f66b994946- (tag: build-1.4.0-dev-3644) JVM_IR: make suspend lambda invoke()/create() creation shorter (vor 6 Tagen) <pyos> *6184171a11- JVM_IR: carry less state while transforming suspend funs into views (vor 6 Tagen) <pyos> *5896d8003e- JVM_IR: unify `generateStateMachineFor{Lambda,NamedFunction}` (vor 6 Tagen) <pyos> *159d292ea7- JVM_IR: make continuation detection more consistent (vor 6 Tagen) <pyos> *c57f466494- (tag: build-1.4.0-dev-3641) Build: Use same com.eclipsesource.j2v8 artifact for compilation (vor 6 Tagen) <Vyacheslav Gerasimov> *a4030d3abf- Build: Make JavaExec relative path system independent (vor 6 Tagen) <Vyacheslav Gerasimov> *08ac7da7a6- Build: Fix input declaration for :kotlin-stdlib-js-ir:fullRuntimeSources (vor 6 Tagen) <Vyacheslav Gerasimov> *bb2cf38617- Build: Make :kotlin-stdlib-js-ir buildKLib tasks cacheable (vor 6 Tagen) <Vyacheslav Gerasimov> *d84a6fa742- (tag: build-1.4.0-dev-3639) JVM IR: always generate inline class constructor with name 'constructor-impl' (vor 6 Tagen) <Alexander Udalov> *688208aa56- (tag: build-1.4.0-dev-3638) Build: Disable caching of Test tasks with doNotCacheIf (vor 6 Tagen) <Vyacheslav Gerasimov> *75a3808230- (tag: build-1.4.0-dev-3633) Build: Use sourceMapBaseDirs in :kotlin-stdlib-js:compileKotlin2Js (vor 6 Tagen) <Vyacheslav Gerasimov> *4b9c7a1ae1- Advance bootstrap to 1.4.0-dev-1818 (vor 6 Tagen) <Vyacheslav Gerasimov> *d6ccdb3caa- (tag: build-1.4.0-dev-3629) NI: fix `extensionLambdasAndArrow` test (vor 6 Tagen) <Victor Petukhov> *6e40117116- (tag: build-1.4.0-dev-3627) [JVM IR] Refactor PromisedValue... (vor 6 Tagen) <Kristoffer Andersen> *ad988dbf43- (tag: build-1.4.0-dev-3622) minor: update test data (vor 6 Tagen) <Pavel Kirpichenkov> *23ed6c4a1f- [NI] Narrow nullability constraint check in incorporator (vor 6 Tagen) <Pavel Kirpichenkov> *ec01893237- (tag: build-1.4.0-dev-3615) [FIR] Resolve return expressions in independent context (vor 6 Tagen) <Dmitriy Novozhilov> *d4f57fb835- [FIR] Support comparision operator and reified parameter reference in html dump (vor 6 Tagen) <Dmitriy Novozhilov> *9eeee6aad7- [FIR-TEST] Move FirBlackBoxCodegenTestGenerated to `:fir2ir` module (vor 6 Tagen) <Dmitriy Novozhilov> *54e7c79257- [FIR] Safe implicit receiver stack in lambda atom for resolve of inner lambdas (vor 6 Tagen) <Dmitriy Novozhilov> *c7f5a2cba2- [FIR] Make ImplicitReceiverStack persistent (vor 6 Tagen) <Dmitriy Novozhilov> *a332a5f26d- Add benchmark with case with a lot of implicit receivers (vor 6 Tagen) <Dmitriy Novozhilov> *7ee125e1ad- [FIR] Add receiver for lambda in position of default argument (vor 6 Tagen) <Dmitriy Novozhilov> *c12fb1e069- [FIR] Fix determining type of when subject in exhaustiveness checker (vor 6 Tagen) <Dmitriy Novozhilov> *6d4eb9ae52- (tag: build-1.4.0-dev-3614) KT-36113: Make KAPT classpath snapshot deterministic (vor 6 Tagen) <Ivan Gavrilovic> *9b68e4fe56- (tag: build-1.4.0-dev-3613) Android/IR: handle nulls from getView/getContainerView (vor 6 Tagen) <pyos> *390d062721- (tag: build-1.4.0-dev-3612) Fix class run configuration applicability (KT-33787) (vor 6 Tagen) <Yan Zhulanow> *b360fb5119- Revert "Import Kotlin JUnit run configuration settings from Gradle" (vor 6 Tagen) <Yan Zhulanow> *29566723b8- Partially revert "Prefer Kotlin Gradle test run configurations when possible (KT-33787)" (vor 6 Tagen) <Yan Zhulanow> *9016a573ca- Partially revert "Prefer Kotlin Junit test run configurations when possible (KT-33787)" (vor 6 Tagen) <Yan Zhulanow> *208c7274dd- (tag: build-1.4.0-dev-3611, tag: build-1.4.0-dev-3606) Disable parallel execution for gradle tests (vor 7 Tagen) <Nikolay Krasko> *c0cd010b7d- (tag: build-1.4.0-dev-3603) .gradle.kts: fix freezes by avoiding fs walking (vor 7 Tagen) <Natalia Selezneva> *01c4e66edb- (tag: build-1.4.0-dev-3597) PSI2IR Use resulting descriptor extension receiver type (vor 7 Tagen) <Dmitry Petrov> *51749b9747- NI: don't try to infer visible lambda parameters, if there is single one – extension parameter (vor 7 Tagen) <Victor Petukhov> *ed83e3ccef- (tag: build-1.4.0-dev-3595) Optimize more redundant `kotlin/jvm/internal/Ref`s (vor 7 Tagen) <pyos> *7e6d080123- (tag: build-1.4.0-dev-3594) JVM_IR: default-initialize variables visible in the LVT (vor 7 Tagen) <pyos> *ecb7478794- (tag: build-1.4.0-dev-3593) ExperimentalFixesFactory: `OptIn` shouldn't be added for old version (vor 7 Tagen) <Dmitry Gridin> *08dc03a704- (tag: build-1.4.0-dev-3587) 201: Fix refineSignaturesWithResolve failure for primary constructors (vor 7 Tagen) <Nikolay Krasko> *096ff0e8a9- 201: Enable mute in KotlinSuggestedRefactoringChangeListenerTest (vor 7 Tagen) <Nikolay Krasko> *d1a8f57740- (tag: build-1.4.0-dev-3579) Disable New Inference in JS backend (vor 7 Tagen) <Mikhail Zarechenskiy> *e6885323da- (tag: build-1.4.0-dev-3569) Accept incorrect behaviour for run-config tests for AS (vor 7 Tagen) <Dmitry Savvinov> *22de20e7e5- (tag: build-1.4.0-dev-3565) JVM_IR: Generate PUBLIC constructor for suspend lambda (vor 7 Tagen) <Ilmir Usmanov> *42420cb6fc- JVM_IR: Generate inner classes for continuations (vor 7 Tagen) <Ilmir Usmanov> *536e0e23a0- JVM_IR: Lazyly generate continuation classes of suspend functions (vor 7 Tagen) <Ilmir Usmanov> *91ee63432a- (tag: build-1.4.0-dev-3551) Disable CacheResetOnProcessCancele by default (vor 7 Tagen) <Vladimir Dolzhenko> *60d592716d- Disable KotlinMppTestLogger for non test executions. (vor 7 Tagen) <Konstantin Tskhovrebov> *35055d1895- (tag: build-1.4.0-dev-3543) Fix empty run actions in context menu for non-JVM test results. (vor 7 Tagen) <Konstantin Tskhovrebov> *dc8f24b8bc- (tag: build-1.4.0-dev-3534) Revert "Registry key to show hidden variables in debugger." (vor 7 Tagen) <Vladimir Ilmov> *61f8d3e558- (tag: build-1.4.0-dev-3532) Minor: update FIR2IR testData (vor 7 Tagen) <Dmitry Petrov> *1bad380381- (tag: build-1.4.0-dev-3531) FIR: fix test data in IDEA multi-module tests (vor 7 Tagen) <Mikhail Glukhikh> *70ee51d88c- (tag: build-1.4.0-dev-3530) [FIR] Add anonymous objects to CFG (vor 7 Tagen) <Dmitriy Novozhilov> *e3f1f18ca3- [FIR] Add empty member scope for type variables (vor 7 Tagen) <Dmitriy Novozhilov> *985311d9f0- [FIR] Implement delegate inference (vor 7 Tagen) <Dmitriy Novozhilov> *1003b81c93- [FIR] Introduce inference session (vor 7 Tagen) <Dmitriy Novozhilov> *dfa6dfa960- [FIR] Support deserialization of annotations on JVM (vor 7 Tagen) <Dmitriy Novozhilov> *296ee2da4a- [FIR] Support `@LowPriorityInOverloadResolution` annotation (vor 7 Tagen) <Dmitriy Novozhilov> *4454a0681b- [FIR] Get rid of copying function call in process of completion (vor 7 Tagen) <Dmitriy Novozhilov> *cda8177502- [FIR] Add `transformDelegate` for FirProperty (vor 7 Tagen) <Dmitriy Novozhilov> *e8b0ce00e1- [FIR] Remove useless `file` argument from `FirCallResolver` (vor 7 Tagen) <Dmitriy Novozhilov> *807d41028e- [FIR] `FirComponentCall` rendered same as `FirFunctionCall` (vor 7 Tagen) <Dmitriy Novozhilov>
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-libsmay be needed - on recent Ubuntu
apt install libncurses5is 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.