*870dbd158c- (HEAD -> master, tag: build-1.3.60-dev-1867, origin/master, origin/HEAD) KT-28910: Add tooltips for toolbar checkboxes in .kts scratch editor (4 hours ago) <Roman Golyshev> *f0f2fd5684- KT-28910: Extract labels from scratch editor to KotlinBundle messages (4 hours ago) <Roman Golyshev> *72b68ee683- (tag: build-1.3.60-dev-1863) Fix proguarding of jline library in compiler (4 hours ago) <Ilya Chernikov> *3f28b71509- (tag: build-1.3.60-dev-1854) [IR] Fix issue getting the length property from CharSequence bounded type parameter (18 hours ago) <Mads Ager> *eb5e91d6bb- (tag: build-1.3.60-dev-1852) Do not use typeMapper to count number of coroutine parameters in MethodInliner (18 hours ago) <Alexander Udalov> *2648fb2ddd- Do not use typeMapper.mapAsmMethod for erased invoke in MethodInliner (18 hours ago) <Alexander Udalov> *4953f67563- JVM IR: do not use KotlinTypeMapper indirectly via InlineCodegen (18 hours ago) <Alexander Udalov> *ad8b7ff645- Minor, extract PsiInlineCodegen to a separate file (18 hours ago) <Alexander Udalov> *bf5ca2ed84- Cleanup compiler warnings in IR-related modules (18 hours ago) <Alexander Udalov> *406462d422- (tag: build-1.3.60-dev-1840) Regenerate FIR tree visitors and transformers (21 hours ago) <Alexander Udalov> *ac3864543c- (tag: build-1.3.60-dev-1820) Add Family.TVOS, Family.WATCHOS and KonanTarget.ANDROID_X86, KonanTarget.WATCHOS_X86, KonanTarget.WATCHOS_ARM32. (24 hours ago) <Sergey Bogolepov> *5bd88f3191- (tag: build-1.3.60-dev-1815) [IR] ForLoopsLowering: fixed problems with type parameters (24 hours ago) <Igor Chevdar> *21c7c89dbc- (tag: build-1.3.60-dev-1812) [JS KLIB IC] Support incremental klib generation for JS IR (25 hours ago) <Roman Artemev> *d6facf2976- [JS KLIB IC] Fix test runner (25 hours ago) <Roman Artemev> *3753b75609- [JS KLIB IC] Implement incremental cache for IR (25 hours ago) <Roman Artemev> *7840cf70f0- [IC] Add missed runtime dependency (25 hours ago) <Roman Artemev> *104a50f786- [KLIB] Update ABI version (25 hours ago) <Roman Artemev> *6bea403338- [KLIB] Fix ir serializer output format (25 hours ago) <Roman Artemev> *c8c9328973- [KLIB] Switch to monolithic layout (25 hours ago) <Roman Artemev> *c8a3374829- [KLIB] Do not store Date in klib manifest (25 hours ago) <Roman Artemev> *1cdff7810e- [Psi2Ir] Fix Lazy Fake override field (25 hours ago) <Roman Artemev> *f2a5ab8c16- [IR SERIALIZATION] Fix zipped layout (25 hours ago) <Roman Artemev> *90504c797a- [IR SERIALIZATION] Add tests about klib linkage (25 hours ago) <Roman Artemev> *1e547dd1cd- [IR SERIALIZATION] Add more informative error message (25 hours ago) <Roman Artemev> *31f3e668d2- [IR SERIALIZATION] Cleanup mangler interface (25 hours ago) <Roman Artemev> *2e0ab8ba3f- [IR SERIALIZATION] Fix `ONLY_DECLARATION_HEADERS` mode (25 hours ago) <Roman Artemev> *0c7454c918- [IR SERIALIZATION] Fix forward Declarations in deserializaer (25 hours ago) <Roman Artemev> *2bd3d90fe0- [IR SERIALIZATION] Link depend modules lazily (25 hours ago) <Roman Artemev> *aa8b58e396- [IR SERIALIZATION] Get rid of `UniqIdKey` (25 hours ago) <Roman Artemev> *aa313903cc- [IR SERIALIZATION] Support both Per-File and Monolitic klib layout (25 hours ago) <Roman Artemev> *125982841a- [IR SERIALIZATION] Fix clashes (25 hours ago) <Roman Artemev> *55f06ecff5- [IR SERIALIZATION] Fix rebase (25 hours ago) <Roman Artemev> *16be3b6d6e- [IR SERIALIZATION] Add `deserializaFullModule` API (25 hours ago) <Roman Artemev> *d9affc5abb- [IR SERIALIZATION] Raname IrIrSeriazlizedIrFile -> SerializedIrFile (25 hours ago) <Roman Artemev> *f6339bcf93- [IR SERIALIZATION] Handle UniqId clashes (25 hours ago) <Roman Artemev> *5e14b94a88- [IR SERIALIZATION] Do not track non-metadata descriptors in descriptor table (25 hours ago) <Roman Artemev> *df5f6a2a12- [IR SERIALIZATION] Refactored uniqId allocation (25 hours ago) <Roman Artemev> *19b5d57f0e- [IR PROTO] Delete unused proto.java files (25 hours ago) <Roman Artemev> *b7b951c8c8- [IR] Refactoring (25 hours ago) <Roman Artemev> *ea42eb6a5c- [IR] Fix rebase (25 hours ago) <Roman Artemev> *d50eb5ce52- [IR SERIALIZATION] Make [de]serialization processes incremental (25 hours ago) <Roman Artemev> *96a2cc1f17- [JS IR] Clean up Declaration Table code (25 hours ago) <Roman Artemev> *f14107bf65- [IR] Sort dependencies a bit early (25 hours ago) <Roman Artemev> *1465121266- [IR] Split declaration & descriptor tables (25 hours ago) <Roman Artemev> *a7714a5589- [JS IR BE] Split IrModule/IrFile serializers (25 hours ago) <Roman Artemev> *15a49cf2aa- [IR BE] Rename IrModuleSerializer -> IrFileSerializer (25 hours ago) <Roman Artemev> *94a03c9cb4- [IC KLIB] Serialization infrastructure refactoring (25 hours ago) <Roman Artemev> *5a45960c04- [IR] Do not interact with file system during Ir Serialization (25 hours ago) <Roman Artemev> *85b1e0165b- (tag: build-1.3.60-dev-1810) [IR] For loop lowering for CharacterSequence.indices. (25 hours ago) <Mads Ager> *63f43d9b2e- (tag: build-1.3.60-dev-1807, tag: build-1.3.60-dev-1805) Revert "Use lazySync instead of lazyPub to avoid raise on creation LightClasses" (26 hours ago) <Nikolay Krasko> *d0c02a1a34- (tag: build-1.3.60-dev-1804) PackageDirectoryMismatchInspection: fix exception from empty script file #KT-33437 Fixed (27 hours ago) <Dmitry Gridin> *102a3d60e0- (tag: build-1.3.60-dev-1789) IR: Consistently copyAttributes in DeepCopyIrTreeWithSymbols (2 days ago) <Steven Schäfer> *5fc6fa8619- (tag: build-1.3.60-dev-1785) Unregistered bunch directives and files test (2 days ago) <Darya Razumova> *412c562572- Updated switch usage in README (2 days ago) <Darya Razumova> *4dc4acd25f- Move CoroutineNonBlockingContextChecker to common code (2 days ago) <Nikolay Krasko> *79a603768a- (tag: build-1.3.60-dev-1783) UltraLight implementation for local and anonymous declarations (2 days ago) <Igor Yakovlev> *d6c54b845b- (tag: build-1.3.60-dev-1777) Use lazySync instead of lazyPub to avoid raise on creation LightClasses (2 days ago) <Vladimir Dolzhenko> *b856d60575- (tag: build-1.3.60-dev-1773) Add required plugins for Android Studio 3.6 to runtime (2 days ago) <Nikolay Krasko> *a6fb2bd7a7- Update to AS 3.6.0.9 (2 days ago) <Nikolay Krasko> *a65967a164- (tag: build-1.3.60-dev-1769) Mention the `master` branch as the target of pull requests in contributing.md. (#2533) (2 days ago) <Yanis Batura> *7eac7d96dc- (tag: build-1.3.60-dev-1761) Fix NJ2K test related to KT-30136 (2 days ago) <Mikhail Glukhikh> *5b118b65fc- (tag: build-1.3.60-dev-1759) [FIR] Tests. Update testdata broken in9508fc60(2 days ago) <Dmitriy Novozhilov> *54eb4cf928- [FIR] Add synthetic else branch to `when` if it's missing to LightTreeFirBuilder (2 days ago) <Dmitriy Novozhilov> *5c29af4b53- (tag: build-1.3.60-dev-1757) [FIR] Tests. Update some outdated FIR testdata (2 days ago) <Dmitriy Novozhilov> *f494e0008c- [FIR] Minor. Add kdoc to FirDataFlowAnalyzer (2 days ago) <Dmitriy Novozhilov> *286a322b55- [FIR] Remove DummyFirDataFlowAnalyzer (2 days ago) <Dmitriy Novozhilov> *92acd30bd6- [FIR] Refactor Condition classes (2 days ago) <Dmitriy Novozhilov> *84787013dd- [FIR] Fix CFG form for boolean operators (2 days ago) <Dmitriy Novozhilov> *63bd920f16- [FIR] Tests. Make cfg graphs more strict (2 days ago) <Dmitriy Novozhilov> *a87891bec9- [FIR] Some control flow graph building fixes (2 days ago) <Dmitriy Novozhilov> *9508fc60c9- [FIR] Remove FirUncheckedNotNullCastImpl from FIR (2 days ago) <Dmitriy Novozhilov> *c2602fda1f- [FIR] Transform all qualified access nodes with smartcasts (2 days ago) <Dmitriy Novozhilov> *c1a8344b45- [FIR] Add forgotten nullability for receivers of safe calls (2 days ago) <Dmitriy Novozhilov> *fd84202c08- [FIR] Add fir node for qualified access with smartcast (2 days ago) <Dmitriy Novozhilov> *04b6c48ae7- [FIR] Disable smartcasts to Nothing? (2 days ago) <Dmitriy Novozhilov> *b58a03458e- [FIR] Tests. Improve style of control flow graphs (2 days ago) <Dmitriy Novozhilov> *7851657b98- [FIR] Store fir in DataFlowVariable (2 days ago) <Dmitriy Novozhilov> *163c5d699f- [FIR] Pass flow to right operand of && expression (2 days ago) <Dmitriy Novozhilov> *59205cac13- [FIR] Tests. Add orthogonal edge routing for cfg dumps (2 days ago) <Dmitriy Novozhilov> *b2e95eebab- [FIR] Add processing of loops with constant boolean value in condition (2 days ago) <Dmitriy Novozhilov> *a60115c452- [FIR] Fix propagating deadness for loops and when expressions (2 days ago) <Dmitriy Novozhilov> *006cb536e0- [FIR] Add detecting dead edges for boolean operators with consts (2 days ago) <Dmitriy Novozhilov> *fd1347f2b7- [FIR] Tests. Add instruction for configuring tool for cfg dump viewing (2 days ago) <Dmitriy Novozhilov> *b7e1e7704e- [FIR] Tests. Change extension for testdata with cgf from `.cfg.dot` to `.dot` (2 days ago) <Dmitriy Novozhilov> *7e43a0d9ef- [FIR] Add boolean constant folding for DFA (2 days ago) <Dmitriy Novozhilov> *78f7211587- [FIR] Add test for smartcast with return in elvis (2 days ago) <Dmitriy Novozhilov> *98b3901f9c- [FIR] Fix bug in building cfg for || (2 days ago) <Dmitriy Novozhilov> *fc43c8a74b- [FIR] Add inlining of control flow graphs of in-place anonymous functions (2 days ago) <Dmitriy Novozhilov> *e72d8e675a- [FIR] Add invocation kind to anonymous functions (2 days ago) <Dmitriy Novozhilov> *e937e4b261- [FIR] Add bound smartcasts (2 days ago) <Dmitriy Novozhilov> *e6c04c0454- [FIR] hold one-to-one mapping for data flow variable and Fir (2 days ago) <Dmitriy Novozhilov> *bda8c7ee1c- [FIR] Fix smartcasts on when subject (2 days ago) <Dmitriy Novozhilov> *200c13baf5- [FIR] Add tests for smartcasts (2 days ago) <Dmitriy Novozhilov> *7a81c37f5c- [FIR] Fix building cfg for binary or (2 days ago) <Dmitriy Novozhilov> *2d3e9fe539- [FIR] Add creating simple type for type parameters symbols (2 days ago) <Dmitriy Novozhilov> *b1731749c0- Add failing test for smart-cast branch (2 days ago) <Mikhail Glukhikh> *b4a4d4d709- [FIR] Add renderer to .dot for control flow graph tests (2 days ago) <Dmitriy Novozhilov> *2e501e0f97- [FIR] Implement Data Flow Analysis (2 days ago) <Dmitriy Novozhilov> *216b9ad933- [FIR] Add logic system for data flow analysis (2 days ago) <Dmitriy Novozhilov> *6e0f4f140f- [FIR] Minor. Add set of type operations to FirOperation (2 days ago) <Dmitriy Novozhilov> *6b4e95ec52- [FIR] Add tests for control flow graph building (2 days ago) <Dmitriy Novozhilov> *fc982cc7e8- [FIR] Add data flow analyzer that delegates to CFG builder (2 days ago) <Dmitriy Novozhilov> *9f0781c9de- [FIR] Add references to control flow graph to FirFunction and FirProperty (2 days ago) <Dmitriy Novozhilov> *56ac1201b6- [FIR] Add abstract data flow analyzer with callbacks for body resolve transformer (2 days ago) <Dmitriy Novozhilov> *dcfc75a58f- [FIR] Add control flow graph and infrastructure for building it (2 days ago) <Dmitriy Novozhilov> *198599f3c7- [FIR] Add builtins types to FirSession (2 days ago) <Dmitriy Novozhilov> *7d4c635e85- [FIR] Minor. Add util functions for checks that type is builtin (2 days ago) <Dmitriy Novozhilov> *38fa0122e8- [FIR] Add synthetic else branch to `when` if it's missing (2 days ago) <Dmitriy Novozhilov> *e904e638e9- (tag: build-1.3.60-dev-1751, origin/rr/ayalyshev/fus-completion-test) LookupCancelWatcher bunches update (3 days ago) <Anton Yalyshev> *7b769b74a1- Add bunches for AS ans 183 (3 days ago) <Anton Yalyshev> *a962dd7155- Add a bunch for as33 (3 days ago) <Anton Yalyshev> *fa1a558b76- Exclude logging in case of non-kotlin files (3 days ago) <Anton Yalyshev> *cd78f3d9d7- Add finish_reason and invocation_count to context (3 days ago) <Anton Yalyshev> *3926b91bb1- Add window appearance time. Fix final context data structure. (3 days ago) <Anton Yalyshev> *7afa75e802- Set event context structure (3 days ago) <Anton Yalyshev> *e99395e548- Register FUS collector for Code Completion (3 days ago) <Anton Yalyshev> *ac7c89b3b5- Completions stats physical part, collector part left (3 days ago) <Alexander Podkhalyuzin> *edd2cedfd3- (tag: build-1.3.60-dev-1742) Disable GradleConfiguratorPlatformSpecificTest in AS 3.6 (5 days ago) <Nikolay Krasko> *5fa2b62de4- Fix test failures in AS 3.6 because of InjectedLanguageManager (KT-33606) (5 days ago) <Nikolay Krasko> *c0270ef47b- More plugins registration for Android Studio 3.6 (5 days ago) <Nikolay Krasko> *e28802fbfa- Fix test failure because of duplicates file templates in classpath (5 days ago) <Nikolay Krasko> *0eea2479fc- (tag: build-1.3.60-dev-1740) Added possibility to override Path Chooser for MoveKotlinNestedClassesToUpperLevelModel (5 days ago) <Igor Yakovlev> *99972a08a1- (tag: build-1.3.60-dev-1725, origin/4u7/compare-dist) [FIR] Fix table rendering (5 days ago) <Simon Ogorodnik> *438c90b477- (tag: build-1.3.60-dev-1721) Silence fir bench output for diagnostic smoke tests (5 days ago) <Simon Ogorodnik> *312e93859b- Add more info to fir bench report & format as table (5 days ago) <Simon Ogorodnik> *dca88db16a- (tag: build-1.3.60-dev-1718) remove unused org.jetbrains.kotlin.idea.inspections.gradle.KotlinPlatformGradleDetector EP (5 days ago) <Vladimir Krivosheev> *02a6a1ea49- (tag: build-1.3.60-dev-1710) Fix ExtractDeclarationFromCurrentFileIntention assertion (5 days ago) <Igor Yakovlev> *9594e9b3b1- (tag: build-1.3.60-dev-1706) [JS IR BE] Initial export generation (5 days ago) <Svyatoslav Kuzmich> *6670180782- [JS IR BE] Use internal visibility for generated helper methods (5 days ago) <Svyatoslav Kuzmich> *22c53e14e6- (tag: build-1.3.60-dev-1700) [IR][inliner] fixed occasional endless recursion in InlinerExpressionLocationHint::toString (5 days ago) <Vasily Levchenko> *8218ca5bae- (tag: build-1.3.60-dev-1698) More 182 branch mentioning remove (5 days ago) <Nikolay Krasko> *8ae4293a0f- Remove 181 branch from build scripts (5 days ago) <Nikolay Krasko> *0ae9240e5f- Remove 182 and AS33 from build scripts (5 days ago) <Nikolay Krasko> *51cfafc619- Minor: advance comment (5 days ago) <Nikolay Krasko> *3989f5244f- Minor: Fix comment about absent method (5 days ago) <Nikolay Krasko> *d04749dd3f- Remove other specific code after removing 182 (5 days ago) <Nikolay Krasko> *63f0eae7e2- Remove CodeStyleSettingsProviderCompat.java after removing 182 (5 days ago) <Nikolay Krasko> *d1aca83dd5- Remove getInvalidIcon default implementation after removing 182 (5 days ago) <Nikolay Krasko> *edb83f4ed9- Remove IconExtensionChooser and png icons after removing 182 (5 days ago) <Nikolay Krasko> *888a93115f- Use function icon from the platform after removing 182 (5 days ago) <Nikolay Krasko> *169aa6348c- Remove runConfigurationsCompat.kt after removing 182 (5 days ago) <Nikolay Krasko> *ddcadc8138- Remove default implementations after removing 182 (5 days ago) <Nikolay Krasko> *081ffe7d19- Remove ScriptModificationListener compat after removing 182 (5 days ago) <Nikolay Krasko> *23f488498f- Remove EditorFactoryListenerWrapper compat after removing 182 (5 days ago) <Nikolay Krasko> *9abdddf09a- Remove psiFile extension after removing 182 (5 days ago) <Nikolay Krasko> *372c6377e8- Remove AstLoadingUtil after removing 182 (5 days ago) <Nikolay Krasko> *4d0fc1dc22- Remove 182 support (5 days ago) <Nikolay Krasko> *1c4ee6bd79- Remove as33 support (5 days ago) <Nikolay Krasko> *0ec18b4a33- (tag: build-1.3.60-dev-1694) Explicit this inspection: fix false negative with local variable (5 days ago) <Toshiaki Kameyama> *eb469b924f- Add frontend visualizer module auto test in gradle (5 days ago) <Ivan Cilcic> *24cce75899- Add FIR_IGNORE directive to test files that must be skipped (5 days ago) <Ivan Cilcic> *350bd33769- Move FirRenderer class inside FirVisualizer to avoid ambiguity with existed FirRenderer (5 days ago) <Ivan Cilcic> *262f57d938- Add more tests in uncommonCases folder (5 days ago) <Ivan Cilcic> *b8ef09a157- Repalce work with stack variable to work with extension functions (5 days ago) <Ivan Cilcic> *fd461a5147- Fix current package removing from properties (5 days ago) <Ivan Cilcic> *f0e7dcc4f6- Fix superTypes test by adding parameter to primary constructor (5 days ago) <Ivan Cilcic> *f0c7aadb20- Exctract common code from psi and fir visualizer classes (5 days ago) <Ivan Cilcic> *d504774527- Create fir renderer class (5 days ago) <Ivan Cilcic> *7a45155eb3- Create tests for fir visualizer (5 days ago) <Ivan Cilcic> *2179f97006- Create fir visualizer abstract test class and extract common code with psi tests (5 days ago) <Ivan Cilcic> *fe328f8c7a- Add some additional information to psi renderer (5 days ago) <Ivan Cilcic> *8fb2383845- Move psi visualizer test to separate "psi" package (5 days ago) <Ivan Cilcic> *aebe8c36f5- Add test methods and data for uncommon cases (5 days ago) <Ivan Cilcic> *8047aa22a4- Add test methods and data base on raw fir builder test data (5 days ago) <Ivan Cilcic> *fd8205e317- Add removing current file package name from fq name (5 days ago) <Ivan Cilcic> *d2e47aea01- Change render to separate package names with slash symbol (5 days ago) <Ivan Cilcic> *08c9fa5259- Rewrite Annotator to be able to put several annotations in one position (5 days ago) <Ivan Cilcic> *1c2ffa65ca- Revert commit with changes in DescriptorRenderer (5 days ago) <Ivan Cilcic> *3a12bac910- Wrote separate descriptor renderer (5 days ago) <Ivan Cilcic> *b57c34fd4d- Remove rendering from super and this expressions and from package directive (5 days ago) <Ivan Cilcic> *d0e1234434- Add separate method to render special functions (5 days ago) <Ivan Cilcic> *e94417e27b- Remove unnecessary data from render result (5 days ago) <Ivan Cilcic> *feec5b1a7c- Make annotation process a little clearer (5 days ago) <Ivan Cilcic> *e23e662ba7- Remove names from value parameters list (5 days ago) <Ivan Cilcic> *6fa7435cd4- Add additional options to DescriptorRender (5 days ago) <Ivan Cilcic> *1879fd19eb- Create simple renderer for old frontend (5 days ago) <Ivan Cilcic> *e69e6a1eeb- Create simple text annotator based on binary search (5 days ago) <Ivan Cilcic> *77c330d94e- Make a structure for frontend visualizer (5 days ago) <Ivan Cilcic> *e895a0b8a0- (tag: build-1.3.60-dev-1693) FIR resolve: integrate implicit receivers into ImplicitReceiverStack (5 days ago) <Mikhail Glukhikh> *f2c77c45e9- FIR: simplify rendering of dispatch & extension receivers (5 days ago) <Mikhail Glukhikh> *dfacc2d68f- FIR builder test: remove always-false check (5 days ago) <Mikhail Glukhikh> *e36a75250b- FIR: visit/transform dispatch & extension receivers only once (5 days ago) <Mikhail Glukhikh> *5defe22651- FIR [MapArguments]: transform only arguments but not all children (5 days ago) <Mikhail Glukhikh> *8bb539ce19- FIR resolve: integrate receiverExpression inside ReceiverValue (5 days ago) <Mikhail Glukhikh> *0962755fde- FIR2IR: drop field receiver consistency check (due to delegate field case) (5 days ago) <Mikhail Glukhikh> *75c4c88d0a- FIR: set receivers for invoke case more precisely (5 days ago) <Mikhail Glukhikh> *62bb127fc9- FIR: add K/J test with getValue() / value fake cycle (5 days ago) <Mikhail Glukhikh> *f0f4ddecc0- FIR: set dispatch receiver for field symbols (5 days ago) <Mikhail Glukhikh> *bd5e1aeef5- FIR2IR: change backing field visibility to private (5 days ago) <Mikhail Glukhikh> *271c15114c- FIR: add test with problematic cases (5 days ago) <Mikhail Glukhikh> *652fd7ee73- FIR: fix dispatch receivers for objects (5 days ago) <Mikhail Glukhikh> *29b406c731- FIR: set dispatch receiver for backing field access (5 days ago) <Mikhail Glukhikh> *13d14df8ae- FIR: set dispatch receiver for data class generated functions (5 days ago) <Mikhail Glukhikh> *0d5cfa97a5- FIR2IR: read & set dispatch & extension receivers (5 days ago) <Mikhail Glukhikh> *b531e535b6- FIR call resolve: set values of dispatch & extension receivers (5 days ago) <Mikhail Glukhikh> *67a7243361- FIR (rename): candidateOwner -> boundSymbol (5 days ago) <Mikhail Glukhikh> *8633a33108- FIR: add new qualified access implementation (FirThisReceiverExpression) (5 days ago) <Mikhail Glukhikh> *c63919f224- FIR tree: add dispatch & extension receivers (5 days ago) <Mikhail Glukhikh> *da22898a19- FIR2IR: set 'SetField' type to Unit, convert explicit 'this' references (5 days ago) <Mikhail Glukhikh> *6604539154- FIR: set bound symbol for explicit this references (5 days ago) <Mikhail Glukhikh> *aa79064a96- (tag: build-1.3.60-dev-1691) Remove deprecated spec tests map generators (5 days ago) <victor.petukhov> *e4938c6c36- (tag: build-1.3.60-dev-1690) [FIR] Remove status map from intersection type (5 days ago) <Dmitriy Novozhilov> *ef4ef08b1d- [FIR] Add default upper bound for java type parameters (5 days ago) <Dmitriy Novozhilov> *8ed1317839- (tag: build-1.3.60-dev-1686) [IR] For loop lowering for iteration over CharacterSequences. (5 days ago) <Mads Ager> *26fbe3f07b- (tag: build-1.3.60-dev-1682) JPS Build: remove outdated note about updating bootstrap (5 days ago) <Sergey Rostov>
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-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
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.