Nikolay Lunyak
427c067cd8
[FIR] Forbid typeRef-named labels without +ContextReceivers
...
^KT-63068 Fixed
2023-11-22 13:22:45 +00:00
Kirill Rakhman
865b8a4175
[FIR] Create special hidden override for Java signature clash due to rename
...
This fixes CharBuffer.get resolving to CharBuffer.charAt
#KT-61282 Fixed
2023-11-22 08:46:17 +00:00
Anastasia.Nekrasova
fb0461f422
[K2] Disappeared UNSUPPORTED_FEATURE (3)
...
Added a check for the enabled context receivers feature flag for @ContextFunctionTypeParams.
^KT-59913
2023-11-22 06:04:13 +00:00
Anastasia.Nekrasova
c04767f1f4
[K2] Disappeared UNSUPPORTED_FEATURE (2)
...
Added a check for the enabled context receivers feature flag for declaration.
^KT-59913
2023-11-22 06:04:13 +00:00
Anastasia.Nekrasova
685c8e4fe7
[K2] Disappeared UNSUPPORTED_FEATURE (1)
...
Added a check for the enabled context receivers feature flag for typeRef.
^KT-59913
2023-11-22 06:04:13 +00:00
Evgeniy.Zhelenskiy
5096fd266e
[FIR] Forbid generic type checks inside contracts in K2 as it is done in K1.
...
#KT-59922
2023-11-21 18:00:10 +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
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
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
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
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
Aleksandra.Arsenteva
af63763da2
KT-62138 add testcases
2023-11-17 15:47:34 +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
Mikhail Glukhikh
1eacd5efc2
K1/K2: support org.jspecify.annotations.NonNull in Java interop
...
#KT-62352 Fixed
2023-11-16 11:13:44 +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
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
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
Nikolay Lunyak
5a1a23afac
[FIR] Don't miss annotations on inits
...
^KT-59874
2023-11-14 15:19:33 +00:00
Nikolay Lunyak
63f461a6cd
[FIR] Don't miss annotations on for loops variables
...
^KT-59874
2023-11-14 15:19:32 +00:00
Nikolay Lunyak
d03039b949
[FIR] Don't generate property fields when context receivers are present
...
^KT-59874
2023-11-14 15:19:32 +00:00
Nikolay Lunyak
4b67a504be
[FIR] Only support @ExtensionFunctionType on true functional types
...
^KT-59874
2023-11-14 15:19:32 +00:00
Svyatoslav Kuzmich
1c230c8f27
[Wasm] Port WasmImport/WasmExport checker to K2 (KT-56849)
2023-11-14 12:24:10 +00:00
Dmitrii Gridin
28895a2613
[FIR] FirAnnotationArgumentsTransformer: fix scope problem with type parameters
...
We should wrap outer declaration to avoid FirTowerDataMode.CLASS_HEADER_ANNOTATIONS
^KT-63396 Fixed
2023-11-14 10:46:43 +00:00