Dmitriy Dolovov
8aacdb471b
[K/N] Fix: Ignore bridge functions in FunctionReferenceLowering
...
^KT-59858
2023-07-06 12:39:46 +00:00
Kirill Rakhman
b68962018c
[FIR] Remove incompatible from expect actual matching if compatible exists
...
This fixes an issue with checking for default values in call resolution
(see FirDefaultParametersResolver) where it is expected that the map
only contains a single compatible entry.
#KT-59613 Fixed
2023-07-05 08:51:01 +00:00
Denis.Zharkov
3279313f2c
K2: Fix priority for implicit receiver + extensionInvoke
...
See K1 counterpart at org.jetbrains.kotlin.resolve.calls.tower.TowerResolver.Task.processImplicitReceiver
^KT-58943 Fixed
^KT-59541 Fixed
2023-07-01 16:29:06 +00:00
Alexander Udalov
5dc882abf5
Reflection: create synthetic classes instead of throwing UOE
...
... for Kotlin-generated classes which do not correspond to a "class"
from the Kotlin language's point of view. For example, Kotlin lambdas,
file facade classes, multifile class facade/part classes, WhenMappings,
DefaultImpls. They can be distinguished from normal classes by the value
of `KotlinClassHeader.Kind` (which is the same as `Metadata.kind`).
Another theoretical option would be to throw exception at the point
where the `::class` expression is used, if the expression's type on the
left-hand side is a synthetic class. But we can't really do that since
it'll affect performance of most `<expression>::class` expressions.
So, construct a fake synthetic class instead, without any members except
equals/hashCode/toString, and without any non-trivial modifiers. It kind
of contradicts the general idea that kotlin-reflect presents anything
exactly the same as the compiler sees it, but arguably it's worth it to
avoid unexpected exceptions like in KT-41373.
In the newly added test, Java lambda check is muted but it should work
exactly the same as for Kotlin lambdas and other synthetic classes. It's
fixed in a subsequent commit.
#KT-41373 In Progress
2023-06-30 13:11:41 +00:00
Alexander Udalov
1e031d9fb8
Reflection: add test on introspection of local classes
...
kotlin-reflect works correctly already for Kotlin-generated local
classes and anonymous objects, but not for Java ones. This is fixed in a
subsequent commit.
#KT-41373 In Progress
2023-06-30 13:11:41 +00:00
Vladimir Sukharev
09a0905ffc
[Test] Convert IGNORE: NATIVE directives in rest of tests
...
^KT-59057 Fixed
Merge-request: KT-MR-10794
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-06-26 07:44:12 +00:00
Svyatoslav Kuzmich
8a69904d02
~ Regenerate tests
2023-06-25 10:23:37 +02:00
Svyatoslav Kuzmich
29fa20e2aa
[Wasm] Extract Fir compiler tests into :wasmFirCompilerTest task
...
This is needed to run K1 and K2 tests in parallel on separate CI agents
2023-06-25 10:20:43 +02:00
Svyatoslav Kuzmich
9b3237fff9
[Wasm] Initial K2 support in new test infrastructure (KT-57230)
...
- Implement FirWasmSessionFactory
- Use new compiler test infra for Wasm K1 and K2
- Delete old Wasm compiler test infra
2023-06-25 10:19:36 +02:00
Svyatoslav Kuzmich
736519c506
[JS] Rename JsLibraryProvider to LibraryProvider
...
This class is not JS-specific and can be used in Wasm test services
2023-06-25 10:18:50 +02:00
Vladimir Sukharev
7930885131
[Test] Convert IGNORE: NATIVE directives in box tests from M to R
...
^KT-59057
Merge-request: KT-MR-10757
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-06-23 14:15:48 +00:00
Vladimir Sukharev
5c7d321e45
[Test] Convert IGNORE: NATIVE directives in box tests "sealed"
...
^KT-59057
Merge-request: KT-MR-10763
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-06-23 13:53:29 +00:00
Vladimir Sukharev
a036e41809
[Test] Convert IGNORE: NATIVE directives in box tests from D to I
...
^KT-59057
Merge-request: KT-MR-10748
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-06-23 09:11:17 +00:00
Vladimir Sukharev
ab03cb2357
[Test] Convert IGNORE: NATIVE directives in box tests sam/* and sameFile*/*
...
^KT-59057
Merge-request: KT-MR-10758
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-06-23 06:23:53 +00:00
Vladimir Sukharev
1bf3bde4f8
[Test] Convert IGNORE: NATIVE directives in box tests from J to J
...
^KT-59057
Merge-request: KT-MR-10749
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-06-22 18:39:59 +00:00
Vladimir Sukharev
f3fcaa69eb
[Test] Convert IGNORE: NATIVE directives in box tests from T to W and boxInline
...
^KT-59057
Merge-request: KT-MR-10752
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-06-22 18:33:24 +00:00
Alexander.Likhachev
a93c49baf1
[Build] Fix a bunch of buildscript compilation warnings
...
#KTI-1221 Fixed
2023-06-22 15:16:08 +00:00
Alexander.Likhachev
407a2d4203
[Build] Remove usages of Provider.forUseAtConfigurationTime()
...
It's not required anymore and was deprecated since Gradle 7.4
#KTI-1221 In Progress
2023-06-22 15:16:08 +00:00
Vladimir Sukharev
3d60ed8874
[Test] Convert IGNORE: NATIVE directives in box tests from A to C
...
^KT-59057
Merge-request: KT-MR-10747
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-06-22 08:39:20 +00:00
Dmitriy Novozhilov
1b24b95cde
[FIR] Check for subtyping during actualization of supertypes of expect class
...
^KT-59356 Fixed
2023-06-22 07:05:31 +00:00
Kirill Rakhman
c867a4b52f
[FIR] Don't expand typealiases when checking for DeprecatedSinceKotlin
...
During serialization, this can lead to a cycle resulting in a Stack
Overflow.
#KT-58356 Fixed
2023-06-21 14:35:43 +00:00
Kirill Rakhman
ee91ee9403
[FIR] Set publishedApiEffectiveVisibility on deserialized declarations
...
#KT-58641 Fixed
2023-06-21 07:34:29 +00:00
Evgeniy.Zhelenskiy
2d920df507
[IR] Fix KT-59346, KT-55993
...
#KT-59346
#KT-55993
2023-06-19 12:36:08 +00:00
Dmitriy Novozhilov
d972b78627
[FIR] Allow actualization of expect classes by classes with wider visibility
...
^KT-59355 Fixed
2023-06-19 11:09:32 +00:00
Abduqodiri Qurbonzoda
d6867917c9
Enum entry hashCode() should return identity hash code #KT-59223
2023-06-16 22:18:20 +00:00
Vyacheslav Gerasimov
61664c6c4d
Build: Add webassembly wabt and test suite to cachedDependencies
...
#KTI-72
2023-06-16 12:19:01 +00:00
Vyacheslav Gerasimov
e15a299196
Build: Add Mozilla jshell to implicitDependencies
...
#KTI-72
2023-06-16 12:19:00 +00:00
Vladimir Sukharev
05e22e56d3
[K/N] Mark rest of reflection related tests as jvm-only
...
^KT-59057
Merge-request: KT-MR-10570
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-06-16 11:50:03 +00:00
vladislav.grechko
457837a255
Fix function invocation mangling rule
...
Mangle invocations of functions with value classes in signature which
override (directly or indirectly) a method declared in Kotlin code.
Otherwise, NoSuchMethodError is being thrown.
^KT-55945: Fixed
2023-06-15 09:34:21 +00:00
Alexander Korepanov
fc898c7620
[JS IR] Use type upper bounds for calculating function signatures
...
^KT-59239 Fixed
2023-06-14 14:57:15 +00:00
Abduqodiri Qurbonzoda
36924775c8
Add a compiler box test for Boolean.hashCode()
2023-06-14 08:19:47 +00:00
Pavel Kunyavskiy
f67f8c393b
K2: Added test for data class metadata
...
#KT-57622 Fixed
2023-06-14 07:09:16 +00:00
Svyatoslav Kuzmich
1dc0b054ed
Deprecate PlatformDiagnosticSuppressors::shouldReportUnusedParameter with one parameter
2023-06-13 15:37:54 +00:00
Svyatoslav Kuzmich
dc4aa8c15e
[Wasm] Restore binary compatibility of PlatformDiagnosticSuppressor
...
Keep the original shouldReportUnusedParameter method without
BindingContext parameter
^KT-58188 Fixed
2023-06-13 15:37:53 +00:00
Alexander Udalov
ccf4a6813c
Minor, move kt57353 test to a subfolder
2023-06-08 15:42:27 +00:00
Denis.Zharkov
c474c54903
FIR2IR: Fix IAE for case of local override of a method with defaults
...
It was happening because for MyClass.foo we didn't set overriddenSymbols
properly because in ClassMemberGenerator.convertFunctionContent we
used incorrect containingFirClass that was pointing to anonymous class
instead of MyClass.
^KT-58902 Fixed
2023-06-08 08:04:03 +00:00
Pavel Kunyavskiy
15e5adf2b5
Mark reflection related tests as jvm-only
2023-06-07 14:59:38 +00:00
Vyacheslav Gerasimov
d5831587fb
Build: Download jshell using configuration
2023-06-07 10:12:39 +00:00
Vyacheslav Gerasimov
965b00549f
Build: Download webassembly wabt and test suite using configuration
2023-06-07 10:12:39 +00:00
Ilmir Usmanov
95662234d0
JVM: Support instantiation of annotations with vararg parameters
...
when they are instantiated without argument.
#KT-59033 Fixed
2023-06-06 17:27:52 +00:00
Pavel Kunyavskiy
733ca5a358
[K/N] Unmute tests already working on native
...
Also, add issue references for some tests
2023-06-06 14:29:21 +00:00
Pavel Kunyavskiy
f2520a9cb7
[K/N] Rework is checks and as casts codegeneration
...
^KT-58707
^KT-59022
2023-06-05 08:56:17 +00:00
Artem Kobzar
bfd57fd2df
[K/JS, K/Wasm] Optimize simple objects declaration and usage ^Fixed KT-58797
2023-06-02 14:23:40 +00:00
Kirill Rakhman
793e3552e7
[FIR] Add tests for K2-only suspend operators get/set/contains
...
#KT-57169
2023-05-30 16:48:53 +00:00
Kirill Rakhman
d1ce55cbd2
[FIR2IR] Fix infinite loop between annotation and annotation parameter
...
When an annotation constructor value parameter is annotated with the
very same annotation, FIR2IR went in an infinite loop when trying
to generate it.
To fix this, the constructor is added to the Fir2IrDeclarationStorage
cache before generating the value parameters.
To accommodate for the missing parameters, the value arguments count
is determined using the FIR.
2023-05-30 15:53:12 +00:00
Denis.Zharkov
e4480a1c52
K2: Refine mapping of primitive arrays to JVM descriptor
...
Earlier, it wasn't really important but after the previous commit
when JvmMappedScope semantics has been changed, we erroneously
started loading `toCharArray` as a member to String because
its jvmDescriptor was computed to "toCharArray()Lkotlin/CharArray",
while hardcoded information that prevents it from loading expect
"toCharArray()[C" there.
^KT-57694 In progress
2023-05-30 10:44:41 +00:00
Alexander Korepanov
8066f1b7d2
[JS IR] Do not copy interface method if base class inherits it
...
^KT-58599 Fixed
2023-05-30 08:22:43 +00:00
Ivan Kochurkin
432c781ff7
[K2, MPP] Fix actualization of fake overrides (fixes a set of bugs in coroutines / ktor)
...
Split MissingFakeOverridesAdder on FakeOverridesActualizer and ActualFakeOverridesAdder
^KT-57984 Fixed
^KT-58003 Fixed
^KT-58124 Fixed
^KT-57833 Fixed
^KT-58153 Fixed
2023-05-24 14:54:51 +00:00
Ilmir Usmanov
a0484de1a6
JVM_IR: Do not copy static init blocks to inline class's constructor
...
#KT-58593 Fixed
2023-05-24 13:24:47 +00:00
Vladimir Sukharev
a534708900
[K2/N] Use FqName to mangle invisible class-like symbol in fake override
...
^KT-57484
Merge-request: KT-MR-10263
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-05-24 07:34:11 +00:00