Nikolay Lunyak
a9343aeb7d
[FIR] KT-55840: Ensure everything actually works
...
This inconsistency is present due to not using the `// WITH_STDLIB`
in the above tests. When K1 creates the enum, it tries to generate
`entries()`, and for that it tries to load `kotlin.enums.EnumEntries`,
but this is actually an unresolved reference. K1 silently swallows it,
and proceeds.
The reason K2 doesn't fail is that in order to generate `entries()` it
simply creates the necessary `ConeClassLikeType` with the desired
`classId` instead of loading the whole `ClassDescriptor`.
The reason we can still observe `$ENTRIES` and `$entries` in K1
is because they are generated during the JVM codegen, and it
only checks if the `EnumEntries` language feature is supported. It
doesn't check if the `entries` property has really existed in IR
(by this time it's expected to have already been lowered to the
`get-entries` function - that's why "has ... existed").
The reason why the codegen doesn't fail when working with
`kotlin.enums.EnumEntries` is because it creates its
own `IrClassSymbol`.
^KT-55840 Fixed
Merge-request: KT-MR-8727
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com >
2023-02-10 16:57:51 +00:00
Ivan Kochurkin
12a083af25
[FIR2IR] Consider isExpect flag for generated synthetic functions
...
It's actual for value classes
^KT-51969 Fixed
2023-02-08 17:21:34 +00:00
Ivan Kochurkin
4374ca390a
[IR] Extend enumEntryNameCall.kt test sample to check enum entries actualization
2023-02-08 17:21:34 +00:00
Ivan Kochurkin
241f457943
[IR] Use full name for expect/actual functions linking, simplify code
...
Don't put type parameters to expect-actual map since it's useless
^KT-56329 Fixed
2023-02-08 17:21:34 +00:00
Ivan Kochurkin
d401ff7b09
[FIR & IR] Implement JS MPP test infrastructure
...
^KT-55295 Fixed
2023-02-07 14:16:29 +00:00
Ivan Kochurkin
c89770c450
[IR] Consider extension receivers during expect functions actualization
...
^KT-56199 Fixed
2023-02-01 11:42:45 +00:00
Ivan Kochurkin
e601b01be2
[FIR2IR] Use single IrBuiltInsOverFir for all MPP source modules
...
^KT-56229 Fixed
2023-02-01 11:42:45 +00:00
Marco Pennekamp
9a693fa967
[FIR] Update backend tests with actual/expect in same module
...
- The fix for KT-55570 caused some backend tests to fail, because errors
are now correctly reported for simple classes and actual/expect in
the same module is not supported in FIR. See KT-55177.
- The commit also adds separate tests for K2. Unfortunately, these have
to be disabled for K1 because K1 then reports "expect without actual"
errors.
2023-01-30 17:17:58 +00:00
Artem Kobzar
71486a321c
[K/JS] Add support of compilation with ES-classes
2023-01-17 18:14:17 +00:00
Ivan Kochurkin
8936220876
[IR] Implement IR actualizer and use it for K2 test and CLI scenario
...
Implement calculateExpectActualMap for Fir2IrComponents
^KT-51753 Fixed
2023-01-13 12:55:58 +00:00
Ivan Kochurkin
f17e1314f6
[FIR2IR] Implement tables merging in Fir2Ir classes and SymbolTable
...
- Pass dependent (usually common code) components to further FIR2IR converters
- Don't reinitialize builtin
2023-01-13 12:55:57 +00:00
Vladimir Sukharev
924898afb7
[K/N] KFC-446: K2 platform: Native alpha
...
Merge-request: KT-MR-7905
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-01-04 16:10:40 +00:00
Ivan Kochurkin
194d1cfccf
[FIR] Filter out incorrect library provides for dependencyProviders
...
Get rid of providers duplication
2022-11-23 18:29:29 +00:00
Ilya Chernikov
78ca733c38
FIR JS: add K2 variants of all other JS tests
...
except tests that are not possible to add without some modifications in
the test infra. See todos on the commented-out test declarations
2022-11-12 16:28:24 +01:00
Ilya Chernikov
5b3816cce5
Test infra: refactor IGNORE_BACKEND directive
...
treat it as a general one, introduce *_K1 and *_K2 variants for
more specific ignoring
2022-11-12 16:28:23 +01:00
Ivan Kochurkin
69ee40325b
[FIR] Fix dependencyProviders generation in FirDependenciesSymbolProviderImpl
...
Get rid of unnecessary creating of FirCompositeSymbolProvider
2022-10-13 18:11:49 +00:00
Artem Kobzar
eb2326eabb
[K/JS] Add ability to exclude declarations from export by a new annotation @JsExport.Ignore.
2022-10-03 11:07:25 +00:00
Mads Ager
59c2bde10a
[K/N] Unmute passing tests.
2022-08-01 08:57:16 +00:00
Dmitriy Novozhilov
d66748d011
[FIR] Extract expect actual matching into separate phase
2022-05-20 13:33:04 +00:00
Alexander Udalov
328853dffe
Add tests for obsolete issues
...
(Test for KT-37331 is added to multiplatform/defaultArguments/suspend.kt.)
#KT-30080
#KT-33641
#KT-36237
#KT-36952
#KT-37331
#KT-38920
#KT-39256
#KT-42415
#KT-44636
#KT-45704
#KT-47084
#KT-47894
2022-03-08 14:19:37 +01:00
Dmitriy Novozhilov
6105271d41
[FIR] Make internal declarations from dependsOn dependent modules visible
2022-02-18 17:44:36 +03:00
Svyatoslav Scherbina
62c1bd0044
Native: fix using nested expect enum entry in a default argument
...
^KT-51156 Fixed
2022-02-09 14:41:11 +00:00
Igor Yakovlev
0ae7e00ed8
Revert "[WASM] Remove ignore from passing tests"
...
This reverts commit a655f9da58 .
2022-02-02 16:44:48 +03:00
Igor Yakovlev
a655f9da58
[WASM] Remove ignore from passing tests
2022-01-26 23:40:42 +03:00
Pavel Punegov
9df7d39536
[K/N][test] Ignore tests that fail due to the ^KT-50555
2022-01-10 09:01:06 +00:00
Pavel Punegov
f1fcb56348
[K/N][test] Ignore test ^KT-33091
2022-01-10 09:01:04 +00:00
Pavel Punegov
da64870e89
[K/N][test] Ignore test ^KT-40137
2022-01-10 09:01:04 +00:00
Pavel Punegov
7d57819304
[K/N][test] Ignore test ^KT-41901
2022-01-10 09:01:03 +00:00
Anton Bannykh
9c4c798fe7
[JS IR] mute tests with wrong linkage
2021-12-01 16:50:16 +03:00
Mikhail Glukhikh
cf104c8433
FIR: add status line to all failing black box tests
2021-11-20 03:37:31 +03:00
Ivan Kylchik
c7435ba760
Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
...
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00
Svyatoslav Kuzmich
15acc412ba
[Wasm] Update testdata after coroutines support
2021-10-12 08:42:00 +03:00
Roman Artemev
876a0d9b7b
[IR] Add test about default arguments in expect declaration for HMMP
...
KT-45542
2021-10-08 16:07:10 +03:00
Svyatoslav Kuzmich
c88cde2f8b
[Wasm] DONT_TARGET_WASM_BACKEND => IGNORE_BACKEND in testdata
2021-10-02 06:14:35 +00:00
Roman Artemev
3b53c97c2c
[JS IR] Fix test data 'kt -> ir -> klib -> ir -> js' aka prod mode
...
- fix order in dts tests
- unmute fixed test in prod mode
- mute filing expect-actual link test in prod mode
2021-09-13 13:44:46 +03:00
Mikhail Glukhikh
fc6403679a
Rename !USE_EXPERIMENTAL test directive to !OPT_IN
2021-09-10 16:29:16 +03:00
Dmitriy Novozhilov
37c096cb10
[FIR] Support creation of IR of common + platform sources in FirAnalyzerFacade
2021-07-20 10:33:52 +03:00
Dmitriy Novozhilov
5354e4afe4
[FIR] Ignore some MPP backend tests
...
FIR doesn't support actual declarations in same module where expect
declarations lay
2021-07-20 10:33:50 +03:00
Dmitriy Novozhilov
e08df2c530
[Test] Add diagnostics and codegen tests with hmpp module structure
2021-05-19 00:52:31 +03:00
Dmitriy Novozhilov
06b2efe65f
[Test] Introduce new syntax for dependsOn dependencies
2021-05-19 00:52:27 +03:00
Ilya Goncharov
5955faecec
[IR] Ignore WASM and FIR for tests
...
^KT-45866 fixed
2021-04-07 18:13:07 +03:00
Ilya Goncharov
b82c9225c8
[IR] Fix copying of default argument from expect to actual with type parameter
...
^KT-45866 fixed
2021-04-07 18:13:06 +03:00
Ilya Chernikov
51a1cec08b
FIR: Reimplement conflicts checker to detect conflicts in different files
...
also pass correct ScopeSession to checkers
fixes some IC tests
2021-03-24 21:24:19 +01:00
Alexander Udalov
bdaeaca5ae
Psi2ir: do not generate default accessor body for expect properties
...
Because generateDefaultGetterBody/generateDefaultSetterBody reference
the property's backing field, which in case of extension properties
leads to an error "Unbound symbols not allowed" because extension
property cannot have a backing field.
In some way, this check is similar to the `isExpect` check in
`generatePrimaryConstructor`.
2021-03-09 20:51:02 +01:00
Dmitriy Novozhilov
4222bb9af2
[FE] Make whens on expect sealed classes and enums not exhaustive
2021-02-25 14:56:08 +03:00
Dmitriy Novozhilov
7b7b8fbea7
[Test] Filter dependent modules by source kind in creating FirModuleInfo
2021-02-18 14:44:44 +03:00
Alexander Udalov
401f0ac583
Use TARGET_BACKEND instead of DONT_TARGET_EXACT_BACKEND in box against Java tests
...
"// TARGET_BACKEND: JVM" more clearly says that the test is
JVM-specific, rather than DONT_TARGET_EXACT_BACKEND which excludes all
other backends.
2021-02-11 13:50:08 +01:00
Dmitriy Novozhilov
29b96aa15d
[Test] Properly merge box against java testdata into codegen/box
...
Previous commit about it was 3199ce03 and it was completely wrong
2021-02-04 10:53:50 +03:00
Dmitriy Novozhilov
f01122d8dc
[Test] Fix module names according to MPP module conventions in test data
2021-01-12 18:35:29 +03:00
Dmitriy Novozhilov
285ccf7583
[Test] Don't generate JVM BB tests for expect-actual linker
...
This feature is supported only on JS backend so those tests on JVM
are meaningless. Also those tests had passed on jvm because of
old codegen tests didn't use `MODULE` directive and analyze all
files in tests in single module
2021-01-12 18:35:27 +03:00