Alexander Udalov
41f736a665
IR: remove dependency of IrTypeSubstitutor on IrBuiltIns
...
It was only used in one place incorrectly anyway.
2023-10-03 10:18:54 +00:00
Alejandro Serrano Mena
c2dfe415f3
[Test] Operator ambiguity check with 'set'
...
When using `x[y] += z` the spec mandates attempting all possible combinations.
^KT-62138 Fixed
2023-10-03 08:23:29 +00:00
Nataliya.Valtman
5b7b159d64
Fix unstable TryK2IT.smokeTestForNativeTasks test
...
fix test fails with unexpected task execution order for Linux
2023-10-03 07:05:34 +00:00
Mikhail Glukhikh
9cf1d36e5e
K2: don't use outer class type parameters during nested class TP resolve
...
Before this commit, we allowed access to outer class type parameters
during resolve of type parameter bounds of a nested class.
In fact, outer type parameters are accessible in this situation
only if it's an inner class (or a local class).
This commit forbids such a usage. In the earlier fix of KT-57209
the same was done for regular type reference resolve.
#KT-61459 Fixed
#KT-61959 Fixed
2023-10-03 06:34:02 +00:00
Mikhail Glukhikh
cdc197c723
K2: reproduce KT-61959
2023-10-03 06:34:01 +00:00
Mikhail Glukhikh
92470484bf
K2: reproduce KT-61459
2023-10-03 06:34:01 +00:00
Alejandro Serrano Mena
310e89f100
[FIR] Report type-aliased 'Nothing' as return type
...
This warning was issued in K1, but lost in K2
^KT-59420 Fixed
^KT-59429 Fixed
2023-10-03 06:22:35 +00:00
Ilya Gulya
f6b2c642c2
Support kotlinx.collections.immutable in kotlin-parcelize plugin
...
#KT-57685 Fixed
Co-authored-by: Ilya Gulya <ilyagulya@gmail.com >
2023-10-02 23:29:43 +00:00
Dmitriy Dolovov
e8853fd40b
[IR] Drop obsolete o.j.k.backend.common.serialization.signature.IdSignatureSerializer
...
It has been renamed to IdSignatureFactory. We have to keep
IdSignatureSerializer as a typealias for a while to keep the source
compatibility with the Compose compiler plugin.
2023-10-02 22:37:54 +00:00
Dmitrii Krasnov
e63e4b17b7
[Gradle IT] Fixed regex for extracting task log on Windows
...
#KT-51553 Ready for Review
2023-10-02 20:28:55 +00:00
Alexander.Likhachev
a2b688eb31
[Build] Preserve original jar with unshaded postfix in subplugin example
...
Otherwise we have two tasks writing output to the same file. That behavior confuses Gradle.
2023-10-02 18:02:47 +00:00
Alexander.Likhachev
f6eae38d6c
[Build] Update com.gradle.plugin-publish to 1.2.1
...
The old one appeared to be non-compatible with Gradle 8
2023-10-02 18:02:47 +00:00
Dmitriy Dolovov
78a962f6d2
[KLIB] Deprecate -Xexpect-actual-linker CLI argument
...
This argument has been finally superseded by `-Xmetadata-klib`.
^KT-61136
2023-10-02 16:21:17 +00:00
Dmitriy Dolovov
620c9434ca
[Gradle] Use -Xmetadata-klib CLI arg to produce metadate KLIBs
...
The `-Xexpect-actual-linker` CLI argument is deprecated and replaced by
`-Xmetadata-klib` CLI argument.
^KT-61136
2023-10-02 16:21:17 +00:00
Dmitriy Dolovov
4d80e0f08d
[Native] Respect local.properties in build config
2023-10-02 16:14:59 +00:00
Roman Efremov
81fd9a679d
[FIR] Prohibit expect class members with default values actualized
...
...by fake-override.
It is error without deprecation cycle because `expect` and `actual`
classes are still in Beta and expected impact of change is negligible.
^KT-62036 Fixed
2023-10-02 15:50:37 +00:00
Roman Efremov
02680442a0
[Test] Add tests for expect class default arguments which actualized
...
...by fake-override.
^KT-62036
2023-10-02 15:50:37 +00:00
Roman Efremov
7ad23aeb73
[Test] Drop forgotten TODO
...
^KT-62036
2023-10-02 15:50:37 +00:00
Roman Efremov
16ffdb6cb7
[FIR] Refactor: extract checker of DEFAULT_ARGUMENTS_IN_EXPECT_WITH_ACTUAL_TYPEALIAS
...
...to separate object. This is to simplify overloaded with logic
`FirExpectActualDeclarationChecker`.
^KT-62036
2023-10-02 15:50:37 +00:00
Roman Efremov
2d51bb233d
[FIR] Refactor: extract function which returns single compatible expect
...
...symbol for actual symbol. It will be reused in next commit.
^KT-62036
2023-10-02 15:50:37 +00:00
Alexander Udalov
9943c7078c
JVM: add more flags to JvmBackendConfig
...
And use them instead of CompilerConfiguration, to reduce dependencies of
backend on the whole compiler (as opposed to just backend)
configuration.
2023-10-02 14:58:24 +00:00
Alexander Udalov
72b5123fc8
JVM: reduce usages of GenerationState in favor of JvmBackendConfig
...
To help in decoupling JVM IR from the old JVM backend.
2023-10-02 14:58:23 +00:00
Egor Kulikov
c3010dd599
[FIR] Fix NPE on empty throws
...
^KT-60325 fixed
2023-10-02 14:37:00 +00:00
Vladimir Sukharev
3894e719b3
[FIR] Fix disappeared CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON
...
^KT-59965 Fixed
2023-10-02 11:59:33 +00:00
Timofey Solonin
f3bc8677c5
Increase execution timeout due to slower Rosetta agents
...
^KT-61369
2023-10-02 10:13:57 +00:00
Timofey Solonin
7973d898d2
Remove __clear_cache builtin and SparseGetInertia from the targets where
...
these functions are unlinkable
^KT-61369
2023-10-02 10:13:57 +00:00
Timofey Solonin
35de28d1aa
Make NSBezierPathElement an enum
...
and move NSImage and NSProgessIndicator APIs from categories back to the types
^KT-61369
2023-10-02 10:13:57 +00:00
Timofey Solonin
e7dbb9c9a8
Return APIs hidden by __CCT_ENABLE_USER_SPACE
...
^KT-61369
2023-10-02 10:13:56 +00:00
Timofey Solonin
33a4958c4c
Move CloudKit changes from a category to the type
...
^KT-61369
2023-10-02 10:13:56 +00:00
Timofey Solonin
94f86d6ef9
Update def files for Xcode 15
...
^KT-61369
2023-10-02 10:13:56 +00:00
Timofey Solonin
622dba2ad5
Update Xcode to 15 RC
...
^KT-61369
2023-10-02 10:13:56 +00:00
Timofey Solonin
5e1031d98f
Adhoc codesign explicitly for arm64 tvos simulator
...
due to Xcode 15's new linker not codesigning. Without signing binaries
are not runnable on arm64 macOS.
^KT-62086
2023-10-02 09:52:44 +00:00
Alexander Udalov
5ff15f6847
CLI tests: fix incorrect order of replacing versions
...
The change 9de6df6104 caused tests `requireKotlinCompilerVersion{,K2}`
to fail once the compiler version was changed to 2.0.0-dev-*. The reason
is that when patch version is 0, compiler version is equal to the
language version (which is itself always equal to JvmMetadataVersion).
So if we're replacing JvmMetadataVersion first, we end up with
`$ABI_VERSION$-dev-...` in the output, which is incorrect.
2023-10-02 08:59:12 +00:00
Filipp Zhinkin
e803977924
KT-58588 Optimize Sequence::flatten
...
Rewrite FlatteningSequence to use
the same optimization technique as AbstractIterator.
Didn't extend AbstractIterator as storing and reloading a value
from a field is slightly slower compared to the implemented approach.
2023-10-02 08:03:13 +00:00
Filipp Zhinkin
7ca506870a
KT-58588 Optimize Sequence::distinct
...
Use integer constants instead of enum to track AbstractIterator's state:
- for switches with a few cases, integer constants are
faster as there's no need to load ordinal value from
enum and map it into tableswitch index;
- on JVM, JIT-compiler can optimize away state-tracking code if it uses
integer constants, but when it comes to enums and tableswitches,
it can't apply a same set of optimizations to it.
2023-10-02 08:03:13 +00:00
Artem Kobzar
1062ca9646
[K/JS] Add ingored test for KT-60785 fix until the rr/vgrechko/accidental-reification-2 will be merged
2023-09-28 15:15:04 +02:00
Artem Kobzar
857c07fa25
[K/JS] Fix corutines build for 1.9.20
...
This reverts commit f0d6471a8bcbdfc52ddc840a6383032ef86976d1.
2023-09-28 15:15:04 +02:00
Pavel Kunyavskiy
1a36a06a07
[IR] Drop unused inter-module dependency
...
^KT-61934
2023-09-24 16:11:49 +00:00
Pavel Kunyavskiy
03914e353f
[IR] Rename classes after refactoring
...
^KT-61934
2023-09-24 16:11:49 +00:00
Pavel Kunyavskiy
ed7e458828
[IR] Don't use linker fake override builder in Ir actualizer
...
Now, it uses fake override builder from in Fir2IrComponents.
It would also allow using it in lazy classes in the future.
^KT-61934
2023-09-24 16:11:49 +00:00
Pavel Kunyavskiy
9fd057d7c3
[IR] Simplify usage of IrOverrideUtil
...
It had some copy-pasted code for counting current file on each use-site.
Now it's encapsulated in strategy.
KT-61934
2023-09-24 16:11:49 +00:00
Pavel Kunyavskiy
2b8b6a2b21
[IR] Split FakeOverrideBuilder to two parts
...
Now there is separate class encapsulating logic about how to build
fakeOverrides and one encapsulating logic of which classes
do need building fake overrides.
This also allows to untie strange inheritance dependencies.
^KT-61934
2023-09-24 16:11:49 +00:00
Pavel Kunyavskiy
fcca73e900
[IR] Simplify IrOverridingUtil
...
Previously, it had some internal state that was saved between calls
and needed to be cleared.
This state was eliminated, which makes invariants clearer and using
easier.
^KT-61934
2023-09-24 11:58:16 +02:00
Alexander Korepanov
0f4c550ee0
[JS IR] Add JS BE diagnostic tests
...
Add tests for:
- EXPORTING_JS_NAME_CLASH
- EXPORTING_JS_NAME_CLASH_ES
^KT-61710
2023-09-23 19:49:17 +02:00
Alexander Korepanov
522952db1f
[JS IR] Run diagnostics by IR before the klib serialization
...
Implement an infrastructure for checking IR before JS klib serialization.
Implement the EXPORTING_JS_NAME_CLASH and EXPORTING_JS_NAME_CLASH_ES checks.
^KT-61710 Fixed
2023-09-23 19:49:17 +02:00
Alexander Korepanov
13bd627bfa
[Common tests] Use RootDiagnosticRendererFactory for checking messages
...
The patch allows checking all diagnostings with checkFullDiagnosticRender().
It is required for the JS BE diagnostic tests.
2023-09-23 19:48:51 +02:00
Alexander Korepanov
a7458f18a9
[Common tests] Support RENDER_ALL_DIAGNOSTICS_FULL_TEXT in JS BE tests
...
Move the checkFullDiagnosticRender() function from
the JvmBackendDiagnosticsHandler class so it can be reused
in the JsBackendDiagnosticsHandler class.
2023-09-23 19:48:50 +02:00
Igor Yakovlev
758484a01f
[Wasm] Fix generation optimised when expression with Nothing type
...
Fixed #KT-62147
2023-09-23 10:18:30 +02:00
Yan Zhulanow
624d35fefd
Update test data for 'ContextCollector' after renderer changes
...
See also d98da87278 ([FIR] Render
dot-separated FQNs instead of slash-separated ones in diagnostics).
2023-09-23 07:01:04 +00:00
Dmitrii Krasnov
93fcee7532
[Gradle] Muted NativeDownloadAndPlatformLibsNonParallelIT on Windows.
2023-09-23 06:26:11 +00:00