Ivan Kochurkin
e601b01be2
[FIR2IR] Use single IrBuiltInsOverFir for all MPP source modules
...
^KT-56229 Fixed
2023-02-01 11:42:45 +00:00
Vladimir Sukharev
fbcb07d375
[K2/N] KT-55828 Enable already fixed and accidentally disabled tests
...
Merge-request: KT-MR-8605
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-02-01 10:44:26 +00:00
Mikhail Glukhikh
f0ea8ab81b
FIR2IR: make IrGetValue type consistent with IrVariable type
...
#KT-55458 Fixed
2023-01-31 13:43:26 +00:00
Pavel Kunyavskiy
cb655d2d37
[K/N] Fix work with adapted function references
...
Their parsing was totally incorrect for K2, and sometimes incorrect for
K1. After this commit it uses same code as for JVM.
^KT-55462
2023-01-30 19:44:49 +00:00
Marco Pennekamp
9a693fa967
[FIR] Update backend tests with actual/expect in same module
...
- The fix for KT-55570 caused some backend tests to fail, because errors
are now correctly reported for simple classes and actual/expect in
the same module is not supported in FIR. See KT-55177.
- The commit also adds separate tests for K2. Unfortunately, these have
to be disabled for K1 because K1 then reports "expect without actual"
errors.
2023-01-30 17:17:58 +00:00
Mikhail Glukhikh
bf090cdc6d
Add different black box tests around KT-52338
2023-01-30 14:55:41 +00:00
Mads Sig Ager
7c3cc1d5c1
[JVM_IR] Limit inner class attributes to types in class file ( #5081 )
...
* [JVM_IR] Limit inner class attributes to types in class file
Inner class attributes should only be recorded for types that
are materialized in the result class file. In particular, we
should not emit inner classes attributes for types that appear
only in fake overrides. We do map these types to track the
fake overrides for JVM signature clashes but they are not
materialized in the class file.
^KT-56104 Fixed
* [JVM_IR] Consistently pass around materialized boolean in mapType.
2023-01-30 14:11:07 +01:00
Dmitriy Novozhilov
2fddb15539
[Test] Move some builder inference tests from codegen to diagnostics
...
^KT-56169
2023-01-30 09:29:58 +00:00
Dmitriy Novozhilov
88efa6bfb6
Update tests after switching to LV 1.9
2023-01-30 09:29:57 +00:00
Nikolay Lunyak
e2403c801f
[FIR] KT-55747: Report error for operator fun mod
...
^KT-55747 Fixed
Merge-request: KT-MR-8522
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com >
2023-01-30 08:48:33 +00:00
Pavel Mikhailovskii
f308f33f9f
KT-56154 Fix PropertyReferenceLowering for Java synthetic properties
...
Co-authored-by: Alexander Udalov <Alexander.Udalov@jetbrains.com >
2023-01-28 10:38:09 +00:00
Ivan Kylchik
706a8a91f6
Move kt55912 test into involvesIrInterpreter dir
2023-01-27 17:15:52 +00:00
Zalim Bashorov
b02279de14
[Wasm] Run wasm test using all available VMs: V8 & SpiderMonkey for now
...
Also, add a new directive, `WASM_FAILS_IN`, to specify VMs where a test is expected to fail for now.
#KT-56166 Fixed
2023-01-27 17:57:50 +01:00
Sergej Jaskiewicz
bd18fd40ea
[K/N] Remap type args of SAM interfaces in FunctionReferenceLowering
...
#KT-56188 Fixed
2023-01-27 15:26:32 +00:00
Ivan Kylchik
bc21753877
Move IR interpreter's tests from ir/loweredIr directory into box
2023-01-27 10:52:56 +00:00
Ivan Kylchik
13cad2a820
Don't save constant value for non-resolved array expression in K1
...
#KT-55912 Fixed
2023-01-27 09:56:35 +00:00
Mikhail Glukhikh
d436d56871
FE: add some more tests around static field fake overrides
2023-01-26 15:27:58 +00:00
Mikhail Glukhikh
4167a69e30
K2: generate implicit dispatch receivers for static members called
...
#KT-55371 Fixed
#KT-55372 Fixed
2023-01-26 15:27:57 +00:00
Mikhail Glukhikh
9cfcf057ef
K2: expand qualifier type aliases in visibility checker & in FIR2IR
...
#KT-55408 Fixed
2023-01-26 15:27:56 +00:00
Mikhail Glukhikh
416d4f57eb
K2: add test for KT-55371
2023-01-26 15:27:55 +00:00
pyos
9f17b5de97
FIR CFA: add edges according to constructor delegation
2023-01-26 13:12:11 +00:00
Vladimir Sukharev
1990883bdc
[K2/N] KT-55464, KT-56091 Fix various klib annotations, including critical ones
...
Merge-request: KT-MR-8457
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-01-26 11:15:15 +00:00
Igor Chevdar
9d911247fa
[K/N] Wrap continuation with ContinuationImpl on callable references
...
#KT-55869
2023-01-25 15:55:16 +00:00
Mikhail Glukhikh
f0a1d3e3b1
FIR2IR: generate modifiers in reference adapters as PSI2IR does
...
In particular, this commit makes isExternal, isExpect and isTailRec
always false for FIR2IR reference adapters
#KT-55461 Fixed
2023-01-25 12:31:34 +00:00
Mikhail Glukhikh
ae4b8be16b
FIR2IR: never generate empty when #KT-55459 Fixed
...
In details, this commit changes the following:
- it converts FIR when without branches to empty IR block without when
- it doesn't drop empty else branches in when anymore
2023-01-25 12:31:34 +00:00
Svyatoslav Kuzmich
e1f72d60dc
[Wasm] stdlib API: Mark primitives constructor properties as private
...
These are implementation detail and were not meant to be public
2023-01-24 14:55:00 +01:00
Alexander Udalov
c58314fddf
Reflection: improve and optimize kotlinFunction/kotlinProperty
...
- Make the implementations very similar, to fix KT-54833 where the
companion object case was forgotten for kotlinProperty.
- Optimize both functions to look up the function/property by name
first, to cover the most probable case when the JVM name of a
declaration is equal to its Kotlin name. This fixes KT-55937.
#KT-54833 Fixed
#KT-55937 Fixed
2023-01-23 20:43:00 +01:00
Ilmir Usmanov
945cdc8884
Minor. Ignore tests in JS_IR_ES6, regenerate tests
2023-01-19 17:04:31 +01:00
Ilmir Usmanov
d18672bfb1
Wrap continuation with ContinuationImpl on callable references
...
in startCoroutineUninterceptedOrReturn. Otherwise, the coroutine will
not be interceptable later.
Add a test, which checks, that intercepted continuation is released.
#KT-55869
2023-01-19 00:35:36 +00:00
Pavel Kunyavskiy
2843c0ad1e
[K/N] Fix cleaning stack-local primitive array
...
^KT-55984
2023-01-18 11:52:43 +00:00
Artem Kobzar
71486a321c
[K/JS] Add support of compilation with ES-classes
2023-01-17 18:14:17 +00:00
Dmitriy Novozhilov
8bd3c9d019
[FIR] Don't transform nested classes during class update because of @JvmRecord annotation
...
^KT-55703 Fixed
2023-01-17 14:51:28 +00:00
Dmitriy Novozhilov
ad191eb179
[Test] Add test for KT-55703
2023-01-17 14:51:28 +00:00
Dmitriy Novozhilov
83cbd322fd
[Test] Prohibit declaring dependency on the same module with different kinds in module structure
2023-01-17 14:51:27 +00:00
Vladimir Sukharev
e4d209cbde
[K2] [KN-55977] Fix suspend type serialization
...
Merge-request: KT-MR-8328
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-01-17 13:07:21 +00:00
Pavel Kunyavskiy
6ab00a65dd
[K/N] Support volatile intrinsics on globals
...
Also, make intrinsics signature more consistent with other intrinsics,
e.g. with isInitialized on lateinit field.
^KT-54944
2023-01-16 08:34:24 +00:00
Pavel Kunyavskiy
fc95b88eef
[K/N] Tests for volatile
...
^KT-54944
2023-01-16 08:34:23 +00:00
Svyatoslav Kuzmich
d14d4c8510
[Wasm] Support JsModule and JsQualifier
2023-01-13 21:58:34 +00:00
Ivan Kochurkin
8936220876
[IR] Implement IR actualizer and use it for K2 test and CLI scenario
...
Implement calculateExpectActualMap for Fir2IrComponents
^KT-51753 Fixed
2023-01-13 12:55:58 +00:00
Ivan Kochurkin
f17e1314f6
[FIR2IR] Implement tables merging in Fir2Ir classes and SymbolTable
...
- Pass dependent (usually common code) components to further FIR2IR converters
- Don't reinitialize builtin
2023-01-13 12:55:57 +00:00
Pavel Mikhailovskii
38a56ba8e8
KT-55308, KT-55769 Sort InnerClasses entries. Add DONT_SORT_DECLARATIONS directive
2023-01-13 01:07:10 +00:00
Sergej Jaskiewicz
4a2a77d9b9
[K/N] Make classes generated from λs that use generic parameters generic
...
Previously, a function reference that used generic parameters from its
outer scope was lowered into a top-level non-generic subclass of
`FunctionN`, with `FunctionN` type arguments referencing type parameters
not present in the scope anymore. This sometimes resulted in generating
malformed mangled names.
From now on the generated subclass of `FunctionN` is generic. The needed
type arguments are passed upon instantiation, when the relevant generic
parameters are present in the scope.
2023-01-12 15:32:50 +00:00
Svyatoslav Kuzmich
1564de5859
[Wasm] Support external vararg
...
Initial implementation copies Wasm array to JS array and spreads it
2023-01-11 10:35:36 +00:00
Kirill Rakhman
69f2e8826a
FIR: fix a bunch of issues after DiagnosticsReporter refactoring related to reporting diagnostic on null source
2023-01-11 08:30:36 +00:00
pyos
e86b87fe0b
Test: FIR CFA: fix the names of some nodes
2023-01-10 15:40:52 +02:00
pyos
b548473544
FIR CFA: automatically compute node levels
2023-01-10 15:40:50 +02:00
pyos
17ee8f3a7b
FIR CFA: put primary constructor before other class members
2023-01-10 15:40:50 +02:00
pyos
c6e9afb788
FIR CFA: remove class initializer part nodes
...
Instead, attach subgraphs directly to the class enter node.
2023-01-10 15:40:50 +02:00
pyos
54f32a6fba
Test: FIR CFA: index nodes in rendering order
2023-01-10 15:40:49 +02:00
pyos
4c6eff9174
FIR CFA: compute subgraph relationships automatically
...
No more `addSubGraph`. Also no more `owner` in graphs.
^KT-40526 Obsolete
^KT-40582 Obsolete
2023-01-10 15:40:48 +02:00