Alejandro Serrano Mena
f227447837
[K2] Disallow named functions as expressions
...
^KT-62573 Fixed
^KT-59945 Fixed
2023-10-25 13:24:30 +00:00
Dmitriy Novozhilov
fb8bf19091
[IR] Rename IrSymbolInternals to UnsafeDuringIrConstructionAPI
...
The new name more precisely describes the meaning of this opt-int
2023-10-25 11:32:46 +00:00
Dmitrii Gridin
1b636bf450
[FIR] add tests on annotations for delegated getter during implicit type phase
...
^KT-62874
2023-10-25 08:59:15 +00:00
Ivan Kochurkin
d50c6f1b6d
[FIR] Fix missing USELESS_CAST
...
`FirUselessTypeOperationCallChecker` always checks exact types matching for `as` operator
Simplify code of cast checker and utils
^KT-56629 Fixed
^KT-56615 Fixed
^KT-59820 Fixed
2023-10-24 20:59:56 +00:00
Dmitrii Gridin
2f8026f335
[LL FIR] add missed diagnostic tests for scripts
...
^KT-62840
^KT-62841
^KT-62861
2023-10-24 19:32:54 +00:00
Mikhail Glukhikh
3cb9396b20
K2: prefer derived class sources for callable copies (e.g. fake overrides)
2023-10-24 17:08:40 +00:00
Mikhail Glukhikh
21b4ce050c
K2: add source range test to ensure #KT-59584 Fixed
2023-10-24 17:08:40 +00:00
Ivan Kochurkin
bb937a8a21
[FIR] Initialize annotations in FirErrorTypeRef
...
^KT-62447 Fixed
^KT-62628 Fixed
2023-10-24 10:53:33 +00:00
Dmitrii Gridin
2eb761adae
[LL FIR] generate resolution tests over codegen/box testData
...
Such testData can contain contract violations and other resolution
problems, so we should check them as well
^KT-62776
^KT-62832
^KT-62834
^KT-62836
2023-10-24 10:30:55 +00:00
Xin Wang
51325ba630
[IR] Implement getContextReceiverParameters for IrBasedPropertyDescriptor
...
Fixes: KT-59590
2023-10-24 10:07:08 +00:00
Alexander Udalov
b5ba9ee671
IR: refactor resolveFakeOverride call sites
...
Split it to 4 functions for clarity: resolveFakeOverride,
resolveFakeOverrideOrFail, resolveFakeOverrideMaybeAbstract,
resolveFakeOverrideMaybeAbstractOrFail. Remove/inline duplicated
utilities and remove unused parameters.
2023-10-23 23:38:47 +00:00
Vladimir Sukharev
e43b634122
[K/N] Migrate most simple filecheck tests to new infra
...
^KT-62157
Merge-request: KT-MR-12376
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-10-23 10:07:28 +00:00
Ivan Kylchik
69a888b431
[FIR] Add diag test to verify const checker in Java world
...
Currently, this test is not working for FIR.
#KT-57802 Fixed
2023-10-20 16:33:21 +00:00
Ivan Kylchik
a45bb8d92b
[FIR] Find the correct FIR file in Java finder for file with JvmName
...
#KT-57802
2023-10-20 16:33:20 +00:00
Ivan Kylchik
8c7c44f9f5
[FIR] Fix evaluation of Java properties for Char and String types
...
#KT-57802
2023-10-20 16:33:20 +00:00
Ivan Kylchik
7935b2bdb1
[FIR] Allow to evaluate top level const properties in Java world
...
#KT-57802
2023-10-20 16:33:20 +00:00
Ivan Kylchik
886ef1a4b4
[FIR] Support the simple case of java field interpretation
...
#KT-57802
2023-10-20 16:33:20 +00:00
Nikita Bobko
fa89b8b0f1
[FE 1.0] 2/2 Don't report a warning when new members are added to open expect actualization
...
^KT-62655 Fixed
2023-10-20 14:37:10 +00:00
Nikita Bobko
12f932a63a
[FE 1.0] Report a more precise diagnostic when parameter modifiers (vararg) are changed in actualization
...
^KT-62747 Fixed
2023-10-20 14:37:10 +00:00
Nikita Bobko
0f82baf841
[FE 1.0] 2/2 Drop AllowDifferentMembersInActual from compiler and testData
...
The annotation was dropped in the previous commit
2023-10-20 14:37:09 +00:00
Dmitrii Gridin
d689c1a38f
[FIR] FirJavaFacade: fix contract violation from annotations
...
`isJavaDeprecatedAnnotation` can't be used here because it triggers
the resolution of an annotation ClassId
^KT-62705 Fixed
2023-10-20 09:24:43 +00:00
Ilya Chernikov
268d058bbb
Implement missing invoke resolution branch with context receivers
...
#KT-61937 fixed
Note: the current implementation only resolves for a single receiver
in each group. See KT-62712 and KT-62709 for the followup.
2023-10-19 19:39:31 +00:00
Evgeniy.Zhelenskiy
b89d8a65a1
[Reflection] Fix parsing JVM function descriptors
...
#KT-60708
2023-10-19 19:09:31 +00:00
Dmitriy Novozhilov
940567978d
[FIR2IR] Treat delegated functions as fake-overrides
...
Delegated callables in FIR are session-dependant (as fake-overrides),
so it's incorrect to use their FIR as a key for declaration storage.
Pair of original function and owner lookup tag should be used instead
^KT-62671 Fixed
2023-10-19 13:15:48 +00:00
Pavel Kunyavskiy
da488f513f
[IR] Fix file modules after actualization
...
When files from different IrModules are merged in IrActualizer
their IrModule link was not updated. This led to assuming them
as different modules, and incorrect internal visibility handling.
^KT-62623
2023-10-19 10:16:45 +00:00
Nikolay Lunyak
06b3c6ec13
[FIR] Reproduce KT-62541
2023-10-19 09:27:44 +00:00
Dmitriy Novozhilov
847442d547
[Test] Add regression test for KT-60876
2023-10-19 06:58:14 +00:00
Roman Efremov
0f0540cda0
[Test] Add test for reporting of function default value parameters
...
...in `ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT` diagnostic message.
^KT-62585
2023-10-18 20:01:47 +00:00
Roman Efremov
b3467353b2
[Test] Add test for ugly K2 reporting of annotation arguments
...
...in `ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT` diagnostic message.
^KT-62585
2023-10-18 20:01:47 +00:00
Dmitriy Novozhilov
9366847e96
[FIR2IR] Properly approximate intersection types during fir2ir conversion
...
^KT-62544 Fixed
2023-10-18 13:02:11 +00:00
Alejandro Serrano Mena
b9b15cba08
[K2] Warn about deprecation and opt-in markers for overrides of Any
...
^KT-62620 Fixed
Include opt-in markers in the diagnostics
2023-10-18 12:34:58 +00:00
Dmitriy Novozhilov
43929398da
[FIR] Pass implications from subject of safe call in DFA
...
^KT-59689 Fixed
2023-10-18 12:17:44 +00:00
Mikhail Glukhikh
4ed7504d87
FIR deserializer: apply attributes on type parameter-based types
...
#KT-62578 Fixed
2023-10-18 10:30:31 +00:00
Anastasia.Nekrasova
9ad4cf4c55
[K2] Disappeared OPT_IN_USAGE_ERROR for a data class property during the destructuring declaration
...
^KT-62450
2023-10-17 21:27:13 +00:00
Dmitrii Gridin
bbd09c6272
[LL FIR] add tests for nested class as annotation argument
...
^KT-62587
2023-10-17 20:32:11 +00:00
Dmitriy Novozhilov
84f41b7d68
[FIR] Use lower bound of supertype in findClassRepresentation for intersection types
2023-10-17 12:46:28 +00:00
Vladimir Sukharev
242c1cf5f0
[FIR] Fix disappeared REPEATED_ANNOTATION for dynamic types
...
https://youtrack.jetbrains.com/issue/KT-59916/K2-Disappeared-REPEATEDANNOTATION
FirAnnotationChecker does not detect repeated annotation on dynamic type, since FirTypeResolverImpl wrongly did not convert source annotations to attributes of ConeDynamicType.
This MR improves FirTypeResolverImpl to convert attributes of FirDynamicTypeRef to annotations and attach them to ConeDynamicType.
Merge-request: KT-MR-12551
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-10-17 10:18:36 +00:00
Mikhail Glukhikh
fd057ac68a
FE: Add two more tests around KT-59561
2023-10-17 06:49:38 +00:00
Mikhail Glukhikh
f085d0f660
K2: add reproduction of KT-61100 and KT-59561
2023-10-17 06:49:37 +00:00
Alexander Udalov
6219f7fc0d
JVM IR: fix detection of enum entries in the same module
...
Use the new `IrClass.hasEnumEntries` flag added in the previous commit.
#KT-61208 Fixed
2023-10-16 20:22:20 +00:00
Ilya Goncharov
e9cc2931cc
[JS] Use kotlin-stdlib-js.klib instead of *.jar
2023-10-16 13:34:37 +00:00
Alexander Udalov
2788dcb5ff
K2: resolve remove(Int) clash in JavaOverrideChecker
...
In Kotlin subclasses of `MutableCollection<Int>`, the method
`remove(Int)` has its argument boxed, so that it wouldn't clash with the
method from `java.util.List`. So `JavaOverrideChecker` should understand
that a Java method `boolean remove(java.lang.Integer)` overrides it,
otherwise platform declaration clash was reported.
The code is adapted from `forceSingleValueParameterBoxing` in K1's
`methodSignatureMapping.kt`.
The test has been moved and adapted from diagnostic to codegen box
tests, to check correct backend execution + runtime.
#KT-62316 Fixed
2023-10-16 11:26:58 +00:00
Roman Efremov
0fd700de21
[FIR] Fix case with lazy resolve in expect-actual annotation checker
...
Unresolved annotation arguments were treated as absent arguments,
which lead to false-positive reports.
Add assert and test for that and fix.
MR: KT-MR-12245
^KT-60671 Fixed
2023-10-16 10:48:08 +00:00
Roman Efremov
4c75fb108f
[Test] Add test for ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT diagnostic
...
...when annotations arguments are lazily resolved.
MR: KT-MR-12245
^KT-60671
2023-10-16 10:48:08 +00:00
Roman Efremov
423f4ca5f0
[FE, IR] Check compatibility of annotations set on type usages in expect and actual declarations
...
This includes checking of annotatins set on:
- value parameter types
- type parameter bound types
- extension functions receiver types
- function return types
- class super types
Fix in `defaultParams_inheritanceByDelegation_positive.kt`
is needed because of problem in resolution of implicit return types
(KT-62064), which leads to crash in annotation checker, because it
expects resolved return type.
MR: KT-MR-12245
^KT-60671 Fixed
2023-10-16 10:48:08 +00:00
Roman Efremov
cb8529d65b
[Test] Add tests for annotations set on type usages in expect and
...
...actual declarations.
MR: KT-MR-12245
^KT-60671
2023-10-16 10:48:08 +00:00
Mikhail Glukhikh
fe979cc822
K2: add source range test with extension lambda call
...
This test is equivalent to IDE debugger test
testNoParameterExtensionLambdaArgumentCallInInline3,
which changes behavior due to previous commit
2023-10-13 15:42:58 +00:00
Mikhail Glukhikh
7c66a3dc65
Add source range test around multi-line calls
2023-10-13 15:42:58 +00:00
Mikhail Glukhikh
f38b8fd8cb
K2: reproduce KT-60111
2023-10-13 15:42:58 +00:00
Dmitrii Gridin
2cac922cd0
[FIR] add tests on external annotations
...
Tests are excluded in COMPILED_JAVA mode because in this
mode external annotations are not present at all
^KT-62310
2023-10-13 12:16:12 +00:00