Svyatoslav Kuzmich
43345bbc34
[Wasm] Port js(code) calls checker to K2 (KT-56849)
...
^KT-62725 Fixed
^KT-62726 Fixed
^KT-62727 Fixed
2023-11-20 18:10:55 +00:00
Svyatoslav Kuzmich
7092541e34
[Wasm] K2 js(code) constant checker (KT-56849)
...
Reuse K/JS FirJsCodeConstantArgumentChecker by moving it to web.common
2023-11-20 18:10:54 +00:00
Mikhail Glukhikh
3b7f43a9c2
K2: don't throw an exception for type parameter case in isJavaTypeOnThePath
...
#KT-63569 Fixed
2023-11-20 15:35:58 +00:00
Evgeniy.Zhelenskiy
f5168527ae
[FIR] Report type-parameterized implicit invoke call over type-parameterized property access
...
^KT-59988
2023-11-20 14:59:06 +00:00
Evgeniy.Zhelenskiy
86c09a1c78
[FIR] Report recursive typealias when loop is in type annotations
...
^KT-59908
2023-11-20 14:39:47 +00:00
Svyatoslav Kuzmich
31560217f8
[Wasm] Port @JsFun checker to K2 (KT-56849)
...
^KT-62724 Fixed
2023-11-20 14:39:24 +00:00
Dmitriy Novozhilov
89b98ef784
[FIR2IR] Properly create FIR f/o for lazy IR f/o
...
```kotlin
interface A {
fun foo() // (1)
}
interface B : A {
// f/o fun foo() // (2)
}
```
In previous commits it was forgotten to create new FIR declarations for
IR fake-overrides, which led to the situation when `IR lazy functions
of `(1)` and `(2)` both contained fir of function (1) as their base
declaration
It seems this change fixed some cases from KT-42020
2023-11-20 13:36:28 +00:00
Dmitriy Novozhilov
d85d671b26
[FIR] Update few MPP diagnostic tests
...
Updated tests contain errors which are incompatible with fir2ir conversion
(like `PACKAGE_OR_CLASSIFIER_REDECLARATION` and `EXPECT_AND_ACTUAL_IN_THE_SAME_MODULE`),
so running fir2ir on such code may lead to exceptions
2023-11-20 13:36:27 +00:00
Dmitriy Novozhilov
c9ff0c41fc
[FIR2IR] Generate IR for f/o of common classes generated during platform conversion
...
This change fixes tests which were muted in one of previous commits
2023-11-20 13:36:27 +00:00
Dmitriy Novozhilov
bb892f10f8
[Test] Mute tests with expect supertypes
...
The problem: someone should generate IR for f/o in common classes appeared
after IR actualization
Those tests will be fixed in the following commits
2023-11-20 13:36:27 +00:00
Mikhail Glukhikh
5cd3f8bb97
K2: don't report inline access errors on const properties in annotations
...
#KT-60604 Fixed
2023-11-20 10:32:05 +00:00
Mikhail Glukhikh
bb8002d9f1
K2: reproduce KT-60604
2023-11-20 10:32:05 +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
ec7caba8ea
K2: restore smart cast in case with invisible receiver but visible callable
...
Related to KT-52432
#KT-63164 Fixed
2023-11-17 20:29:58 +00:00
Mikhail Glukhikh
a139965231
K2: reproduce KT-63164
2023-11-17 20:29:58 +00:00
Aleksandra.Arsenteva
af63763da2
KT-62138 add testcases
2023-11-17 15:47:34 +00:00
Kirill Rakhman
4964ee12a9
[CLI] Update CLI argument descriptions after review
2023-11-17 14:36:28 +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
Mikhail Glukhikh
0aa5170ba2
K2: delay jspecify strict mode introduction to version 2.1
...
Related to KT-62352, KT-55586
2023-11-17 08:21:04 +00:00
Stanislav Ruban
196f5760f8
[tests] BI (1P&1TV/1TIO): add test data for sinks & sources of type information [1/X]
...
single builder parameter
single postponed type variable
single origin of type information
cover member properties as type info sinks;
cover extension functions as type info sinks;
cover extension properties as type info sinks;
cover extension functions as type info sources;
cover extension properties as type info sources;
cover input values of builder arguments as type info sinks;
cover input values of builder arguments as type info sources;
cover return types of builder parameters as type info sources;
relevant issues:
KT-61907
KT-61909
KT-63477
2023-11-17 07:02:15 +00:00
Mikhail Glukhikh
0fba58eee7
K2: repeat K1 logic around SAM-based candidates discrimination
...
#KT-56614 Fixed
2023-11-16 20:12:34 +00:00
Ivan Kochurkin
df43226a08
[FIR] Fix CAST_NEVER_SUCCEEDS for definitely not null types
2023-11-16 19:29:58 +00:00
Ivan Kochurkin
3b9095a5ab
[FIR] Use isSubtypeOfClass with platform types mapping instead of isSubtypeOf during checking CAST_NEVER_SUCCEEDS
...
Refactor and generalize code
^KT-62783 Fixed
2023-11-16 19:29:58 +00:00
Brian Norman
e92fab65aa
[FIR] Support including flow information when dumping CFG dot file
2023-11-16 18:04:26 +00:00
Stanislav Ruban
73aaa1ce28
[tests] Add code examples from exploration of KT-62239
2023-11-16 16:39:35 +00:00
Svyatoslav Kuzmich
62ebb9932f
[Wasm] Port external declaration checker to K2 (KT-56849)
...
Share common code with FirJsExternalChecker using
FirWebCommonExternalChecker
2023-11-16 14:27:49 +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
Mikhail Glukhikh
1eacd5efc2
K1/K2: support org.jspecify.annotations.NonNull in Java interop
...
#KT-62352 Fixed
2023-11-16 11:13:44 +00:00
Vladimir Sukharev
c38a0e10af
[K/N] Implement a concept of conditional ignore of K/N blackbox tests
...
^KT-59288 Fixed
2023-11-15 19:03:07 +00:00
Ivan Kochurkin
c38887ae68
[FIR2IR] Add fields to Fir2IrLazyClass.declarations for Java classes
...
^KT-61362 Fixed
2023-11-15 17:56:03 +00:00
Roman Efremov
722d901d69
[Tests] Decline bug KT-62886 and change comment accordingly
...
^KT-62886
2023-11-15 16:47:04 +00:00
Mikhail Glukhikh
a2dc4f155f
K2: drop obsolete TODO about multiple WasExperimental
...
In certain situations like constructor calls, it's possible
to have different WasExperimental/SinceKotlin pairs associated
with one use-site, e.g. a constructor call is associated both
with a constructor declaration and a class declaration.
However, looks like it make no sense to handle this situation
in FirSinceKotlinHelpers, because FirOptInUsageBaseChecker already
handles them.
#KT-59825 Fixed
2023-11-15 09:36:06 +00:00
Mikhail Glukhikh
4d49bdb8ca
K2: add a black box test to confirm KT-53718 now works properly (JVM IR only)
...
Related to: KT-57584, KT-58110
2023-11-15 09:33: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
Kirill Rakhman
2005446296
[FIR] Preserve enhanced mutability when nullability was enhanced for warning
...
#KT-56989
2023-11-15 08:43:55 +00:00
Kirill Rakhman
a63ec9efdc
[FIR] Implement warnings for java nullability upper bound violation
2023-11-15 08:43:55 +00:00
Kirill Rakhman
2df1e9dde6
[FIR] Implement warnings for java nullability type mismatch on override
...
#KT-56989
2023-11-15 08:43:55 +00:00
Kirill Rakhman
a6fdeeb7df
[FIR] Implement warnings for java nullability type mismatch
...
#KT-56989
2023-11-15 08:43:55 +00:00
Nikolay Lunyak
80cccce8d0
[FIR] Use the proper processAll* functions for CONFLICTING_OVERLOADS
...
The `*leaf*` functions were
introduced due to my false
assumption. The normal processing
functions only collect leafs
already. `*leaf*`s are bad, because
they don't cache anything.
The change in
AbstractFirOverrideScope reflects
KT-63290, and is needed to avoid
duplicate `CONFLICTING_OVERLOADS`
and `VIRTUAL_MEMBER_HIDDEN`.
2023-11-15 07:56:32 +00:00
Nikolay Lunyak
44d6d10233
[FIR] Only check conflicting callables that may clash with declared ones
...
This change improves performance, as
checking callables via scopes in
`4e587157` turns out to be quite
slow, and it also prevents some redundant
diagnostics.
2023-11-15 07:56:32 +00:00
Nikolay Lunyak
9e57aba448
[FIR] Add a test for KT-26045
...
^KT-26045 Fixed
Merge-request: KT-MR-13023
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com >
2023-11-15 07:52:11 +00:00
Stanislav Ruban
c7caca8ccd
[tests] Refactor code examples relevant to exploration of KT-22004
2023-11-14 17:58:20 +00:00
Stanislav Ruban
d0958068c9
[tests] Add code examples from exploration of KT-22004
2023-11-14 17:58:20 +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
Dmitriy Dolovov
d8eee222af
[KLIB] API 4 ABI: Add information about backing field annotations
...
^KT-62259
2023-11-14 17:20:45 +00:00
Dmitriy Dolovov
01f072bb7d
[KLIB] API 4 ABI: Add tests for public members of EEC
2023-11-14 17:20:45 +00:00
Nikolay Lunyak
425d5e808b
[FIR] Link some tests with issues
...
Just in case.
^KT-59874
2023-11-14 15:19:33 +00:00
Nikolay Lunyak
41c5934d4e
[FIR] Don't forget to ignore hidden imports
...
^KT-59874
2023-11-14 15:19:33 +00:00
Nikolay Lunyak
c656a83a02
[FIR] Don't miss non-const annotation args
...
This code with `b()` crashes the JVM
backend.
^KT-59822 Fixed
^KT-59874
2023-11-14 15:19:33 +00:00