[kotlin compiler][update] 1.4.20-dev-1329

* f4e9acb2337 - (HEAD -> master, origin/master, origin/HEAD) Escape arguments when Gradle plugin launches out of process compilation (vor 20 Stunden) <Andrey Uskov>
* 90dae320c3c - Specify full name of parametrized flaky test to synchronize it on TeamCity (vor 2 Tagen) <Yunir Salimzyanov>
* b795e50e616 - Add logic to synchronize muted tests on teamcity with database flaky tests (vor 2 Tagen) <Yunir Salimzyanov>
* a382bef144f - Extract classes and related functions of muteWithDatabase to separate module (vor 2 Tagen) <Yunir Salimzyanov>
* 44740779631 - Create separate module for muting tests logic (vor 2 Tagen) <Yunir Salimzyanov>
* 5e115c48b3c - Unmute FIR test (vor 2 Tagen) <Georgy Bronnikov>
* 8a393ec041e - Update dukat dependency to 0.5.4 (vor 2 Tagen) <Shagen Ogandzhanian>
* 901d8f3e7a3 - Rename several core entities as a part of kx.serialization abi change (vor 3 Tagen) <Leonid Startsev>
* 5208bbcd219 - Support new ContextSerializer signature (vor 3 Tagen) <Leonid Startsev>
* 7ea1700b789 - Convert lambda to reference: support generic function call (vor 3 Tagen) <Toshiaki Kameyama>
* 2137a4b1e5a - JVM, JVM_IR: no nullability annotations on private and synthetic methods (vor 3 Tagen) <Dmitry Petrov>
* 5684e694b5e - JVM_IR: handle diamond inheritance for Java fields (vor 3 Tagen) <Georgy Bronnikov>
* da79f93c611 - JS IR: per-module .js generation support (vor 3 Tagen) <Anton Bannykh>
* deb5dc10573 - Don't merge files into a single module (vor 3 Tagen) <Anton Bannykh>
* 5239ab477c7 - Lowerings apply to a list of modules (vor 3 Tagen) <Anton Bannykh>
* 9a1d9814de5 - Simpify phase building (vor 3 Tagen) <Anton Bannykh>
* 2e68526b440 - Merge ES6 pipeline (vor 3 Tagen) <Anton Bannykh>
* a1c9ee10136 - Mute failing ES6 phases (vor 3 Tagen) <Anton Bannykh>
* 955087868ab - KT-39843 Update project wizard templates after replacing kotlin.browser with kotlinx.browser (vor 3 Tagen) <Alexey Trilis>
* 66e53305bf2 - FIR: Leave only one composite-like scope implementation (vor 3 Tagen) <Denis Zharkov>
* 09bb7550885 - FIR: Pass scope to FirSpecificTypeResolverTransformer as `data` (vor 3 Tagen) <Denis Zharkov>
* cea38771f15 - FIR: Unbound TypeResolver from IterableScope (vor 3 Tagen) <Denis Zharkov>
* b607cecc2bb - FIR: Clear JavaTypeParameterStack (vor 3 Tagen) <Denis Zharkov>
* f3e4e9b1625 - FIR: Make qualifier have only one static scope (vor 3 Tagen) <Denis Zharkov>
* a017109d7d1 - FIR: Use static scope for importing from non-object classes (vor 3 Tagen) <Denis Zharkov>
* 396c6377f8f - FIR: Do not check statics in MemberScopeTowerLevel (vor 3 Tagen) <Denis Zharkov>
* 9668a601518 - FIR: Explicitlty separate static and member scopes (vor 3 Tagen) <Denis Zharkov>
* e058c578a8a - FIR: Minor. Make method private (vor 3 Tagen) <Denis Zharkov>
* 24d7d208a05 - FIR: Extract Java class rendering in tests (vor 3 Tagen) <Denis Zharkov>
* 9b5b882dcbd - Add "*.jar binary" to .gitattributes (vor 3 Tagen) <Denis Zharkov>
* be2d6b99f6b - [Gradle, JS] Add test on changing of default value for generating externals (vor 3 Tagen) <Ilya Goncharov>
* 4bfcb4b0419 - [Gradle, JS] Use common projectName fun (vor 3 Tagen) <Ilya Goncharov>
* 89c1af4feba - [Gradle, JS] Add tests on changing generating externals for npm deps (vor 3 Tagen) <Ilya Goncharov>
* 891071e074c - [Gradle, JS] Add assertSingleFileExists (vor 3 Tagen) <Ilya Goncharov>
* 405412f6c19 - [Gradle, JS] Use generateExternalsIntegrated instead of full build (vor 3 Tagen) <Ilya Goncharov>
* f584fb15764 - [Gradle, JS] Add test on integrated dukat task (vor 3 Tagen) <Ilya Goncharov>
* 1a9f236a606 - [Gradle, JS] Add tests on Separate Dukat integration (vor 3 Tagen) <Ilya Goncharov>
* 007970ded88 - [Gradle, JS] Add independent peer npm dependency to test (vor 3 Tagen) <Ilya Goncharov>
* bd05b447c00 - [Gradle, JS] Ignore peer dependencies in yarn resolution (vor 3 Tagen) <Ilya Goncharov>
* 94686709802 - Minor: update testData with nullability annotations (vor 3 Tagen) <Dmitry Petrov>
* 64e47265e16 - JVM, JVM_IR: no nullability annotations on lateinit backing fields (vor 3 Tagen) <Dmitry Petrov>
* e822e871f5c - KT-39532 Support intention to convert reference to lambda and vice versa for adapted references (#3495) (vor 3 Tagen) <Toshiaki Kameyama>
* a87b25d10e5 - Don't silently ignore argument mismatch for provide delegate (vor 3 Tagen) <Mikhail Zarechenskiy>
* ea5fef76d16 - Fix ambiguity on reference inside blocks of special functions (vor 3 Tagen) <Mikhail Zarechenskiy>
* c2c139ef4f9 - Fix adaptation for references with default values after varargs (vor 3 Tagen) <Mikhail Zarechenskiy>
* c5a2ab2512c - Callable reference adaptation should have dependency on API version 1.4 (vor 3 Tagen) <Mikhail Zarechenskiy>
* bc40669598c - Prohibit functional interface constructor references (vor 3 Tagen) <Mikhail Zarechenskiy>
* e3050cd9976 - Minor tweaks in js api dump run configuration (vor 3 Tagen) <Ilya Gorbunov>
* 94ab50a21a7 - Fixup stdlib-js api dump (vor 3 Tagen) <Ilya Gorbunov>
* 366a75e222e - Wizard: update versions of used libraries for 1.4-M3 (vor 3 Tagen) <Ilya Kirillov>
* 35d59368290 - Wizard: add info about used Kotlin version to project test importing failure (vor 3 Tagen) <Ilya Kirillov>
* 7ea17f0d31c - Revert "[FIR] Move ArrayMap to `cones` module" (vor 3 Tagen) <Dmitriy Novozhilov>
* 0b29a3e5c1f - Revert "[FIR] Add `ConeAttributes` to `ConeKotlinType`" (vor 3 Tagen) <Dmitriy Novozhilov>
* 76550d3c5d4 - Revert "[FIR] Add attributes for `@Exact` and `@NoInfer`" (vor 3 Tagen) <Dmitriy Novozhilov>
* c0634217e17 - Revert "[FIR] Add extracting `@Exact` and `@NoInfer` attributes from annotations" (vor 3 Tagen) <Dmitriy Novozhilov>
* 59e63f549b7 - Add completion highlighting tests for heavy Kotlin files (vor 3 Tagen) <Pavel Kirpichenkov>
* 5c70f973a57 - Force resolution of file annotations before element analysis (vor 3 Tagen) <Pavel Kirpichenkov>
* e4c8c14e3ef - [FIR] Add extracting `@Exact` and `@NoInfer` attributes from annotations (vor 3 Tagen) <Dmitriy Novozhilov>
* e43932f1479 - [FIR] Add attributes for `@Exact` and `@NoInfer` (vor 3 Tagen) <Dmitriy Novozhilov>
* f76befa84e9 - [FIR] Add `ConeAttributes` to `ConeKotlinType` (vor 3 Tagen) <Dmitriy Novozhilov>
* 407d1365bde - [FIR] Move ArrayMap to `cones` module (vor 3 Tagen) <Dmitriy Novozhilov>
* 36102504a14 - Update ReadMe.md (vor 3 Tagen) <Matts966>
* 20ed42dd388 - Update deprecated doc about mac build environment requirements (vor 3 Tagen) <Matts966>
* 2fd3af73ebe - Convert reference to lambda: fix it works correctly when referenced function has default argument (vor 3 Tagen) <Toshiaki Kameyama>
* bc34f7f7f58 - Add test for obsolete issue (vor 3 Tagen) <Mikhail Zarechenskiy>
* a04f70fb36e - Fix min/maxByOrNull function samples (vor 3 Tagen) <Abduqodiri Qurbonzoda>
* 684ca5029f0 - Add tests for obsolete issues (vor 3 Tagen) <Mikhail Zarechenskiy>
* 9844607d0f1 - Make string literals clickable (vor 3 Tagen) <shiraji>
* f06e116bf77 - Improved equals for light decompiled declarations (vor 3 Tagen) <Igor Yakovlev>
* 27c139926c9 - LightClass improved isInheritor check for cases when resolve is failed (vor 3 Tagen) <Igor Yakovlev>
* e72a06bdf40 - Add specific highlight for Enum class (vor 3 Tagen) <Guillaume Darmont>
* 3f266aafb4c - JVM: no nullability annotations on private and synthetic fields (vor 3 Tagen) <Dmitry Petrov>
* cbd8b58d5ce - Commit trace for callable reference's LHS with reserved syntax like `foo?::bar?::bar` to avoid the lack of diagnostics reporting (vor 3 Tagen) <Victor Petukhov>
* 1ee8e615fcb - Reuse value is ISTORE if expected type is the same, otherwise, create (vor 4 Tagen) <Ilmir Usmanov>
* c21820c615b - Revert "Revert "Fix merging two reference values"" (vor 4 Tagen) <Ilmir Usmanov>
* a6f14c206b4 - Revert "Revert "Revert "Revert "Completely rewrite reifiedIntTypeAnalysis, making it more streamline"""" (vor 4 Tagen) <Ilmir Usmanov>
* b95d3e711e5 - [JVM IR] KT-36985: $default respects @Deprecated (vor 4 Tagen) <Kristoffer Andersen>
* 034623f82a9 - Fix top level import quick fix test for JS (vor 4 Tagen) <Ilya Gorbunov>
* 448e0ceae11 - Drop quickfix tests that relied on removed native annotation (vor 4 Tagen) <Ilya Gorbunov>
* 8dfcebf542f - Expose KTypeProjection.STAR constant in a field (vor 4 Tagen) <Ilya Gorbunov>
* 53cbcfac5a7 - Validate arguments of KTypeProjection constructor (vor 4 Tagen) <Ilya Gorbunov>
* d41e8ed4ada - Annotate KTypeProjection factory methods with JvmStatic (vor 4 Tagen) <Ilya Gorbunov>
* e8659d4b372 - Fix initializer error arizing on scripting annotation creation (vor 4 Tagen) <Ilya Chernikov>
* 3585f80c678 - Fix 201 compilation (vor 4 Tagen) <Vladimir Dolzhenko>
* 12cd3785b0f - Move statement: move parameters/arguments with a comment correctly (vor 4 Tagen) <Toshiaki Kameyama>
* 9c8904f1651 - Restore KotlinExplicitMovementProvider in as40 (vor 4 Tagen) <Raluca Sauciuc>
* 990903e4e27 - Show documentation for a class if the constructor has no docs (vor 4 Tagen) <Norbert Nogacki>
* 699829ccb3e - Make FIR multi-module tests from IDE regular FIR compiler resolve tests (vor 4 Tagen) <Mikhail Glukhikh>
* 79691feb8fb - Fix fir load compiled kotlin tests after introducing const deserializer (vor 4 Tagen) <Ivan Kylchik>
* 027d177c15e - Remove IGNORE_FIR from tests that are using unsigned constants (vor 4 Tagen) <Ivan Kylchik>
* c80cf0f34c7 - Remove IGNORE_FIR from ranges tests (vor 4 Tagen) <Ivan Kylchik>
* 70f0f357fa9 - Remove IGNORE_FIR from stepped ranges tests (vor 4 Tagen) <Ivan Kylchik>
* 6c6b7c8b840 - Implement constant deserializer for fir (vor 4 Tagen) <Ivan Kylchik>
* b62e22cb01b - Fix Android app in template project (vor 4 Tagen) <Kirill Shmakov>
* 895c32e21c2 - Create separate source set for interpreter map generator (vor 4 Tagen) <Ivan Kylchik>
* 643d3394962 - Advance bootstrap to 1.4.20-dev-1080 (vor 4 Tagen) <Ilya Gorbunov>
* d6483ace944 - (UltraLightClasses) fix for processing stubs for Deprecation.HIDDEN annotation fast-path (vor 4 Tagen) <Vladimir Ilmov>
* a5ae1b38b06 - Don't skip constraints from equations with the kind equal (vor 4 Tagen) <Mikhail Zarechenskiy>
* ab34f8c7381 - Add indent before accessor for extension property (KT-33131) (vor 4 Tagen) <Toshiaki Kameyama>
* c6a481190a2 - JVM: optimize type mapping for primitive types (vor 5 Tagen) <Alexander Udalov>
* 64f7c3f4986 - IR: do not use descriptors in IrTypeSystemContext.getPrimitiveType (vor 5 Tagen) <Alexander Udalov>
* 7013becda52 - IR: remove IrBuiltInOperator, use IrFunctionImpl instead (vor 5 Tagen) <Alexander Udalov>
* 988226a90e9 - IR: optimize FqNameEqualityChecker.checkViaDeclarations (vor 5 Tagen) <Alexander Udalov>
* 014d8554493 - IR: minor, make all overrides in IrElementTransformerVoid final (vor 5 Tagen) <Alexander Udalov>
* 3c90e25cb4d - IR: optimize IrType.isNullable, do not use DFS (vor 5 Tagen) <Alexander Udalov>
* 597bc061e27 - Add Kotlin Data Class, Sealed Class and Annotation file templates (vor 5 Tagen) <pavlospt>
* 2162c39ab38 - Quick doc: show default parameter value (vor 5 Tagen) <Toshiaki Kameyama>
* 33150a08098 - KT-38817 capitalize uses title case for the first char where available (vor 5 Tagen) <Ilya Gorbunov>
* 9e2f95233c4 - Promote capitalize/decapitalize with Locale to stable (vor 5 Tagen) <Ilya Gorbunov>
* e34246faeca - Fix fir2ir text tests after introducing const evaluator (vor 5 Tagen) <Ivan Kylchik>
* 8044b47984b - Create internalName extension method that returns fqName as jvm internal (vor 5 Tagen) <Ivan Kylchik>
* ddd03373cc2 - Allow to interpret toString method from Any class for ONLY_BUILTINS mode (vor 5 Tagen) <Ivan Kylchik>
* 6f4f7dd0907 - Remove coroutines from ir interpreter (vor 5 Tagen) <Ivan Kylchik>
* f028d6c898c - Move interpreter files to separate module (vor 5 Tagen) <Ivan Kylchik>
* 64aa0ec5c86 - Add new module for ir interpreter (vor 5 Tagen) <Ivan Kylchik>
* 49124709b8c - Remove all usages of descriptors from interpreter (vor 5 Tagen) <Ivan Kylchik>
* e4f88e83fe1 - Get rid of compile time check in generator for ir builtins map (vor 5 Tagen) <Ivan Kylchik>
* 2534b155532 - Remove descriptors.jvm dependency from common backend module (vor 5 Tagen) <Ivan Kylchik>
* 8f6a1b418d8 - Add method to evaluate constant expressions in ir module for fir2ir (vor 5 Tagen) <Ivan Kylchik>
* fa221af1b16 - Move IrConstTransformer.kt to evaluate package (vor 5 Tagen) <Ivan Kylchik>
* 932ce710936 - Rename method checkForError to replaceIfError (vor 5 Tagen) <Ivan Kylchik>
* b71c74c6ef8 - Remove descriptor usages in Primitive.kt (vor 5 Tagen) <Ivan Kylchik>
* 0c6d485c9c4 - Rename ReturnLabel.NEXT to ReturnLabel.REGULAR (vor 5 Tagen) <Ivan Kylchik>
* 9377d274a8c - Drop ExecutionResult class implementations and make it regular class (vor 5 Tagen) <Ivan Kylchik>
* c386cbeb547 - Move checkNullability function in State.kt file (vor 5 Tagen) <Ivan Kylchik>
* e57de9a08f5 - Mark most of classes and functions from interpreter package as internal (vor 5 Tagen) <Ivan Kylchik>
* 27c52f54caa - Remove IGNORE_FIR from tests that are passing after constant folding (vor 5 Tagen) <Ivan Kylchik>
* f20e878d35a - Add constant folding after FIR2IR processing (vor 5 Tagen) <Ivan Kylchik>
* f2045b857b6 - Add fix for interpretation const val (vor 5 Tagen) <Ivan Kylchik>
* af6ed5ca43a - Change toIrConst extension function logic (vor 5 Tagen) <Ivan Kylchik>
* 3155f56d8a1 - Change the way of receiving fields (vor 5 Tagen) <Ivan Kylchik>
* 8644c48b28a - Prevent interpretation of call expression with continue/break statement (vor 5 Tagen) <Ivan Kylchik>
* d90aba60ccd - Implement correct type checks and casts taking into account erased types (vor 5 Tagen) <Ivan Kylchik>
* 7a199067053 - Change all usages of descriptors in interpreter to usages of ir symbols (vor 5 Tagen) <Ivan Kylchik>
* db5046af85c - Add support in interpreter for jvm static fields in primitive classes (vor 5 Tagen) <Ivan Kylchik>
* a3c77eca083 - Make interpreter maps of enum and object declarations non static (vor 5 Tagen) <Ivan Kylchik>
* ff830cc7449 - Make state property mutable in Variable class (vor 5 Tagen) <Ivan Kylchik>
* 848ca70de1e - Change keys in static maps of enums and objects from String to IrSymbol (vor 5 Tagen) <Ivan Kylchik>
* 224d56ec15a - Allow compile time calculations inside object declaration (vor 5 Tagen) <Ivan Kylchik>
* 1c498660dc2 - Create ir compile time checker (vor 5 Tagen) <Ivan Kylchik>
* 19495e40f73 - Remove unnecessary getAllTypeArguments method from Stack class (vor 5 Tagen) <Ivan Kylchik>
* 99d823da8ac - Remove unnecessary getThisAsReceiver function from Utils.kt file (vor 5 Tagen) <Ivan Kylchik>
* c6240face05 - Add test for generation builtins map for interpreter (vor 5 Tagen) <Ivan Kylchik>
* 1103de4bd58 - Prepare ir interpreter for receiving ir bodies in separate map (vor 5 Tagen) <Ivan Kylchik>
* 9542eb36ec3 - Support interpretation of String's plus method and its extension version (vor 5 Tagen) <Ivan Kylchik>
* 94e36411fa7 - Support interpretation for inner class (vor 5 Tagen) <Ivan Kylchik>
* 0c1f2edbf27 - Get rid of abstract and fake override checks in ir call interpretation (vor 5 Tagen) <Ivan Kylchik>
* 80d83f8703b - Change check for Wrapper method (vor 5 Tagen) <Ivan Kylchik>
* 38822c3bf8b - Implement correct interpretation of toList function (vor 5 Tagen) <Ivan Kylchik>
* ba8147cd47a - Allow lambda to be used in built in calculation (vor 5 Tagen) <Ivan Kylchik>
* 5f61f6f3a54 - Simplify interpretation for java methods with names other in kotlin (vor 5 Tagen) <Ivan Kylchik>
* 2e0d4c9af12 - Add correct interpretation for unsigned arrays in vararg method handler (vor 5 Tagen) <Ivan Kylchik>
* 30f2affb937 - Add support for local function that are declared and called immediately (vor 5 Tagen) <Ivan Kylchik>
* 296f343cab3 - Change conditions for saving type arguments into stack (vor 5 Tagen) <Ivan Kylchik>
* a095309e10e - Allow local declaration interpretation (vor 5 Tagen) <Ivan Kylchik>
* 2c93c46b844 - Implement do while loop (vor 5 Tagen) <Ivan Kylchik>
* 1e82975a7cd - Replace explicit returnLabel call to check call inside try interpreter (vor 5 Tagen) <Ivan Kylchik>
* a14e8e4c283 - Implement cache for enum entries and objects (vor 5 Tagen) <Ivan Kylchik>
* 0b0550f562c - Remove useless Intrinsic interface (vor 5 Tagen) <Ivan Kylchik>
* eb3ac74c3fd - Move out intrinsic evaluation from interpreter class (vor 5 Tagen) <Ivan Kylchik>
* 6eae77572a5 - Move stack trace inside Stack class (vor 5 Tagen) <Ivan Kylchik>
* e00dc766456 - Simplify constructor interpretation (vor 5 Tagen) <Ivan Kylchik>
* cf63a5f52be - Replace some casts to Primitive with corresponding extension calls (vor 5 Tagen) <Ivan Kylchik>
* 5791ecd4f71 - Remove redundant suspend modifiers (vor 5 Tagen) <Ivan Kylchik>
* cb0eb008f8d - Implement correct access to stack (vor 5 Tagen) <Ivan Kylchik>
* 06e6c7cdf52 - Implement interpretation for object with overridden methods (vor 5 Tagen) <Ivan Kylchik>
* fe7abb71327 - Remove unnecessary code about handling KotlinNullPointerException (vor 5 Tagen) <Ivan Kylchik>
* 2f41eef797e - Replace throw of interpreter errors by throw of InterpreterException (vor 5 Tagen) <Ivan Kylchik>
* aed78f3c9b9 - Bound commands limit and throw interpreter exception upon exceeding (vor 5 Tagen) <Ivan Kylchik>
* be42ae470dd - Simplify extraction logic of receiver in ir call interpreter (vor 5 Tagen) <Ivan Kylchik>
* 2189fe5796b - Add suspend modifier to getNextLabel method in Label interface (vor 5 Tagen) <Ivan Kylchik>
* fd51a9a085e - Change signature in getArgsForMethodInvocation method (vor 5 Tagen) <Ivan Kylchik>
* 30e352ea276 - Move Variable data class to separate file (vor 5 Tagen) <Ivan Kylchik>
* ef4e4881b78 - Implement spread operator interpretation (vor 5 Tagen) <Ivan Kylchik>
* c9e5b6a234f - Unify value arguments interpretation (vor 5 Tagen) <Ivan Kylchik>
* 520f2455b35 - Create and implement ExecutionResult interface to use as return status (vor 5 Tagen) <Ivan Kylchik>
* 77978637a87 - Move all classes from State.kt into separate files (vor 5 Tagen) <Ivan Kylchik>
* 530252eea81 - Move State.kt in separate package (vor 5 Tagen) <Ivan Kylchik>
* 7e7a5fe7363 - Add reference to sub class in Complex class (vor 5 Tagen) <Ivan Kylchik>
* ad7055b8a07 - Move additional stack filling in ExceptionState class (vor 5 Tagen) <Ivan Kylchik>
* 900e78b39be - Add hashCode, equals and toString methods from String in builtin map (vor 5 Tagen) <Ivan Kylchik>
* 82acf7deb6d - Change getting function receiver for method with multiple overridden (vor 5 Tagen) <Ivan Kylchik>
* 0400a620148 - Improve receivers search in data pool (vor 5 Tagen) <Ivan Kylchik>
* b6cf17af1be - Save context of inline and local functions (vor 5 Tagen) <Ivan Kylchik>
* 28d6752315b - Change usages of IrFunctionImpl to more common IrSimpleFunction (vor 5 Tagen) <Ivan Kylchik>
* c45993b2b19 - Implement interpretation for return statements with labels (vor 5 Tagen) <Ivan Kylchik>
* 5c845da18a0 - Implement interpretation for unsigned numbers (vor 5 Tagen) <Ivan Kylchik>
* b175f463150 - Implement interpretation of Char and Long classes from js stdlib (vor 5 Tagen) <Ivan Kylchik>
* 2310a04e4e1 - Add toString, hashCode and equals primitives methods in ir builtin map (vor 5 Tagen) <Ivan Kylchik>
* 00366197f88 - Implement interpretation of Enum class hashCode method (vor 5 Tagen) <Ivan Kylchik>
* 6a9f4cf8b75 - Change interpretCall to be able to interpret data class copy method (vor 5 Tagen) <Ivan Kylchik>
* bab4407c0a1 - Implement interpretation for destructing declaration (vor 5 Tagen) <Ivan Kylchik>
* ff6e06aa14e - Implement regular expression interpretation (vor 5 Tagen) <Ivan Kylchik>
* 4d80d17b233 - Implement interpretation for expect enum class (vor 5 Tagen) <Ivan Kylchik>
* 731fb9bc703 - Make ir interpreter to work with minimal dependence on ir lowerings (vor 5 Tagen) <Ivan Kylchik>
* 4c1727b82e7 - Move intrinsic handling inside IrInterpreter class (vor 5 Tagen) <Ivan Kylchik>
* 27e2faa7781 - Implement enum interpretation (vor 5 Tagen) <Ivan Kylchik>
* d6a45dfe755 - Implement instance of check in compile time (vor 5 Tagen) <Ivan Kylchik>
* 0a702772406 - Make stack trace from exceptions more precise (vor 5 Tagen) <Ivan Kylchik>
* 18d29f7d988 - Make possible to create arrays with their constructors (vor 5 Tagen) <Ivan Kylchik>
* aca889a95bf - Add inc, dec methods in ir builtins map and remove toString and equals (vor 5 Tagen) <Ivan Kylchik>
* 169a2f361c9 - Add support for cause field in exceptions (vor 5 Tagen) <Ivan Kylchik>
* 6af47ad7b3f - Implement basic stack trace reporting if unhandled exception appear (vor 5 Tagen) <Ivan Kylchik>
* 66dbd1af34a - Mark all IrInterpreter methods as suspend (vor 5 Tagen) <Ivan Kylchik>
* 2985e8bcd35 - Clean up code of ir builtins map generator (vor 5 Tagen) <Ivan Kylchik>
* cbc9c19faf6 - Add methods for message and clause from Throwable in ir builtins map (vor 5 Tagen) <Ivan Kylchik>
* d9279bff735 - Introduce ExceptionState class responsible for all kind of exceptions (vor 5 Tagen) <Ivan Kylchik>
* be3eb98fbd1 - Introduce new Common state that represent common object (vor 5 Tagen) <Ivan Kylchik>
* 4345294ac10 - Add all methods from Any class in ir builtins map (vor 5 Tagen) <Ivan Kylchik>
* d03937cdb66 - Pop return value after implicit coercion to unit (vor 5 Tagen) <Ivan Kylchik>
* 792ae8d272f - Get rid of dynamic cast interpretation (vor 5 Tagen) <Ivan Kylchik>
* 3ccf542b384 - Rework object and companion object interpretation (vor 5 Tagen) <Ivan Kylchik>
* 0ef34dcf535 - Implement class cast interpretation (vor 5 Tagen) <Ivan Kylchik>
* a25896bf6a7 - Implement string concatenation interpretation (vor 5 Tagen) <Ivan Kylchik>
* 0839e7afdc3 - Describe default behaviour for Any class methods (vor 5 Tagen) <Ivan Kylchik>
* a6cc7cdc239 - Rewrite exception handler to catch null pointer exception in js ir (vor 5 Tagen) <Ivan Kylchik>
* 5209f4a9c08 - Add not null (!!) operator in ir builtins map (vor 5 Tagen) <Ivan Kylchik>
* bb119280be2 - Interpret basic interpretation for try catch block (vor 5 Tagen) <Ivan Kylchik>
* b5778e6de5d - Implement interpretation for lambdas and anonymous functions (vor 5 Tagen) <Ivan Kylchik>
* 4fdfdb9b4c5 - Implement StringBuilder interpretation (vor 5 Tagen) <Ivan Kylchik>
* 06ee4ac21fc - Implement List and MutableList interpretation (vor 5 Tagen) <Ivan Kylchik>
* 9555497d5d1 - Implement arrayOf symbols interpretation (vor 5 Tagen) <Ivan Kylchik>
* 4dc1e587b45 - Implement vararg interpretation (vor 5 Tagen) <Ivan Kylchik>
* 45555d681da - Add methods from arrays classes in ir builtins map (vor 5 Tagen) <Ivan Kylchik>
* 3ab7c263d0a - Implement continue statement interpretation (vor 5 Tagen) <Ivan Kylchik>
* c4cc858b844 - Extract ir function interpretation in separate method (vor 5 Tagen) <Ivan Kylchik>
* f99829ce5ea - Implement trim function interpretation in compile time (vor 5 Tagen) <Ivan Kylchik>
* 178b2a07aef - Move all interpreter methods inside IrInterpreter class (vor 5 Tagen) <Ivan Kylchik>
* f8cb637712e - Change IrInterpreter to modify tree structure into the flat one (vor 5 Tagen) <Ivan Kylchik>
* 0a76da99cf7 - Implement equalTo function for descriptors (vor 5 Tagen) <Ivan Kylchik>
* dd93deddd7d - Add while loop support in interpreter (vor 5 Tagen) <Ivan Kylchik>
* c2a70b4e575 - Add rangeTo entry in builtins map (vor 5 Tagen) <Ivan Kylchik>
* 34a59f5b852 - Add abstract classes and interfaces support in interpreter (vor 5 Tagen) <Ivan Kylchik>
* b1dc403182f - Add branches support in interpreter (vor 5 Tagen) <Ivan Kylchik>
* dcd8a4a4c78 - Add variables support in interpreter (vor 5 Tagen) <Ivan Kylchik>
* aca7a492146 - Add some sort of correct calculation with const modifier (vor 5 Tagen) <Ivan Kylchik>
* a20269bcdd7 - Extract some methods to utils (vor 5 Tagen) <Ivan Kylchik>
* 11e808715bb - Rethink main goal of stack frame (vor 5 Tagen) <Ivan Kylchik>
* c3600ba114a - Implement interpreter that can evaluate simple fun (vor 5 Tagen) <Ivan Kylchik>
* a582d88cf46 - Create simple stack model for interpreter (vor 5 Tagen) <Ivan Kylchik>
* f6373a647eb - Create simple interpreter that evaluate constant values (vor 5 Tagen) <Ivan Kylchik>
* a27a07ce81e - Create generator for map with builtin operations (vor 5 Tagen) <Ivan Kylchik>
* e9570d6efd1 - Minor: update testData (vor 5 Tagen) <Dmitry Petrov>
* 6b2c87020b9 - Replace explicit parameter with 'it': do not suggest when lambda is directly under "when" or "if" (vor 5 Tagen) <Toshiaki Kameyama>
* daab07ea385 - JVM_IR: use MetadataSource for local delegated properties (vor 5 Tagen) <Georgy Bronnikov>
* 593684ecb62 - Fix testdata after changing API of kotlin.browser and kotlin.dom (vor 5 Tagen) <Alexey Trilis>
* e6edab1c82a - Quick doc: do not show nullability annotations (vor 5 Tagen) <Toshiaki Kameyama>
* e8aa14a2837 - Method sepatators: show separator between companion object and function (vor 5 Tagen) <Toshiaki Kameyama>
* 59424462746 - [minor] clean up main-kts-dependencies (vor 5 Tagen) <Ilya Chernikov>
* 4c34e9dd03d - Move main-kts cache test to out-of-process compilation (vor 5 Tagen) <Ilya Chernikov>
* 879e22f2747 - Fix coroutines core shading in main-kts (vor 5 Tagen) <Ilya Chernikov>
* 83b52bb109a - Enable Input Redirection for KotlinRunConfiguration (vor 5 Tagen) <Gia Thuan Lam>
* 69e8abfe3c0 - Fix test data for new project wizard in Project Templates (vor 5 Tagen) <Ilya Goncharov>
* 4e92c79bc41 - JVM_IR: don't generate nullability annotations on synthetic declarations (vor 5 Tagen) <Dmitry Petrov>
* d477d9eb431 - JVM_IR KT-37005: no delegates for @InlineOnly funs in multifile facades (vor 6 Tagen) <Dmitry Petrov>
* 5bfec7f6bc1 - JVM: don't generate nullability annotations on property delegate fields (vor 6 Tagen) <Dmitry Petrov>
* af3bda51ec2 - Fix compilation on mixed hierarchies in compatibility mode (vor 6 Tagen) <Mikhail Bogdanov>
* 41511898a11 - Deprecate DefaultImpl methods in compatibility mode (vor 6 Tagen) <Mikhail Bogdanov>
* 39740ce4401 - [FIR2IR] Drop decl. parent set in lazy class (it should be set before) (vor 6 Tagen) <Mikhail Glukhikh>
* d08f91bf358 - [FIR2IR] Introduce & use lazy function for external class functions (vor 6 Tagen) <Mikhail Glukhikh>
* 6d07af63cf9 - [FIR2IR] Count IrErrorTypes as not equal for purpose of overriding (vor 6 Tagen) <Mikhail Glukhikh>
* d02d423d452 - [FIR2IR] Introduce additional built-in symbols prepared in advance (vor 6 Tagen) <Mikhail Glukhikh>
* a791a385387 - FIR mangler: support definitely not-null types (for Java) (vor 6 Tagen) <Mikhail Glukhikh>
* 987cf5ef5f3 - Drop unused Fir2IrVisitor.fakeOverrideMode (vor 6 Tagen) <Mikhail Glukhikh>
* 0622be14a52 - [FIR2IR] Introduce creation of Fir2Ir lazy classes (vor 6 Tagen) <Mikhail Glukhikh>
* 5e9291bd8a9 - Fix test data for new project wizard (vor 6 Tagen) <Ilya Goncharov>
* e6539eade5d - Fix new project wizard css support for karma (vor 6 Tagen) <Ilya Goncharov>
* b657d60bd61 - Suggest `Create Class` before `Create File` (vor 6 Tagen) <Dmitry Gridin>
* bcd3921bae5 - Fix freeze during loading script configurations through legacy scripting API (vor 6 Tagen) <Natalia Selezneva>
* 05e8546bdb5 - Skip unresolved JvmStatic/JvmField annotations in builtins (vor 6 Tagen) <Alexander Udalov>
* abfc74c8b2b - Add regression test (vor 6 Tagen) <Dmitry Gridin>
* d8fa617bfde - Minor. Fix typo in text printed to users (vor 6 Tagen) <Dmitriy Dolovov>
* 99f958c8c43 - Inline refactoring: should remove redundant Unit (vor 6 Tagen) <Dmitry Gridin>
* af24ce5e032 - RedundantUnitExpressionInspection: support lambdas (vor 6 Tagen) <Dmitry Gridin>
* 4ac7dc0744f - RedundantUnitExpressionInspection: make `isRedundantUnit` public (vor 6 Tagen) <Dmitry Gridin>
* 360a5bf3482 - Inline refactoring: improve resolve (vor 6 Tagen) <Dmitry Gridin>
* 5ad94daaa58 - ImportOptimizer: cleanup code (vor 6 Tagen) <Dmitry Gridin>
* 2610dedcbd6 - KotlinUnusedImportInspection: support unresolved references (vor 6 Tagen) <Dmitry Gridin>
* 10c62b8d773 - ImportOptimizer: add cases for unresolved references (vor 6 Tagen) <Dmitry Gridin>
* 4de582564cd - ImportOptimizer: basic support for removing unresolved imports (vor 6 Tagen) <Dmitry Gridin>
* 8faced91929 - KotlinImportOptimizer: replace `LinkedHashMap` with `HashMap` and `BodyResolveMode.FULL` with `BodyResolveMode.PARTIAL` (vor 6 Tagen) <Dmitry Gridin>
* 383fa2d111c - ImportOptimizer: cleanup code (vor 6 Tagen) <Dmitry Gridin>
* e7cee9c6e1b - Fix coercion to `Unit` with equal `Nothing` constraint (vor 6 Tagen) <Mikhail Zarechenskiy>
* a06c8786df2 - Fix overload ambiguity after smartcast to nullable Nothing (vor 6 Tagen) <Mikhail Zarechenskiy>
* 93130739715 - LineIndentProvider: temporarily disable before elvis operator (vor 6 Tagen) <Dmitry Gridin>
* 793ada08a96 - cssSettings -> cssSupport (vor 6 Tagen) <Ilya Goncharov>
* 538cf8af56f - Fix test with css case (vor 6 Tagen) <Ilya Goncharov>
* 4ad95dbe0ce - Fix browser settings for webpack tasks (vor 6 Tagen) <Ilya Goncharov>
* 856ac76c8fc - FIR2IR: handle type alias inside GetClassCall (vor 6 Tagen) <Jinseong Jeon>
* 29d3d076364 - Remove stdlib-js-ir and kotlin-test-js-ir from coreLibs projects (vor 6 Tagen) <Ilya Gorbunov>
* b2e70f9c216 - Fix stdlib-js-ir-for-tests build (vor 6 Tagen) <Ilya Gorbunov>
* 4ecb228d507 - IR: handle enhanced nullability in TypeTranslator (vor 6 Tagen) <Georgy Bronnikov>
* b21cabe671b - Separate decompiled declarations light representations from LightClasses (vor 6 Tagen) <Igor Yakovlev>
* 40ec794c662 - (UltraLightClasses) fast-path for Deprecated.HIDDEN annotation (vor 7 Tagen) <Vladimir Ilmov>
* 852e860743e - Update test data (vor 7 Tagen) <Ilya Goncharov>
* c2e97a72875 - Kind and css support to single platform JS (vor 7 Tagen) <Ilya Goncharov>
* 5676d31a1c3 - Add CSS support to new project wizard (vor 7 Tagen) <Ilya Goncharov>
* b8aff0660c2 - Refactor aligning for css support (vor 7 Tagen) <Ilya Goncharov>
* c9c20bb34c4 - Add enabling css into wizard (vor 7 Tagen) <Ilya Goncharov>
* e9231b56247 - JVM: Generate object and companion object INSTANCE fields as @NotNull (vor 7 Tagen) <Dmitry Petrov>
* 558dfc6d9ae - KT-36801 IDE: Unsupported language version values (vor 7 Tagen) <Andrei Klunnyi>
* 2b2fce59494 - Fix for KT-37761. Don't use mmap. It causes more troubles than it produce benefits (vor 7 Tagen) <Alexander Gorshenev>
* be2ac3bb4f8 - (origin/rr/stdlib/14-deprecations-squashed) [FIR] Fix completing bodies of property setters with delegates (vor 7 Tagen) <Dmitriy Novozhilov>
* 8ce28cb5091 - [FIR] Add `transformBody` to `FirFunction` (vor 7 Tagen) <Dmitriy Novozhilov>
* 23dc75fb879 - Remove kotlin.coroutines.experimental package descriptions (vor 7 Tagen) <Ilya Gorbunov>
* 9d111b9451e - Update API dumps (vor 7 Tagen) <Ilya Gorbunov>
* 6c8ff25e5df - Drop deprecated jsClass top level and extension functions (vor 7 Tagen) <Ilya Gorbunov>
* 696701d3770 - Drop deprecated MutableMap property delegation operator (vor 7 Tagen) <Ilya Gorbunov>
* 7632910ffd9 - Drop deprecated CollectionAssertions.kt (vor 7 Tagen) <Ilya Gorbunov>
* 5550dc93a15 - Remove hidden Random.Companion (vor 7 Tagen) <Ilya Gorbunov>
* b55729957ec - Drop previously deprecated API (vor 7 Tagen) <Ilya Gorbunov>
* e9c4f531ebf - Increase deprecation level for previously deprecated API (vor 7 Tagen) <Ilya Gorbunov>
* 67044f22ed6 - FIR serializer: regard property accessors with modifiers as non-default (vor 7 Tagen) <Jinseong Jeon>
* bbfc1a10ad6 - [JS] Fix stack trace capturing from secondary constructors KT-37563 (vor 7 Tagen) <Svyatoslav Kuzmich>
* 67927792810 - [JS IR] Fix stack trace capturing in secondary constructors (KT-37563) (vor 7 Tagen) <Svyatoslav Kuzmich>
* dfdc1e9c4f7 - [IR] Add IrRawFunctionReference (vor 7 Tagen) <Svyatoslav Kuzmich>
* 2c3d8feb26f - (tag: build-1.4.20-dev-985) [KLIB IC] Fix dirty declaration detector (vor 7 Tagen) <Roman Artemev>
* cc818025dfb - [KLIB IC] Add test about incremental kotlin-js-stdlib-klib recompliation (vor 7 Tagen) <Roman Artemev>
1 file changed
tree: 6fcff58185e23b4cf1df7abab75e57ca64553346
  1. .github/
  2. .idea/
  3. backend.native/
  4. build-tools/
  5. cmd/
  6. common/
  7. dependencies/
  8. dependencyPacker/
  9. endorsedLibraries/
  10. gradle/
  11. Interop/
  12. klib/
  13. konan/
  14. libclangext/
  15. licenses/
  16. llvmCoverageMappingC/
  17. llvmDebugInfoC/
  18. performance/
  19. platformLibs/
  20. runtime/
  21. samples/
  22. shared/
  23. tools/
  24. utilities/
  25. .gitignore
  26. .gitmodules
  27. _nav_reference.yml
  28. build.gradle
  29. CHANGELOG.md
  30. COCOAPODS.md
  31. CODE_COVERAGE.md
  32. CONCURRENCY.md
  33. DEBUGGING.md
  34. DISTRO_README.md
  35. FAQ.md
  36. gradle.properties
  37. GRADLE_PLUGIN.md
  38. gradlew
  39. gradlew.bat
  40. HACKING.md
  41. IMMUTABILITY.md
  42. INTEROP.md
  43. IOS_SYMBOLICATION.md
  44. LIBRARIES.md
  45. LICENSE
  46. MULTIPLATFORM.md
  47. OBJC_INTEROP.md
  48. PLATFORM_LIBS.md
  49. README.md
  50. RELEASE_NOTES.md
  51. settings.gradle
README.md

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.5 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.