strangepleasures
7c6375c85a
KT-63552 [SLC] Support empty arrays in property initializers and default parameter values
2023-11-21 13:20:26 +00:00
Evgeniy.Zhelenskiy
67b1bb448a
[FIR] Report repeating parameters in dynamic functions in Kotlin/JS
...
^KT-59988
2023-11-21 13:12:46 +00:00
Ivan Kylchik
fd4a3a0b88
[FIR] Forbid to use equality and unsigned comparison in const expression
...
#KT-62683
2023-11-21 09:48:58 +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
0b253dc815
[FIR] resolve delegate field return type in correct scope
...
We should resolve it in the same way as delegate constructor call
to avoid access to nested class scopes
^KT-63522 Fixed
^KT-63042
2023-11-21 08:11:21 +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
strangepleasures
03ed1d1d31
KT-62560 [SLC] Fix handling of empty varargs in annotations
2023-11-20 20:57:21 +00:00
Evgeniy.Zhelenskiy
9383d0bfa4
[FIR] Check type arguments in inner/outer local classes as in K1
...
^KT-59922 ^KT-59951
2023-11-20 20:04:45 +00:00
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