Kirill Rakhman
b857c28ab3
[FIR2IR] Fix cast insertion for SAM conversion
...
The rule is: no cast is required iff the argument type is a
non-reflection function type and a subtype of the expected
function type.
We approximate the cone types using the FIR2IR specific config
to account for intersection types, captured types, etc.
#KT-63345 Fixed
#KT-63510
#KT-62865
2023-11-30 08:39:05 +00:00
Kirill Rakhman
dd1d36816b
[FIR] Insert SAM conversion expressions during completion
...
#KT-62847 Fixed
2023-11-30 08:39:04 +00:00
Dmitriy Novozhilov
8578a0bf6a
[FIR2IR] Properly insert casts for smartcasts in argument position
...
Previously cast inserter didn't consider expected type for arguments
of function calls
^KT-63257 Fixed
2023-11-10 07:50:01 +00:00
Dmitriy Novozhilov
c70a6425f5
[FIR2IR] Don't insert not-needed upcasts for smartcasted expressions
...
Related to KT-63257
2023-11-10 07:50:00 +00:00
Dmitriy Novozhilov
9366847e96
[FIR2IR] Properly approximate intersection types during fir2ir conversion
...
^KT-62544 Fixed
2023-10-18 13:02:11 +00:00
Vladimir Sukharev
9a2eff6487
[FIR2IR] Don't replace while loop and when branch body blocks with single expression. Skip some empty blocks.
...
https://youtrack.jetbrains.com/issue/KT-60264/K2-while-loop-body-block-sometimes-replaced-with-single-expression
Merge-request: KT-MR-12035
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-09-18 15:27:19 +00:00
Mikhail Glukhikh
289dafa331
FIR2IR: don't apply SAM conversion for type parameter based types
...
#KT-58893 Fixed
#KT-58884 Fixed
2023-08-22 15:13:17 +00:00
Dmitriy Novozhilov
b454fcc1e0
[FIR] Save IR dumps to .ir.txt files instead of .txt in tests
...
This is needed to avoid clashes between different dumps from different
handlers
2021-10-12 17:26:36 +03:00
Dmitriy Novozhilov
65ea4e184a
[FIR] Fix enhancement of FlexibleNullability and EnhancedNullability
...
- Add utilities to add new attribute to ConeAttributes
- Get rid of FlexibleNullability attribute (it can be easily inferred
for any flexible type at any moment)
- Fix determining of EnhancedNullability attribute
2021-03-11 13:10:04 +03:00
Mikhail Glukhikh
346ffb3acf
FIR2IR: support substitution for SAM types
2021-02-11 11:48:34 +03:00
Jinseong Jeon
d753d21dee
FIR2IR: don't add SAM conversion for explicit subtype cases
2020-12-21 18:01:27 +03:00
Jinseong Jeon
3bca6ae893
FIR: allow lower bound of flexible type when finding contributed invoke
2020-12-21 18:01:25 +03:00
Zalim Bashorov
7df6575a18
[IR] update testdata: unify representation for error nodes
2020-11-26 00:15:16 +03:00
Zalim Bashorov
c68040753d
[IR] dumpKotlinLike: add testdata for FIR tests
2020-11-26 00:15:13 +03:00