Commit Graph

5317 Commits

Author SHA1 Message Date
Alexander Korepanov bf57e33713 [JS IR] Add an implicit cast to int32 for the shru operator
^KT-20791 Fixed
2021-12-09 14:10:03 +00:00
Alexander Korepanov a34c97ebd5 [JS IR] Generate context dependent names for anonymous objects and classes. 2021-12-09 13:56:25 +00:00
Artem Kobzar b1643075f2 fix(KT-50040): remove the corresponding symbol from top-level accessors. 2021-12-09 13:39:35 +00:00
Victor Petukhov 0e6762acc3 [FE 1.0] Provide an API to clean compile time initializer cache for variable descriptor 2021-12-09 16:15:24 +03:00
Dmitry Petrov 3017397960 JVM_IR fix string concatenation performance issues
KT-50080 KT-50084 KT-50140
2021-12-09 15:32:13 +03:00
Ivan Kochurkin fa41e0f5a9 [FIR2IR] Minor: reuse calculated expression 2021-12-09 12:31:25 +00:00
Roman Artemev dc1155de24 [JS IR] Erase IrErrorType into IrErrorType 2021-12-08 20:18:16 +03:00
Roman Artemev 002d6723ac [KLIB] Fix partially-linked mode
- don't mark super classes as unlinked if its type argument is
 - check IrCall type as well
2021-12-08 20:18:15 +03:00
Dmitry Petrov 93713a9ad4 JVM_IR KT-47939 use FunInterfaceConstructorReference as base class 2021-12-08 14:12:41 +03:00
Dmitry Petrov 0ccd7a7e0c KT-47939 fun interface constructor reference should throw NPE for null 2021-12-08 14:12:41 +03:00
Dmitry Petrov 9eeb8f54fb JVM_IR KT-47939 fixes after review 2021-12-08 14:12:39 +03:00
Dmitry Petrov e179598457 JVM_IR KT-47939 equality for fun interface constructor references 2021-12-08 14:12:38 +03:00
Dmitry Petrov 50b0dae786 KT-47939 fixes after review 2021-12-08 14:12:37 +03:00
Dmitry Petrov 27a144f86f PSI2IR KT-47939 callable references to fun interface constructors 2021-12-08 14:12:34 +03:00
Ilya Goncharov 00289d3514 rra/ilgonmic/exported-bridges-2
[JS IR] Use js name for signature

[JS] bridgeSavingExport only for JS IR

[JS IR] Fix test

[JS IR] Stable and non stable signatures

[JS IR] Consider return type in js signature and erase for JS name signature

[JS IR] Copy signature from wasm to JS and export bridge, not original

Merge-request: KT-MR-5174
2021-12-08 08:30:14 +00:00
Ilya Goncharov 0c74376cc4 rra/ilgonmic/after-test-promise
[JS] Node downloading for js ir integration kotlin test

[JS] Fix API of Promise

[JS IR] Promise symbol as lazy2

[JS] Support legacy compiler aftertest with promises

[JS IR] Generate finally for promised tests

[JS] Setup it tests for JS IR kotlin-test

Merge-request: KT-MR-5168

^KT-49738 fixed
2021-12-08 08:22:53 +00:00
Alexander Udalov 1471602c9f JVM IR: do not optimize properties with -Xno-optimized-callable-references
#KT-50019 Fixed
2021-12-08 03:15:49 +01:00
Igor Yakovlev 2e78a1cd90 [WASM] Fix invalid string literal encoding 2021-12-07 21:33:21 +03:00
Dmitry Petrov 100d7123c2 JVM_IR KT-50078 fix for-in-array loop bytecode shape 2021-12-07 17:41:59 +03:00
Dmitry Petrov 256aaa3388 Minor: extract *LoopHeader classes to separate files 2021-12-07 17:41:58 +03:00
Leonid Startsev 767c570af4 Load default values for annotation members from classfiles
so that defaults are available to synthetic implementations.

#KT-48181 Fixed

Implementation is for JVM IR; other backends & FIR need to be supported
separately.
2021-12-07 10:10:04 +00:00
Victor Petukhov 61d40403e7 [FE 1.0] Create captured star projection for self types by replacing type arguments deeply
^KT-49752 Fixed
2021-12-07 11:38:45 +03:00
Mads Ager 529944fe9c [JVM_IR] Fix inline class default method codegen.
Do not coroutine transform static inline class replacements that
forward to a default interface suspend method. No boxing has to
take place on return (as the default interface method always
boxes) so we can simply forward the call.

^KT-49645 Fixed
2021-12-06 17:29:59 +01:00
Dmitriy Novozhilov 3519543831 [IR Test] Properly create empty dump for IR files witout source 2021-12-06 19:23:12 +03:00
Dmitry Petrov 7206c06d26 IR KT-50039 don't initialize outer 'this' in delegating constructor 2021-12-06 17:31:37 +03:00
Mikhael Bogdanov ea58c858d1 JvmDefault. Support @JvmDefaultWithCompatibility annotation
#KT-48217 Fixed
2021-12-06 14:20:24 +01:00
Dmitriy Novozhilov 86404b8027 [FIR] Implement IR body generators for all FIR declarations generators in plugin prototype 2021-12-03 14:17:34 +03:00
Anton Bannykh 7b5fbb2985 [IR] add a TODO for the privateSignature 2021-12-03 12:58:25 +03:00
Anton Bannykh 4de69fb4b5 [JS IR] store signatures for private symbols separately from public
Those signatures are used in JS IR IC
2021-12-03 12:58:24 +03:00
Anton Bannykh cb3538db92 Revert "[IR] support storing signatures for non-public symbols"
This reverts commit 33cd7e982c.
2021-12-03 12:58:24 +03:00
Anastasiya Shadrina 9e2271399e [FE] Render context receivers for functions, properties, and classes 2021-12-02 20:25:05 +03:00
Anastasiya Shadrina a59b9e78ac [PSI2IR] Numeric promotion doesn't involve context receivers 2021-12-02 20:24:54 +03:00
Anastasiya Shadrina a760865767 [PSI2IR] Generate safe calls correctly 2021-12-02 20:24:54 +03:00
Anastasiya Shadrina 229a009828 [PSI2IR] Revert synthetic property accessor call adjustment do can't have CR 2021-12-02 20:24:53 +03:00
Anastasiya Shadrina 7a86b4f20a [PSI2IR] Synthetic property accessor call adjustment do can't have CR 2021-12-02 20:24:52 +03:00
Anastasiya Shadrina bd4e51f304 [FE, PSI2IR] Pass context receivers when calling typealias constructor 2021-12-02 20:24:50 +03:00
Anastasiya Shadrina cd2fbfed2e [IR] Add context receivers count to KotlinIr.proto 2021-12-02 20:24:47 +03:00
Anastasiya Shadrina 17f24319d0 [IR, Tests] Add context receivers count to IR dump 2021-12-02 20:24:46 +03:00
Anastasiya Shadrina c194f12cb4 [IR] Generate context receivers count for PersistentIr 2021-12-02 20:24:39 +03:00
Anastasiya Shadrina 617af898b0 [FE, IR] Support deserialization 2021-12-02 20:24:37 +03:00
Anastasiya Shadrina 2fbfee3e11 [PSI2IR] Fix parameter initialization for constructors with CR 2021-12-02 20:24:36 +03:00
Anastasiya Shadrina 4caf42804a [IR] Revert changes to KFunctionProxy, put TODO
Context receivers are not yet available in FIR
2021-12-02 20:24:35 +03:00
Anastasiya Shadrina d0794e6741 [IR] Make contextReceiverParametersCount abstract in IrFunction 2021-12-02 20:24:34 +03:00
Anastasiya Shadrina 097e286622 [IR] Minor: add a note about contextReceiverParametersCount prop 2021-12-02 20:24:27 +03:00
Anastasiya Shadrina f05ca5be33 [PSI2IR] Additional receiver -> context receiver 2021-12-02 20:24:26 +03:00
Anastasiya Shadrina a3cf1a11bf [BE] Add context receivers to inline class replacements 2021-12-02 20:24:24 +03:00
Anastasiya Shadrina c148a12e4b [IR] Fix functional type sample 2021-12-02 20:24:24 +03:00
Anastasiya Shadrina 6d1e5637a7 [PSI2IR] Do not create property descriptors during IR generation 2021-12-02 20:24:22 +03:00
Anastasiya Shadrina 1357f28be6 [FE] Create separate class for context receiver value 2021-12-02 20:24:21 +03:00
Anastasiya Shadrina 155e7b211b [PSI2IR, IR] Support functional types and literals for IR 2021-12-02 20:24:17 +03:00