Marco Pennekamp
2cdcdce6ed
[LL FIR] KT-55327 Use body resolve return type calculator for locals
...
- LL FIR uses `ReturnTypeCalculatorWithJump` by default because it
cannot guarantee that the implicit types of non-local functions
referenced in a function `f` have been resolved during body resolve
of `f`.
- However, if `ReturnTypeCalculatorWithJump` encountered a local
function, it tried to resolve its return type even during body
resolve of that same local function. The fix delegates to
`ReturnTypeCalculatorForFullBodyResolve`, which should be used for
local declarations.
^KT-55327 fixed
^KT-55324 fixed
2023-01-02 14:03:42 +01:00
Alexander Udalov
28759a3ac3
Optimize rangeUntil operator in for-loops and contains
...
Newly added tests are basically copies of the existing tests on `until`.
Note that this operator is optimized for all backends, but the fact that
it's optimized is only checked for the JVM backend in bytecode text
tests.
#KT-53330 Fixed
2023-01-02 12:55:48 +00:00
Artem Kobzar
fbf06b5495
[K/JS] Add a secret system property to enable the old Kotlin/JS compiler only for tests until it will be removed from the sources
2022-12-29 13:32:01 +00:00
Igor Yakovlev
71afbb36f5
[Wasm] Introduce Xwasm-generate-wat compiler flag (disabled by default)
2022-12-29 11:57:48 +00:00
Igor Yakovlev
fc80104d55
[Wasm] Fix external functions import clashing
2022-12-29 11:57:47 +00:00
Igor Yakovlev
3be3ae4895
[Wasm] Fix invalid boxing for non-primitive typed vararg
2022-12-29 11:57:46 +00:00
Igor Yakovlev
dc2dcfffee
[Wasm] Enable passing test
2022-12-29 11:57:45 +00:00
Igor Yakovlev
1b2b7ce34c
[Wasm] Support Number type for external functions
2022-12-29 11:57:45 +00:00
Igor Yakovlev
4dedd47172
[Wasm] Fix JsName external declarations
2022-12-29 11:57:45 +00:00
Pavel Mikhailovskii
0b38ab4f01
KT-51277 Fix matching of context receivers and parameter desriptors
2022-12-29 11:28:11 +00:00
Svyatoslav Kuzmich
9d099348ba
[Wasm] Disable interop adapters for WasmImport
...
Merge-request: KT-MR-8152
2022-12-28 17:33:51 +00:00
Pavel Mikhailovskii
906c161068
KT-52791 Make it possible to pass multiple context receivers to a class
2022-12-28 11:21:03 +00:00
Svyatoslav Kuzmich
dd53998c2d
[Wasm] Add uninstantiated MJS wrapper
...
It allows
* Custom imports
* Ability to skip initializer
2022-12-28 12:13:52 +01:00
Svyatoslav Kuzmich
3bbd8c291a
[Wasm] Add @WasmImport annotation
...
Imports top-level function from given module
2022-12-28 12:13:18 +01:00
Pavel Mikhailovskii
3704d54101
KT-52459 Handle context receivers when generating a bridge
2022-12-27 16:19:59 +00:00
Roman Efremov
25f65aff3a
Replace getEntries with hardcoded PsiMethod in LC decompiled declaration
...
This adds NotNull annotation.
^KTIJ-23530 Fixed
2022-12-27 14:41:53 +00:00
Roman Efremov
cbb20ce2b8
Don't generate getEntries method in light classes when feature disabled
...
^KTIJ-23530 Fixed
2022-12-27 14:41:53 +00:00
Roman Efremov
e5d5cbc7a3
Generate Enum.getEntries method in ultra light classes
...
^KTIJ-23530 Fixed
2022-12-27 14:41:52 +00:00
Pavel Mikhailovskii
076bedd065
KT-51397 Add a test (has been fixed elsewhere)
2022-12-27 12:50:43 +00:00
Pavel Mikhailovskii
9ca5e1b421
KT-54357 Fix passing of context receivers to object literal constructors
2022-12-27 11:52:36 +00:00
Kevin Bourrillion
2694bdeb92
Change to use new JSpecify package location.
2022-12-27 11:10:59 +00:00
Kevin Bourrillion
671480ce1a
Duplicate this entire test suite to jspecifyOld before changing the package locations in jspecify.
2022-12-27 11:10:59 +00:00
Kevin Bourrillion
b69b7ab22d
Make the jspecify test accept either (old & new) annotations.
2022-12-27 11:10:58 +00:00
Ilya Gorbunov
e2d96da396
Introduce experimental kotlin.concurrent.Volatile annotation KT-55268, KT-55609
...
Use this annotation in tests to ensure it works the same at least on JVM
2022-12-23 19:07:30 +01:00
xiaozihan.larryxiao
64d40aa285
KT-55398 Add test case
...
Add KT-55398 test case into boxInline/reified
2022-12-23 01:15:18 +00:00
Xin Wang
7278f9a4fd
JVM Inline: Update tryCatchBlocks when expand mask conditions
...
Fixes: KT-48989
2022-12-22 12:50:41 +00:00
Evgeniy.Zhelenskiy
25db5bf6e1
[IR] Enable -Xvalue-classes flag
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-12-22 12:24:16 +00:00
Anna Kozlova
15b1e429d7
[compiler] introduce dedicated Fir declaration for dangling modifier lists (KTIJ-23008)
...
ensure fir annotations are included in FirDanglingModifierList and resolved,
dedicated DanglingTopLevelModifierListStructureElement exists for top
level lists only, class level lists are processed by containing structure
element
2022-12-21 20:58:46 +00:00
Svyatoslav Kuzmich
d788adcbb5
[Wasm] Move non-recursive function types out of rec group
...
This fixes linking with other wasm modules with non-rec types
2022-12-21 20:20:13 +00:00
Pavel Mikhailovskii
06d3e1d8bd
KT-55005 Do not generate CHECKCAST before AASTORE
2022-12-21 15:06:07 +00:00
Evgeniy.Zhelenskiy
ac28c0a286
[IR] Allow inline modifier for functions returning MFVC without warning
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-12-20 21:26:56 +00:00
Pavel Kunyavskiy
4928e284f6
Make LateinitIntrinsicApplicabilityChecker warning for Native and JS
...
This checker was enabled only on JVM by mistake.
It's now fixed, but we don't want to make it an error in minor release.
So it will be an warning in 1.8.20 and an error in 1.9.0
^KT-27002
2022-12-20 20:06:52 +00:00
Pavel Kunyavskiy
17e9a6a781
[klib] Fix serialization of missing annotations
...
^KT-42490
^KT-44625
2022-12-20 20:06:51 +00:00
Dmitrii Gridin
c77401d823
[SLC] drop redundant 'final' modifier from synthetic enum members
...
^KT-55502 Fixed
2022-12-20 19:52:14 +00:00
Dmitrii Gridin
bb51d62e0a
[SLC] support static properties (e.g. Enum.entries)
...
^KT-55496
^KTIJ-23530
2022-12-20 19:52:13 +00:00
Dmitrii Gridin
e39dc9b768
[LC] fix signature of 'Enum.valueOf()'
...
* drop @NotNull annotation from parameter
* add NullPointerException to throws
^KT-55497 Fixed
2022-12-20 19:52:12 +00:00
Dmitrii Gridin
7d0c093da7
[SLC] generate static enum methods from symbols
...
^KT-55496 Fixed
2022-12-20 19:52:11 +00:00
Dmitrii Gridin
c28e9d5253
[LC] add tests for enum classes
...
^KT-55496
^KTIJ-23530
2022-12-20 19:52:11 +00:00
Dmitrii Gridin
f3c7972d20
[SLC] implement java annotations for annotation classes
...
^KT-55481 Fixed
2022-12-20 19:52:10 +00:00
Dmitrii Gridin
1e1525bae5
[SLC] implement light class for RepeatableContainer
...
^KT-55470 Fixed
2022-12-20 19:52:10 +00:00
Dmitriy Novozhilov
02e327277e
[FIR] Report VAL_REASSIGNMENT on assign to non-local vals
...
In this commit reporting on member properties in init section of class
is not supported (see KT-55528)
^KT-55493 Fixed
2022-12-20 08:12:09 +00:00
Dmitriy Novozhilov
e87a064cdd
[FIR] Report VARIABLE_EXPECTED on assign to this
2022-12-20 08:12:09 +00:00
Evgeniy.Zhelenskiy
53b98503ed
[IR] Support MFVC properties without backing fields
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-12-18 22:11:23 +00:00
Igor Chevdar
0f2ebeea15
[tests] Added a test for KT-55494
2022-12-16 18:32:42 +00:00
mcpiroman
a244aaf162
KT-53957 Fix indy lambdas with extension and context receivers ( #5021 )
2022-12-16 17:47:58 +01:00
Dmitriy Novozhilov
b174bb8844
[FIR] Update testdata after introducing FirResolvedErrorReference
2022-12-15 12:12:19 +00:00
Steven Schäfer
6af616d3c3
FIR: make declarations marked with 'override' implicitly open
...
#KT-52236 Fixed
2022-12-14 21:46:41 +00:00
Sergej Jaskiewicz
9c6f92d697
[test] Add a test for KT-55318
2022-12-13 17:01:00 +00:00
Mikhail Glukhikh
6111daa8f7
Fix a pair of broken lazy resolve tests after rebase
2022-12-12 17:27:19 +01:00
Ilya Kirillov
644d1bf0d0
[FIR] ignore tests which fail because of resolve contracts violation
2022-12-12 16:21:07 +00:00