Alexander Korepanov
b1465fbfb8
[JS FIR] Enable warnings and infos for JS FIR tests
2023-11-27 14:31:31 +00:00
Artem Kobzar
6615b77213
[K/JS] Rework symbol hash calculation to make IC works with @JsExport and @JsName changes
2023-11-27 13:49:56 +00:00
Dmitriy Novozhilov
e38b25c278
[FIR2IR] Make convertAndActualize method the only entrypoint to fir2ir
...
Fir2Ir conversion consists of multiple steps with complex logic (like
conversion of each module, actualization, plugins application, constant
evaluation), and to ensure that they all are executed correctly it's
convenient to have the single entry point for all this machinery
2023-11-27 10:17:54 +00:00
Dmitriy Novozhilov
075010b14e
[Test] Get rid of some properties in IrBackendInput
...
`fir2IrComponents`, `irActualizerResult` and `dependentIrModuleFragments`
were used in `IrActualizerAndPluginsFacade`, which was removed in the
previous commit
2023-11-27 10:17:54 +00:00
Dmitriy Novozhilov
1303a33bea
[Test] Get rid of IrActualizerAndPluginsFacade
...
IR actualization and IR plugins will be moved into base Fir2Ir facades
in the following commits, so this facade is not needed anymore
It was easier and cleanlier to remove this facade first and only after
that modify base facades
2023-11-27 10:17:54 +00:00
Svyatoslav Kuzmich
b3bc99a44a
[Build] Use impl dependencies for compiler.common.{web,wasm}
...
Refactor build scripts to use implementation dependencies instead of api
for finer grained recompilations.
2023-11-23 15:52:55 +00:00
Kirill Rakhman
11ab90ecbd
[Tests] Add regression test for #KT-63732
2023-11-23 14:24:47 +00:00
Stanislav Ruban
ec995fc847
[tests] Regenerate configurations for box-tests
2023-11-23 09:34:15 +00:00
Brian Norman
c1f6fe1e76
[FIR] Do not include transitive friend dependencies in symbol provider
...
When flattening a dependency FirSymbolProvider, make sure transitive
dependency FirSymbolProviders are not included. This requires checking
that nested symbol provider sessions match the composite symbol provider
session when they are both source sessions.
^KT-60614 Fixed
2023-11-22 19:43:24 +00:00
Artem Kobzar
33ab1871c7
[K/JS] Fix coroutines but turn back the fix for coroutines intrinsics intercepted and releaseIntercepted
2023-11-22 18:10:08 +00:00
Alexander Korepanov
bf54fda8ec
[JS Test] Add a test case
...
Add a test case for a suspend lambda
with a user-defined value class.
^KT-62077 Fixed
2023-11-22 16:29:54 +00:00
Nikolay Lunyak
427c067cd8
[FIR] Forbid typeRef-named labels without +ContextReceivers
...
^KT-63068 Fixed
2023-11-22 13:22:45 +00:00
Alexander Korepanov
85b2daf41d
[JS IR] Add reflection tests
2023-11-22 09:21:44 +00:00
Nikolay Lunyak
f12ecb3011
[FIR2IR] Avoid converting arguments of dynamic array set twice
...
^KT-63593 Fixed
Merge-request: KT-MR-13152
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com >
2023-11-22 07:39:46 +00:00
Ivan Kylchik
8715bd6189
[IR] Don't evaluate expressions in inner class of an annotation
2023-11-21 09:48:58 +00:00
Ivan Kylchik
3fa82c7bb1
[K2] Properly evaluate complex boolean constants
...
Some boolean expressions could be transformed into `IrWhen`
node. To understand that this node is actually
a boolean expression, we need to analyze its origin.
#KT-62683
2023-11-21 09:48:57 +00:00
Dmitrii Gridin
b3b184f00d
[FIR] add more tests diagnostic tests on data and delegated classes
...
^KT-63522
^KT-63512
^KT-63042
2023-11-21 08:11:20 +00:00
Artem Kobzar
1832f5a3f7
[K/JS] Introduce the ability to consume platform-specific cli arguments inside the main function ^KT-16981 Fixed
2023-11-18 11:01:34 +00:00
Mikhail Glukhikh
a139965231
K2: reproduce KT-63164
2023-11-17 20:29:58 +00:00
Artem Kobzar
e64068cf82
[K/JS, K/Wasm, K/Native] Process anonymous initializers inside classes as a part of their primary constructors ^KT-61929 Fixed
2023-11-17 13:04:34 +00:00
Stanislav Ruban
6edc742934
[tests] builder inference test-set: regenerate diagnostic & codegen tests
2023-11-17 07:02:15 +00:00
Artem Kobzar
ff50d40b32
[K/JS] Rework kotlin tests compilation to make it works with per-file granularity ^KT-61525 Fixed
2023-11-16 19:02:04 +00:00
Artem Kobzar
890fbd6b0b
[K/JS] Process JS-specific returnable blocks before the state machine building
...
^KT-60785 Fixed
^KT-63207 Fixed
2023-11-16 13:25:51 +00:00
Ivan Kylchik
0a6f711a41
[JS_IR] Use IrModuleFragment as input to lowering instead of iterable
...
This way we will be able to reuse existing utils
to create a lowering.
#KT-63073
2023-11-16 12:03:41 +00:00
Artem Kobzar
f4d088a886
[K/JS] Don't add nested classes generated by plugins into ExportModel for interfaces ^KT-63184 Fixed
2023-11-15 10:21:22 +00:00
Artem Kobzar
82bca7a04f
[K/JS] Rework member-exportability check in a right way ^KT-61957 Fixed
2023-11-15 10:18:05 +00:00
Mikhail Glukhikh
4b1368409d
K2: add a black box test to confirm KT-55705 now works properly
2023-11-15 09:33:05 +00:00
Mikhail Glukhikh
f2ef41dbbd
K2: add a black box test for KT-58874 to confirm work also in runtime
2023-11-15 09:33:03 +00:00
Brian Norman
ed4a778aa7
[FIR2IR] Convert data class properties of type dynamic for hashCode
...
Properties of type dynamic within a data class cause compilation to fail
when converting FIR to IR. This is because dynamic types do not have a
proper backing class for symbol lookup. However, dynamic types can just
be considered of type Any for hashCode calculations.
^KT-63094 Fixed
2023-11-14 17:45:04 +00:00
Ilya Goncharov
11b7c35eab
All tasks related to typescript generation made configuration avoidance compatible
...
^KTI-1471 fixed
2023-11-14 16:53:23 +00:00
Artem Kobzar
bec434d534
[K/JS] Save nullability from the original type of value parameters ^KT-63013 Fixed
2023-11-14 10:40:07 +00:00
Mikhail Glukhikh
4913c38e98
FIR2IR: insert spread for named argument against primitive vararg
...
#KT-60312 Fixed
2023-11-13 16:23:26 +00:00
Mikhail Glukhikh
4abce54748
K2: reproduce KT-60312
2023-11-13 16:23:26 +00:00
Dmitriy Novozhilov
8578a0bf6a
[FIR2IR] Properly insert casts for smartcasts in argument position
...
Previously cast inserter didn't consider expected type for arguments
of function calls
^KT-63257 Fixed
2023-11-10 07:50:01 +00:00
Kirill Rakhman
7da271bab8
[FIR] Serialize context receivers using the correct local serializer
...
This leads to type ref referring to generic type variables being
serialized correctly.
When the type variable is declared on the member itself, it's written to
typeParameterName,
otherwise it's written to typeParameter. This is required for
deserialization to work correctly.
#KT-63227 Fixed
2023-11-08 10:26:34 +00:00
Dmitriy Novozhilov
d08567c2c7
[FIR2IR] Approximate extension receiver type after type argument substitution
...
Frontend may leak captured types into type arguments, so they should be
approximated before using them in fir2ir cast inserter to determine
a specific type from smartcast
^KT-62863 Fixed
2023-11-07 12:37:19 +00:00
cristiangarcia
69c209874d
Use cache-redirector to download Node.js for js.tests
2023-11-06 11:01:54 +01:00
Dmitriy Novozhilov
420fbad73d
[FIR2IR] Properly insert implicit casts to extension receiver in case of intersection smartcast type
...
^KT-62863 Fixed
2023-11-06 06:50:35 +00:00
Mikhail Glukhikh
50106c740c
K2: reproduce situation from KT-62863
2023-11-06 06:50:35 +00:00
Mikhail Glukhikh
1ef0f9e944
K2: reproduce strange "smartcast aside" behavior related to KT-62544 fix
2023-11-06 06:50:35 +00:00
Vladimir Sukharev
8e4a6759a4
[FIR] Fix Disappeared INVALID_CHARACTERS
...
^KT-59996 Fixed
2023-10-31 22:04:06 +00:00
Alexander Korepanov
0d7de87e2e
[JS IR test] Add a test for invalidation with a src name chash
2023-10-30 09:14:16 +00:00
Alexander Korepanov
ec71fe20e2
[JS IR] Fix file name clashes during JS BE invalidation
2023-10-30 09:14:16 +00:00
Alexander Korepanov
73bf7fa506
[JS IR test] Add a simple multiplatform invalidation test
2023-10-30 09:14:15 +00:00
Alexander Korepanov
bf80d55fc3
[JS IR test] Use relative paths for klib building in invalidation tests
2023-10-30 09:14:15 +00:00
Alexander Korepanov
27b458c222
[JS IR test] Support multiplatform for invalidation tests
2023-10-30 09:14:15 +00:00
Alexander Korepanov
91edbeb747
[JS IR] Add tests for checking constant inlining with JS IR IC
...
^KT-62425
2023-10-26 19:22:14 +00:00
Alexander Korepanov
4ebfed04d3
[JS IR] Add tests for JS code KLIB diagnostics
...
^KT-62425
2023-10-26 19:22:14 +00:00
Alexander Korepanov
04809a6b3b
[JS IR] Move tests for JS code diagnostics
...
^KT-62425
2023-10-26 19:22:14 +00:00
Alexander Korepanov
78aa34b3e8
[JS IR] Fix JS box tests
...
^KT-62425
2023-10-26 19:22:14 +00:00