Ilya Goncharov
08e3cb300a
[JS] Migrate tests onto IR compiler with outputDir API instead of outputFile
...
^KT-61117 fixed
2023-11-29 11:21:56 +00:00
Dmitrii Gridin
21de05e5ac
[FIR] FirDeclarationsContractResolveTransformer: drop redundant transformations
...
There is no sense to trying to transform aliases and dangling lists
2023-11-29 10:24:03 +00:00
Dmitrii Gridin
06aad65ed3
[FIR] pass correct scope during annotation resolve for local declarations
...
We should pass container for correct logic around CLASS_HEADER_ANNOTATIONS.
Also, such correct containers will be used in the context of KT-63042 to
correctly detect an annotation ownership
^KT-63042
^KT-63842 Fixed
2023-11-29 10:24:03 +00:00
Dmitrii Gridin
fcb3f003dc
[FIR] add more tests on annotations for local declarations
...
^KT-63842
2023-11-29 10:24:02 +00:00
Dmitrii Gridin
98e12b0d7b
[FIR] add missed scope for annotations on property receiver, typealias and init and dangling list
...
Also, we shouldn't transform type alias during the implicit type phase
^KT-63042
^KT-63832 Fixed
2023-11-29 10:24:02 +00:00
Dmitrii Gridin
aaaf35fcb8
[FIR] add missed tests for declaration annotations
...
^KT-63832
2023-11-29 10:24:02 +00:00
Egor Kulikov
001e9a4489
[FIR] Source for property delegates should not be null
...
^KT-60327 fixed
Merge-request: KT-MR-13221
Merged-by: Egor Kulikov <Egor.Kulikov@jetbrains.com >
2023-11-29 08:27:53 +00:00
Roman Efremov
5cf33c3556
[IR] Render different quotes depending on IR constant type
...
This is needed for ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT diagnostic
message, but also seems to be good improvement for IR dumps in tests.
^KT-62559
2023-11-28 23:17:23 +00:00
Roman Efremov
8f6b6e17be
[IR] Print annotation arguments in report of ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT
...
Now IR checker is not duplicated by FIR checker reporting, so it's
useful to have more verbose report of annotations in diagnostic message.
^KT-62559
2023-11-28 23:17:23 +00:00
Roman Efremov
ec7a2c20d1
[FIR] Beautify ::class expression rendering in annotation arguments
...
...in `ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT` diagnostic message.
^KT-62559
2023-11-28 23:17:23 +00:00
Roman Efremov
c609de5195
[FIR] Refactor: extract class reference expression rendering out of
...
...`FirRenderer`.
^KT-62559
2023-11-28 23:17:23 +00:00
Roman Efremov
fa897e4148
[Tests] Cover rendering of KClass annotation args in
...
...`ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT`.
^KT-62559
2023-11-28 23:17:23 +00:00
Roman Efremov
29c82c668f
[IR] Prevent duplicated reports of ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT
...
...on property accessors and enum entries.
^KT-62559
2023-11-28 23:17:23 +00:00
Roman Efremov
2b120f6cdc
[Tests] Cover rendering of diagnostic text by IR checker in
...
...`ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT`.
^KT-62559
2023-11-28 23:17:23 +00:00
Sergej Jaskiewicz
7bd4de65f8
[IR generator] Deduplicate field copying logic
2023-11-28 16:24:40 +00:00
Sergej Jaskiewicz
5f04bc8a27
[IR generator] Simplify computation of walkable children
...
Don't require to specify them explicitly via `isChild` in IR generator,
instead test the field type whether it is an element.
2023-11-28 16:24:40 +00:00
Sergej Jaskiewicz
ad4e97154f
[FIR/IR generator] Factor out allFields to AbstractElement
2023-11-28 16:24:40 +00:00
Sergej Jaskiewicz
38ee477ab4
[FIR/IR generator] Make AbstractField generic over itself
...
This will make some code more type-safe.
2023-11-28 16:24:40 +00:00
Sergej Jaskiewicz
c6eb7d6c21
[FIR/IR generator] Factor out walkableChildren and transformableChildren
2023-11-28 16:24:40 +00:00
Sergej Jaskiewicz
13ae129505
[FIR/IR generator] Move isSealed property to AbstractElement
2023-11-28 16:24:40 +00:00
Sergej Jaskiewicz
0465c6d0ee
[FIR/IR generator] Make InterfaceAndAbstractClassConfigurator open
2023-11-28 16:24:40 +00:00
Nikolay Lunyak
d5fa755e63
[FIR] Disable not null checks on dynamics
...
It looks like K1 doesn't do them.
And it's not particularly bad because
in the ideal world we'd have dynamics
with variable upper bound so that
in `dynamic?.let { it }` `it` would
be `Nothing..Any` (smartcasting to
`Any` is not correct because `dynamic`
can be passed into anything, but `Any`
can not).
^KT-63071
2023-11-28 15:37:09 +00:00
Nikolay Lunyak
875e2b0cd6
[FIR] Prohibit calling functions with dynamic receiver over non-dynamics
...
^KT-63071 Fixed
2023-11-28 15:37:09 +00:00
Nikolay Lunyak
c69c34ff8b
[FIR] Properly set isReceiver for implicit invoke on function types
2023-11-28 15:37:09 +00:00
Alexander.Likhachev
06c1bcdc5d
[IC] Add filter on files for the CACHE_DIRECTORY_SIZE metric
...
Without the filter, we were walking both through subdirectories and their files, so some files might be counted twice. Moreover, the behaviour of `File.length` is unspecified for directories.
^KT-63010 In Progress
2023-11-28 15:22:43 +00:00
Alexander.Likhachev
4eccbd75c3
[IC] Measure IC size metrics after the caches are closed
...
Before this fix, the size metrics were measured after the compilation is finished, but before the caches are closed. In many cases it might lead to incorrect measurements. After flipping the default value of the `keepIncrementalCompilationCachesInMemory` flag for Gradle builds, it started to cause always incorrect results.
^KT-63010 In Progress
2023-11-28 15:22:43 +00:00
Ilya Goncharov
093f51c89a
[JS] Removing usage of legacy JS compiler #1
2023-11-28 13:44:37 +00:00
Mikhail Glukhikh
1260d03561
Drop erroneous FirJavaConstructorBuilder.visibility
...
Related to KT-62961
2023-11-28 13:30:26 +00:00
Mikhail Glukhikh
2cea2b9098
K2/Java: add private enum constructor for MPP matching
...
#KT-62961 Fixed
2023-11-28 13:30:26 +00:00
Evgeniy.Zhelenskiy
5258e2044d
[FIR] Forbid annotations on anonymous initializers and destructuring declarations
...
#KT-59896
Merge-request: KT-MR-13197
Merged-by: Evgeniy Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
2023-11-28 11:59:26 +00:00
Svyatoslav Kuzmich
e901629cf0
[Wasm] Support WASI target in K2
...
- Support WASI mode in CLI and test infrastructure
- Add external declaration checker
- Split Fir diagnostic lists into Base, JS and WASI
#KT-56849 Fixed
2023-11-28 11:51:53 +00:00
Artem Kobzar
f26b0a5be6
[K/JS] Fix case with boxing/unboxing inside the BlockDecomposerLowering ^KT-63808 Fixed
2023-11-28 11:51:08 +00:00
Igor Chevdar
1805f322f8
[K/N] Do not use LazyIr for per-file caches
...
#KT-63789 Fixed
2023-11-28 09:22:36 +00:00
Anastasia.Nekrasova
00119c6a97
[K2] Disappeared UNSUPPORTED
...
Prohibit named parameters in function types in supertype position
^KT-59881
2023-11-28 07:55:15 +00:00
Roman Efremov
5147a5e805
[Test] Add test for current behavior of resolution of nested class type
...
...when it is actualized via typealias.
^KT-31636
2023-11-27 18:23:43 +00:00
Roman Efremov
205690b220
[IR] Fix incorrect matching of nested classes when actualized via typealias
...
Also, add tests for the cases when expect and actual nested classes
have no compatible matching to check new logic doesn't crash.
^KT-31636
2023-11-27 18:23:42 +00:00
Roman Efremov
d343e40ac5
[FIR] Actualize expect nested classes in type arguments in expect actual
...
...checker.
^KT-31636
2023-11-27 18:23:42 +00:00
Roman Efremov
cec644e9db
[Test] Add test for expect nested classes unwrapping
...
...in type arguments, when they were actualized via
typealias.
^KT-31636
2023-11-27 18:23:42 +00:00
Roman Efremov
4aaf290c99
[FIR] Fix incorrect matching of nested classes when actualized via typealias
...
There are still some places in `.fir.kt` where false-positive reports
remained. This is because of IR checker, which will be fixed in next
commit.
^KT-31636
2023-11-27 18:23:42 +00:00
Roman Efremov
a768ece70d
[Tests] Add tests for other checkers having same problem with
...
...nested classes marching.
^KT-31636
2023-11-27 18:23:42 +00:00
Roman Efremov
bfc775faf5
[Tests] Create test for nested classes matching when actualized via typealias
...
^KT-31636
2023-11-27 18:23:42 +00:00
Svyatoslav Kuzmich
6b6353f3b9
[Wasm] Add external file checker to K2
...
#KT-56849
2023-11-27 16:55:04 +00:00
Svyatoslav Kuzmich
7687b86654
[Wasm] Add JsModule checker to K2
...
#KT-56849
2023-11-27 16:55:04 +00:00
Stanislav Ruban
269b60b420
[tests] Add a test case for KT-61978
...
^KT-61978 Obsolete
2023-11-27 15:50:46 +00:00
Alexander Korepanov
b1465fbfb8
[JS FIR] Enable warnings and infos for JS FIR tests
2023-11-27 14:31:31 +00:00
Alexander Korepanov
862be5a787
[JS FIR] Fix FIR NON_EXPORTABLE_TYPE diagnostic bugs
...
- use a declaration source if a parameter source is null;
- ignore constructor return type to avoid
double-checking of the class itself;
- ignore constructor type parameters
obtained from the class declaration;
- ignore enum entries property (it is not checked in K1 at all);
- fix exportability check for function types;
^KT-63089 Fixed
2023-11-27 14:31:30 +00:00
Artem Kobzar
6615b77213
[K/JS] Rework symbol hash calculation to make IC works with @JsExport and @JsName changes
2023-11-27 13:49:56 +00:00
Dmitriy Novozhilov
a22a254c1e
[Test] Fix passing useIrFakeOverrideBuilder flag in tests
2023-11-27 10:17:54 +00:00
Dmitriy Novozhilov
039baf95fc
[Test] Add empty platform module for MPP diagnostic test with only one module
...
After previous commits IrActualizer runs only there are at least two modules
in backend input. So to check diagnostics from Actualizer all tests
should contain at least two modules
Diagnostics in test `extendExpectedClassWithAbstractMember.kt` were
changed because there is an exception from IrActualizer caused by
errors from frontend (`ABSTRACT_METHOD_NOT_IMPLEMENTED`), which is
swallowed by this kind of tests
2023-11-27 10:17:54 +00:00
Dmitriy Novozhilov
ffe5b4c40d
[Test] Update some IR dumps after previous changes
...
Now IR dump handlers receiver actualized IR with removed expected
declarations, so corresponding tests should be updated accordingly
2023-11-27 10:17:54 +00:00