Nikolay Lunyak
409249267c
[FIR] Ensure this@label doesn't work in K2
2023-03-09 09:43:02 +00:00
Nikita Bobko
62d2327ca3
Don't issue a warning about expect/actual in the same module for incompatible expect/actual pairs
...
^KT-57067 Fixed
Review: https://jetbrains.team/p/kt/reviews/9123
2023-03-09 09:30:29 +00:00
Kirill Rakhman
f946ddeb40
[FIR] Implement checks for contract not allowed
...
^KT-55423 Fixed
2023-03-09 08:32:02 +00:00
Kirill Rakhman
b2fbf8bed5
[FIR] Fix callable reference adaptation for overrides without defaults
...
Provide the correct scope to the argument mapping so that default values
in overridden functions are considered.
^KT-56864 Fixed
2023-03-09 08:26:16 +00:00
vladislav.grechko
17e6099b53
Initialize 'source' property of FirCatch objects properly
...
^KT-56923: Fixed
^KT-56755: Fixed
2023-03-08 12:03:35 +00:00
Kirill Rakhman
83845fbab5
[FIR] Only add non-subsumed to overridden of intersection override
...
If an intersection override overrides members A.x, B.x and C.x and
B <: A, then A.x is subsumed by B.x, and we don't add it to the list of
overridden members. This fixes a false-positive MANY_IMPL_MEMBER_NOT_
IMPLEMENTED where an implementation is subsumed by an abstract override.
^KT-57092 Fixed
2023-03-08 11:01:56 +00:00
Kirill Rakhman
c4255cdb0f
[FIR2IR] Fix adapted callable reference to nested class constructor
...
^KT-56829 Fixed
2023-03-08 08:36:52 +00:00
Kirill Rakhman
e0baeb53db
[FIR] Fix substituted synthetic property with overridden getter only
...
When building the original for a substitution override for a synthetic
property, use the initial setter as fallback when unsubstituting it
returns null. This can happen when a generic class overrides the getter
of a synthetic property of a non-generic class. Then the setter is never
substituted, therefore there is nothing to unsubstitute.
^KT-57168 Fixed
2023-03-08 08:35:02 +00:00
Ilya Chernikov
b3d0a0a1c8
FIR LT: support labelled destructured declarations
...
add missing conversion in the LT to FIR converter
#KT-56759 fixed
2023-03-08 07:28:35 +00:00
Igor Chevdar
315d9089b0
[box-tests] Another version of reproducer for KT-56965
2023-03-08 06:48:52 +00:00
Igor Chevdar
99ec3215d9
[box-tests] Added a reproducer for KT-57053
2023-03-08 06:48:51 +00:00
Evgeniy.Zhelenskiy
88f293d4a9
[IR] Support reflection for MFVC
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2023-03-07 21:44:43 +00:00
Evgeniy.Zhelenskiy
5b868becf4
[IR] Hide regular class constructor with MFVC parameters
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2023-03-07 21:44:41 +00:00
Nikolay Lunyak
07fa86f6bc
[FIR] KT-57085: Ignore the diagnostic case in @Suppress()
...
^KT-57085 Fixed
2023-03-07 20:28:02 +00:00
Pavel Mikhailovskii
9db5ea66a6
KT-57103 Don't inline references to generic synthetic Java properties in K1
2023-03-07 17:35:04 +00:00
Nikolay Lunyak
343deeec1c
[FIR] Check FirReceiverParameter annotations' targets
2023-03-07 11:35:47 +00:00
Nikolay Lunyak
0c77de3049
[FIR] Add a test with an inapplicable receiver annotation
2023-03-07 11:35:47 +00:00
Nikolay Lunyak
1378d730d6
[FIR] Forbid all use-site targets of FirTypeRef annotations
2023-03-07 11:35:47 +00:00
Nikolay Lunyak
93ba0c3e70
[FIR] KT-56769: Ensure @receiver: is only allowed on receivers
...
Note that there's no code that checks that
FirReceiverParameter's annotation's use-site target
is indeed `@receiver:`, because otherwise the
annotation wouldn't have made it into
the FirReceiverParameter.
In contrast, in K1 all such annotations are treated
as annotations on a KtTypeReference.
^KT-56769 Fixed
2023-03-07 11:35:46 +00:00
Zalim Bashorov
4d7cf81ed0
[Wasm] Stop supporting "_export.js" in test infra, use import/export capability in relevant tests
...
* It works slightly differently in SpiderMonkey.
* It was a hack.
2023-03-06 23:19:02 +01:00
Zalim Bashorov
bec827b654
[Wasm] Update SpiderMonkey to 112.0a1 (2023-03-04-09-52-24)
2023-03-06 23:19:02 +01:00
Alexander Udalov
47c48efa33
JVM IR: do not generate extension receiver parameter as ACC_MANDATED
...
Otherwise Java reflection is not able to load its type as a
parameterized type.
#KT-40857 Fixed
2023-03-06 20:57:52 +00:00
Kirill Rakhman
b80970b09f
[FIR] Fix references to generic synthetic properties
...
When synthetic properties are built from a substitution override,
set originalForSubstitutionOverride, too.
^KT-56251 Fixed
2023-03-06 09:45:02 +00:00
vladislav.grechko
7033d78641
Fix SAM conversion generation condition
...
Remove check if array is passed to vararg parameter as it's not
relevant anymore and leads to ^KT-51821.
^KT-51821: Fixed
2023-03-04 12:53:48 +00:00
Sergej Jaskiewicz
f40278c036
An option to allow out-of-scope type parameters in IrManglerComputer
...
In the lowered IR there are often references to type parameters whose
containers are not in the current scope. This is incorrect semantically,
but it works in practice due to erasure, so when the mangler is used on
the lowered IR, we don't want to crash the compiler.
2023-03-03 22:08:57 +00:00
Ivan Kochurkin
d829f8b684
[FIR] Drop using of JavaSymbolProvider and OptionalAnnotationClassesProvider in FirCommonSessionFactory
...
Drop using of all Java stuff inside FirCommonSessionFactory
^KT-56063
2023-03-03 20:58:24 +00:00
Svyatoslav Kuzmich
c9c0b9fd10
[Wasm] Add more jsCode diagnostic tests with String properties
2023-03-03 19:39:11 +00:00
Svyatoslav Kuzmich
3566d918d2
[Wasm] Deprecate @JsFun with warning
...
kotlin.js.js("code") should be used instead
2023-03-03 19:39:11 +00:00
Svyatoslav Kuzmich
01fcc84d73
[Wasm] Refactor callingWasmDirectly.kt test from @JsFun to @WasmImport
2023-03-03 19:39:11 +00:00
Svyatoslav Kuzmich
7175b9f31c
[Wasm] Migrate usages of @JsFun to js("code")
2023-03-03 19:39:10 +00:00
Svyatoslav Kuzmich
7a04999e4a
[Wasm] Add K1 compiler diagnostics for js(code) calls (KT-56955)
...
This function is handled as intrinsics and supported in limited context
2023-03-03 19:39:10 +00:00
Svyatoslav Kuzmich
71e6b19760
[Wasm] Support restricted version of js("code") (KT-56955)
2023-03-03 19:39:09 +00:00
Pavel Mikhailovskii
a6e1826bbc
Reimplement the fix for KtSuperTypeList.findEntry
2023-03-03 15:38:12 +00:00
Svyatoslav Kuzmich
3c35328c09
[Wasm] Fix overriding external fun with default parameters (Fix KT-56976)
2023-03-03 12:33:53 +00:00
Kirill Rakhman
1f0e6321b0
[FIR2IR] Use companion as bound receiver if expected type requires it
...
A::foo is preferably resolved as an unbound reference to A.foo, however
if A.Companion is a subtype of A and the expected type has one fewer
parameter than the type of the unbound reference, generate a bound
reference with the companion as receiver.
^KT-56519 Fixed
2023-03-02 10:55:46 +00:00
Nikolay Lunyak
bcfafc601e
Add EnumEntries to minimal-stdlib-for-tests
...
This change allows to revert adding `WITH_STDLIB` directive
to tests which happened at `a9343aeb`.
Co-authored-by: Alexander Udalov <Alexander.Udalov@jetbrains.com >
2023-03-02 10:23:38 +00:00
Kirill Rakhman
3b9724d20e
[FIR] Desugar increment/decrement in body resolve phase
...
The expression needs to be resolved first to determine if there is a
receiver that needs to be extracted to a temporary variable. Also, the
special case for prefix increment/decrement on local variable without
delegates requires resolution to check if the variable is local.
^KT-56771 Fixed
^KT-56659 Fixed
2023-03-02 10:19:57 +00:00
Kirill Rakhman
5ecf9cce25
[FIR] Don't resolve already resolved qualified access
...
^KT-30507 Fixed
2023-03-02 10:19:53 +00:00
Kirill Rakhman
9a328ec75b
[FIR2IR] Apply implicit casts to blocks
2023-03-02 10:19:51 +00:00
Kirill Rakhman
d00513599b
[FIR2IR] Expand typealias in callable reference receiver generation
...
^KT-56750 Fixed
2023-03-02 08:20:04 +00:00
Ivan Kochurkin
ee53c5780f
[FIR] Extract K2 MPP test data to the separated directory
2023-03-01 22:10:11 +00:00
Ivan Kochurkin
9d0e02658f
[FIR] Support of ACTUAL_TYPE_ALIAS_WITH_COMPLEX_SUBSTITUTION diagnostic
2023-03-01 22:10:09 +00:00
Ivan Kochurkin
3e33258f36
[FIR] Support of ACTUAL_TYPE_ALIAS_WITH_USE_SITE_VARIANCE diagnostic
2023-03-01 22:10:08 +00:00
Ivan Kochurkin
cf1bd9837a
[FIR] Support of ACTUAL_TYPE_ALIAS_TO_CLASS_WITH_DECLARATION_SITE_VARIANCE diagnostic
2023-03-01 22:10:08 +00:00
Ivan Kochurkin
8bf9d6c92f
[FIR] Support of ACTUAL_TYPE_ALIAS_NOT_TO_CLASS diagnostic
...
^KT-56514 Fixed
2023-03-01 22:10:08 +00:00
Ivan Kochurkin
c418a7a7bf
[FIR] Support of ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS diagnostic
...
^KT-56522 Fixed
2023-03-01 22:10:07 +00:00
Ivan Kochurkin
f1fef62f76
[FIR] Consider default values from expect function during serialization
...
It's not possible to unmute some tests for K2 because it causes testData structure changing
If change testData, NATIVE doesn't work even with `IGNORE_BACKEND`
2023-03-01 22:10:07 +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
Sebastian Sellmair
b90207edb9
[Gradle] Rename -Xdepends-on to -Xfragment-refines and use ':' for -Xfragment-sources instead of ';'
...
^KT-56210 Verification Pending
2023-03-01 16:30:44 +00:00
Sebastian Sellmair
21bf497830
[CLI] Replace K2 -Xmodule by -Xfragments and -Xfragment-sources
...
KT-56210
2023-03-01 16:30:41 +00:00