Ivan Kochurkin
cd07eba25c
[K2, MPP] Fix reporting of MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED
2023-03-22 01:28:19 +00:00
Ivan Kochurkin
60edf1def3
[K2, MPP] Support actualization of enums and annotations that have primary constructor with arguments
...
^KT-57241 Fixed
2023-03-22 01:28:18 +00:00
Ivan Kochurkin
44807b7bd4
[K2, MPP] Support actualization of actual function with dynamic arguments
...
^KT-57210 Fixed
2023-03-22 01:28:18 +00:00
Ivan Kochurkin
ce7af9ff2b
[K2, MPP] Support arguments with expect types in actual functions
2023-03-22 01:28:18 +00:00
Ivan Kochurkin
ec34b9fa7b
[K2, MPP] Restore ir functions actualization by argument types instead of full signatures
...
Refactor IrActualizer
2023-03-22 01:28:17 +00:00
Ivan Kochurkin
d99b4c78d2
[K2, MPP] Correct actualization of nested objects
...
^KT-57182 Fixed
2023-03-22 01:28:17 +00:00
Ilya Chernikov
59b88f33b2
[K2, MPP] implement IR errors reporting and test infrastructure
...
Fix test data
^KT-56344 Fixed
2023-03-22 01:28:16 +00:00
Ivan Kylchik
7cf70e7b15
[JVM IR] Fix performance issue caused by support of IR Inliner
2023-03-20 23:36:33 +00:00
Artem Kobzar
948c511284
[K/JS] Rework ES modules part with squashed JsImport and right renaming strategy inside import/export statements
2023-03-16 10:28:39 +00:00
Pavel Kunyavskiy
62fb3df7f0
[K/N] Disable scope initialization on constant access
...
^KT-57098
2023-03-15 09:03:19 +00:00
Ivan Kylchik
f8deae4570
Reuse implicitCastIfNeededTo function in FunctionInlining
2023-03-14 20:47:46 +00:00
Ivan Kylchik
5b3d6583af
Change isLambdaCall logic in FunctionInlining
...
We are allowing to inline `KFunction` invoke call. This is needed for
JVM paired with K2 compiler. Probably this can be reverted after
#KT-57249 fix.
2023-03-14 20:47:45 +00:00
Ivan Kylchik
d2e92fd70d
Add additional test cases and notes for KT44429
2023-03-14 20:47:45 +00:00
Ivan Kylchik
4fc95624a0
Rename attributeOwnerIdBeforeInline to originalBeforeInline
2023-03-14 20:47:44 +00:00
Ivan Kylchik
d148231bce
Rewrite copy method in FunctionInlining
...
This way we can avoid unnecessary cast
2023-03-14 20:47:44 +00:00
Ivan Kylchik
ab2c3572ab
Drop all usages of inlineFunctionSymbol in IrReturnableBlock
2023-03-14 20:47:41 +00:00
Ivan Kylchik
095c7c5930
Remove all secondary constructors from FunctionInlining
2023-03-14 20:47:41 +00:00
Ivan Kylchik
b31114fa52
Extract new smap creation logic into separate class LineNumberMapper
2023-03-14 20:47:39 +00:00
Ivan Kylchik
32a7633c06
Support smap creation for functions inlined with IR inliner
2023-03-14 20:47:38 +00:00
Ivan Kylchik
6e690f709e
Avoid irGet with Unit value if it is last it IrReturnableBlock
...
This is needed to pass `MethodVerifier` check on JVM backend
2023-03-14 20:47:38 +00:00
Ivan Kylchik
707c5f03b8
Add new "invent name" phase to generate names for regenerated classes
2023-03-14 20:47:37 +00:00
Ivan Kylchik
e159f7f682
Move some file level lowerings to module level
...
This is needed to fix "kt42408" test with enabled
IR inliner.
2023-03-14 20:47:37 +00:00
Ivan Kylchik
795d4bb739
Make regenerated inlined classes public by default
2023-03-14 20:47:37 +00:00
Ivan Kylchik
d9382b2b66
Properly remove duplicated inlined classes using capturedConstructors
2023-03-14 20:47:36 +00:00
Ivan Kylchik
969b0216d4
Support inlining of property reference with non-nullable field
2023-03-14 20:47:36 +00:00
Ivan Kylchik
4baf970d5b
Collect classes for JVM that must be regenerated after IR inline
2023-03-14 20:47:35 +00:00
Ivan Kylchik
41b56e5f16
Add some new utils to work with IrInlinedFunctionBlock
2023-03-14 20:47:35 +00:00
Ivan Kylchik
163ed20de5
Set original type for expression inlined as arguments
...
This is mainly needed to fix cases like in "kt44429".
2023-03-14 20:47:34 +00:00
Ivan Kylchik
ce6084302f
Add FunctionInlining lowering to JvmLower
2023-03-14 20:47:34 +00:00
Ivan Kylchik
ef78196cbc
Replace all usages of inlineFunctionSymbol with inlineFunction
2023-03-14 20:47:34 +00:00
Ivan Kylchik
1d30a68285
Separate inlined by IR inliner arguments into two categories
...
First category of arguments is those that present at call site, and
second category is for those that are default.
2023-03-14 20:47:33 +00:00
Ivan Kylchik
59522a6130
Improve IR inliner to be able to inline property references
2023-03-14 20:47:33 +00:00
Ivan Kylchik
a09a48492b
Set names for tmp vars in FunctionInlining without special symbols
...
This way we drop excess symbols like `<` and `>`. This is need on
JVM to get rid of "dexing error".
2023-03-14 20:47:32 +00:00
Ivan Kylchik
c2fc745d66
Create special copy function in FunctionInlining
...
Semantically this is the same code, but it is easier to read
2023-03-14 20:47:32 +00:00
Artem Kobzar
26f6661d1e
[K/JS] Remove the possibility to have negative lines and columns in Source Maps
2023-03-06 16:55:26 +00:00
Ivan Kochurkin
5b2a1feaf0
[IR] Support of @OptionalExpectation in IrActualizer
...
^KT-56579 Fixed
2023-03-01 22:10:10 +00:00
Ivan Kochurkin
d87619e06e
[FIR & IR] Support of default values for arguments in expect functions
...
Add FirActualDeclarationChecker that checks expect/actual return types
^KT-56331 Fixed, ^KT-56334 Fixed
2023-03-01 22:10:07 +00:00
Ivan Kochurkin
a54b56d74e
[IR] Simplify ExpectActualCollector, remove nesting
2023-03-01 22:10:06 +00:00
Ilmir Usmanov
01c670194a
FIR2IR: Do not add fake override if the member is overridden
...
#KT-56398
2023-02-24 14:24:12 +00:00
Alexander Udalov
5f4a560899
Fix binary compatibility with AS 222/223 in PhaseConfig
...
(cherry picked from commit a419120cbd6050417945a0e9f411213debd15b77)
2023-02-24 14:23:52 +00:00
Alexander Udalov
22b4b29292
IR: make most properties mutable
2023-02-22 22:40:34 +00:00
Ilmir Usmanov
bfa2937fb8
FIR2IR: Do not add fake override if the member is overridden
...
#KT-56398 Fixed
2023-02-21 17:18:01 +01:00
Alexander Udalov
b152600e35
IR: add flag to IrGenerationExtension for executing in kapt mode
...
#KT-56635 Fixed
2023-02-17 14:00:54 +00:00
Dmitriy Novozhilov
30ea4b6b53
[FIR2IR] Adapt IrActualizer to HMPP modules
...
Previously it collected actual declaration only from platform module
2023-02-17 11:08:51 +00:00
Igor Chevdar
0655b02097
[IR] Proper error message for IR validation
2023-02-14 07:30:46 +00:00
Igor Chevdar
1e8cd91e0f
[IR] Fixed wrong IrCall type (to fix IR validation)
2023-02-14 07:30:45 +00:00
Igor Chevdar
3dad0cfb05
[IR] Fixed wrong IrCall type (to fix IR validation)
2023-02-14 07:30:45 +00:00
Igor Chevdar
5e6aa649ed
[IR] Extracted implicitCastIfNeeded to common utils
2023-02-14 07:30:44 +00:00
Igor Chevdar
ea2ce2b52e
[IR] Fixed wrong parents
2023-02-14 07:30:44 +00:00
Svyatoslav Kuzmich
26c1098a4f
[Wasm] Fix inliner issues (KT-56584)
...
* Fix objects in inline functions and lambdas:
* Add common lowerings used in K/JS and K/Native
* Fix inline lambda call detection logic in presence of additional casts
Merge-request: KT-MR-8791
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com >
2023-02-13 13:14:43 +00:00