Kirill Rakhman
3b841dcb98
[FIR] Don't remove subsumed members from intersection overrides's overriddens
...
This fixes a bunch of missing overridden symbols in IR.
This is also required for fixing KT-59921 in the following commit
where we need to keep all overridden symbols of intersection overrides
so that we can enhance them properly.
#KT-57300 Fixed
#KT-57299 Fixed
#KT-59921
#KT-57300
#KT-62788
#KT-64271
#KT-64382
2024-01-31 11:16:50 +00:00
vladislav.grechko
34bac48541
Add JVM ABI K1/K2 consistency tests
2023-12-26 10:18:19 +00:00
Dmitriy Novozhilov
61ec143b74
[FIR] Don't generate delegated members for java methods with default implementation
...
^KT-62334 Fixed
2023-10-17 12:46:27 +00:00
Dmitriy Novozhilov
8bf4d3cbf7
[Test] Mute some tests because of KT-62334
2023-10-17 12:46:27 +00:00
vladislav.grechko
29eb1c7a63
Do not add nullability annotations to the methods of anonymous classes
...
Nullability annotations are useless for the methods of anonymous classes
due to their restricted scope.
^KT-62044: Fixed
2023-10-10 10:34:33 +00:00
Alexander Udalov
fda47c45ec
IR: do not change overrides for lazy IR in FakeOverrideRebuilder
...
`FakeOverrideBuilder.provideFakeOverrides` recursively changes overrides
for all superclasses in the hierarchy, including lazy IR, which is a lot
of extra work.
Also it leads to some tests failing in the IR fake override builder mode
because it changes correct fake overrides of Java classes to incorrect
ones. Those tests are unmuted but it doesn't mean they are fixed -- most
likely we'll generate fake overrides via IR for lazy IR too, at which
point they'll start to fail again.
2023-09-15 12:55:33 +00:00
Alexander Udalov
9f9287fb2e
IR: keep flexible type annotations when building fake overrides
...
#KT-61751 Fixed
2023-09-15 09:40:45 +00:00
Alexander Udalov
21d56d04d6
Tests: reclassify some failures in fake override rebuilder tests
...
See issues for more information: KT-61751, KT-61804, KT-61805, KT-61370.
2023-09-13 15:01:52 +02:00
Pavel Kunyavskiy
91e96e9f31
[Fir2Ir] Introduce testing with IrFakeOverrideBuilder
...
^KT-61514
2023-08-31 13:12:15 +00:00
Alexander Udalov
1588b07472
Tests: unmute light analysis tests passing with JVM_IR
2023-06-22 17:10:51 +02:00
Alexander Udalov
d757847ed6
JVM: enable -Xlambdas=class for some backend tests
...
These tests are checking the specifics of the class-generated lambdas.
2023-05-12 15:21:00 +00:00
Alexander Udalov
cd9209a7ee
JVM: enable -Xlambdas=class in some codegen tests
...
Most of these tests check the specific structure of lambdas when they
are generated as classes, and they start to fail once invokedynamic
lambdas are enabled by default.
2023-04-28 21:34:19 +00:00
Alexander Udalov
3120a35a88
JvmDefault: remove most tests on @JvmDefault
...
The tests are removed because JvmDefault is going to be deprecated with
error in KT-54746 and removed later in KT-57696.
Many of the removed tests already had existing counterparts with the new
modes `all` and `all-compatibility`. In this change, I've added such
tests where they were missing, and removed tests which were testing
behavior specific to the JvmDefault annotation, such as some
diagnostics.
#KT-54746
2023-04-25 14:33:00 +00:00
Steven Schäfer
6af616d3c3
FIR: make declarations marked with 'override' implicitly open
...
#KT-52236 Fixed
2022-12-14 21:46:41 +00:00
Dmitriy Novozhilov
6b343515e1
[Test] Save IR bytecode dumps from BytecodeListingHandler to .ir.txt file instead of _ir.txt
...
This is needed to keep consistency with other dumps and to allow
test helper plugin to recognize those dumps
2022-12-01 07:29:37 +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
vladislav.grechko
70c2f2b86f
Support specifying different bytecode listings for FIR and old frontend
2022-10-21 12:57:11 +00:00
Alexander Udalov
4baa74f396
Add regression tests for obsolete issues
...
#KT-50909
#KT-50974
#KT-51888
2022-09-28 23:18:59 +02:00
Pavel Mikhailovskii
18e61315f4
KT-27936 Generate InnerClasses attributes
2022-08-23 22:06:10 +00:00
Steven Schäfer
7d59c7689c
JVM IR: Avoid direct invokes in callable reference tests
...
Due to the direct invoke optimization, most callable reference tests
were not generating callable references/lambdas.
2022-07-14 23:24:18 +02:00
Pavel Mikhailovskii
ecb3cc193c
KT-51883 Don't use "-" in generated unique lifted declaration names
2022-06-10 18:36:04 +00:00
Mikhail Glukhikh
8c7f659a32
Black box: drop WITH_RUNTIME or replace with WITH_STDLIB
2021-12-09 13:26:38 +03:00
Mikhael Bogdanov
8c17d5f5a7
JvmDefaultWithCompatibility. Switch retention to source
2021-12-08 12:25:02 +01:00
Mikhael Bogdanov
29afd674d2
JvmDefaultWithoutCompatibility. Add test with Kotlin Java mixed inheritance
2021-12-08 12:25:02 +01:00
Mikhael Bogdanov
bdeae7668e
JvmDefault. Support 'JvmDefaultWithCompatibility' annotation in old backend
...
#KT-48217
2021-12-08 06:27:57 +00:00
Mikhael Bogdanov
ea58c858d1
JvmDefault. Support @JvmDefaultWithCompatibility annotation
...
#KT-48217 Fixed
2021-12-06 14:20:24 +01:00
Mikhael Bogdanov
c0ffbe03c6
Remove '-Xjvm-default-allow-non-default-inheritance' flag. Enable such inheritance by default
...
#KT-47000 Fixed
2021-12-03 06:39:38 +01:00
Mikhail Glukhikh
4a8f00bc7c
FIR2IR: support reading of isNewPlaceForBodyGeneration in lazy class
2021-11-26 09:18:11 +03:00
Dmitry Petrov
88f41d006a
FIR2IR don't generate delegates for default interface members
2021-11-25 13:25:36 +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
Mikhael Bogdanov
afc149d460
JvmDefault. Allow non default inheritance with special flag
...
#KT-47000
2021-11-01 13:30:57 +01:00
pyos
1c3a20fab9
JVM_IR: generate $suspendImpl in interfaces as public
...
The visibility was the cause of KT-44533; not generating `$suspendImpl`
at all makes `super` calls impossible.
^KT-49106 Fixed
2021-10-06 15:03:51 +02:00
Mikhael Bogdanov
72ab6d5e7e
Add test for obsolete (fixed in IR) KT-42967
...
#KT-42967 Fixed
2021-09-21 12:41:07 +02:00
Alexander Udalov
0c3f2eefe0
Migrate bytecodeListing tests to new test infrastructure
2021-04-23 17:58:16 +02:00
Denis.Zharkov
5cbfb172a4
Ignore new FIR box test on android
2021-04-01 14:52:05 +03:00
Denis.Zharkov
d685e2aac7
FIR2IR: Fix inheritance case from built-in interface with default methods
2021-04-01 12:11:37 +03:00
Mikhael Bogdanov
66a29c70bf
Use compatibility accessors only in compatibility stubs
2021-03-10 09:09:10 +00:00
Mikhael Bogdanov
efceb89b98
Don't generate private members in compatibility mode in DefaultImpls
2021-03-10 09:09:09 +00:00
Mikhael Bogdanov
f648d86d2b
Generate stubs for private function with default arguments as public in interfaces
2021-03-10 09:09:08 +00:00
Mikhael Bogdanov
77559e8299
Temporary mute reflection test on Android
2021-03-01 18:05:27 +01:00
Mikhael Bogdanov
49aa36b70d
Generate local delegated properties in interface in jvm-default all modes
2021-03-01 16:20:20 +01:00
Mikhael Bogdanov
c25a694b6b
Generate private suspend functions as private (not synthetic package-private)
...
#KT-26592 Fixed
2021-03-01 16:20:19 +01:00
Mikhael Bogdanov
ad8eddac99
Add test for private suspend and JVM defaults
2021-03-01 16:20:19 +01:00
Alexander Udalov
acd8c4503b
Do not generate $suspendImpl for JvmDefault functions in interfaces
...
#KT-44533 Fixed
2021-02-03 21:37:58 +01:00
Dmitriy Novozhilov
64a300bfcd
[TD] Update testdata according to previous commit
2021-02-02 17:53:52 +03:00
Mikhael Bogdanov
b16b1b3b78
Test for obsolete KT-26360
...
#KT-26360
2021-01-28 18:01:21 +01:00
Dmitriy Novozhilov
6a7cd0c811
[Test] Add ability to specify applicability of diagnostic to module or file
2021-01-22 13:51:19 +03:00
Alexander Udalov
7b5544ebd3
Use -source/target 1.6 for Java sources in codegen tests
...
In cases when the test has the JVM_TARGET directive, use that one for
Java compilation as well.
Otherwise, for box tests, the corresponding test in `JvmTarget6OnJvm6`
(module `:compiler:tests-different-jdk`) will fail. However, it affects
all codegen tests, so fix a bunch of them which use Java 8+ features to
explicitly compile with JVM target 1.8. In particular, this obsoletes
the SKIP_JDK6 directive in those tests because "JVM_TARGET: 1.8" also
skips it for JDK 6.
The check for IS_SOURCE_6_STILL_SUPPORTED is needed in order to still be
able to run tests in the project while only having a single JDK > 11
installed, and having all of the env vars JDK_16, JDK_17, JDK_18
pointing to that JDK.
2020-11-18 18:43:43 +01:00