Commit Graph

486 Commits

Author SHA1 Message Date
Nikita Bobko 14029b0ebc [STDLIB] 1/2 Drop AllowDifferentMembersInActual from stdlib
^KT-62656 Fixed

I blindly converted all `@AllowDifferentMembersInActual` to suppresses.
But some suppresses in stdlib are redundant. I'm too lazy properly
annotate only the necessary places. All these suppresses will go away
after the bootstrap update anyway

I drop allowDifferentMembersInActual_class and
allowDifferentMembersInActual_typealias tests because their only purpose
was to check that `@AllowDifferentMembersInActual` works as expected

Note: some tests are failing in the compiler because of that. I will fix
them in the next commit
2023-10-20 14:37:09 +00:00
Nikita Bobko 25c082f02b K1: Implement a checker that disallows to have different member scopes for expect open and its actual
^KT-22841 Fixed
Review: https://jetbrains.team/p/kt/reviews/11603/timeline

The commit also introduces `@AllowDifferentMembersInActual` annotation in
stdlib which allows to suppress the diagnostic
2023-08-21 19:51:08 +00:00
Ilya Gorbunov cfa6c39015 [stdlib-mpp] Change path to the new stdlib artifact in BCV and JdkApi tests
KT-56106
2023-08-03 14:47:20 +00:00
Nikita Bobko f4ba5aaf9a [FE 1.0] Prohibit implicit Java actualization in K1
^KT-58545 Fixed
Review: https://jetbrains.team/p/kt/reviews/10561

It's not yet supported in K2 KT-59213

Related tests:
- ApiTest.testStdlib
- RuntimePublicAPITest.kotlinStdlibRuntimeMerged
- KotlinProjectViewTestGenerated.test_Arrays (in Kotlin plugin)
2023-07-25 22:30:09 +02:00
Abduqodiri Qurbonzoda e5ab1d9ccf Commonize the ExperimentalNativeApi annotation 2023-07-25 15:01:49 +00:00
Artem Kobzar cf949e8760 [K/JS] Support KClass<*>.createInstance reflection method ^KT-58684 Fixed 2023-07-06 18:18:14 +00:00
Alexander Udalov ecc1f9fb0b Update to kotlinx-metadata-jvm 0.6.2
Migrate to the new API in kotlin-reflect build script, remove obsolete
workarounds.
2023-06-27 14:32:15 +00:00
Artem Kobzar 64158a8a2f [K/JS] Add file-to-file compilation ^KT-6168 Fixed 2023-06-22 18:23:45 +00:00
Ilya Gorbunov 937a14146a Hide experimental Duration functions that are not intended to be stabilized 2023-04-26 10:44:52 +00:00
Ilya Gorbunov 448e9fc5e7 Drop functions hidden since 1.4 (inline-only or experimental in JVM)
Since it's no longer possible to use API version less than 1.4,
these functions can be no longer called at all.
2023-04-26 10:31:03 +00:00
Abduqodiri Qurbonzoda 63a5a74613 Introduce HexFormat for formatting and parsing hexadecimals #KT-57762
Merge-request: KT-MR-9460
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com>
2023-04-26 09:54:25 +00:00
Iaroslav Postovalov fb80c0cb0d Override toString function in stdlib delegates
Co-authored-by: ilya-g <ilya.gorbunov@jetbrains.com>
2023-04-11 14:46:29 +00:00
Ilya Gorbunov d2dc23d8bb Introduce Path.createParentDirectories function #KT-53263 2023-02-27 20:36:21 +00:00
Dmitriy Novozhilov 1422654470 [Build] Update version of binary-compatibility-validator to 0.13.0
0.12.0 was incompatible with kotlinx.metadata:0.6.0
2023-02-18 13:26:53 +00:00
Dmitriy Novozhilov 20610a7c89 [Build] Bump kotlinx.metadata version to 0.6.0 2023-02-18 13:26:51 +00:00
Ilmir Usmanov d18672bfb1 Wrap continuation with ContinuationImpl on callable references
in startCoroutineUninterceptedOrReturn. Otherwise, the coroutine will
not be interceptable later.

Add a test, which checks, that intercepted continuation is released.

 #KT-55869
2023-01-19 00:35:36 +00:00
Abduqodiri Qurbonzoda 954ec1f63c Introduce @ExperimentalEncodingApi for binary-to-text encoding API 2023-01-16 11:24:50 +00:00
Abduqodiri Qurbonzoda dc03a03762 Introduce basic, url-safe and mime Base64 variants #KT-9823 2023-01-16 11:24:49 +00:00
Nikolay Krasko 6f276b7504 Use line diff in RuntimePublicAPITest
Otherwise, test fails because of too big comparison.
2023-01-04 19:57:17 +00:00
Ilya Gorbunov 59131f8138 Use BCV plugin to dump and check public API of Kotlin Gradle plugin-related artifacts 2022-11-18 06:00:18 +00:00
Ilya Gorbunov 49bd4e672b Drop dump of the obsolete kotlin-coroutines-experimental-compat artifact 2022-11-18 06:00:17 +00:00
Ilya Gorbunov d8e8c6afb3 Update BCV library version in reference public api test and update dumps
There were two problems in BCV fixed:
- https://github.com/Kotlin/binary-compatibility-validator/issues/36
- https://github.com/Kotlin/binary-compatibility-validator/issues/58

Therefore some methods with default values and properties that
mistakenly wasn't included in the dump, now have appeared in it.
2022-11-18 06:00:17 +00:00
Sebastian Sellmair bbd8aed419 [Gradle] kgp-idea: Update api reference
KT-54825
2022-11-17 07:38:45 +00:00
Sebastian Sellmair 39904fe54b [Gradle] Update kgp-idea and kgp-idea-proto API reference
KT-54825
2022-11-17 07:38:40 +00:00
Sebastian Sellmair 687ccda3e8 [Gradle] Implement protobuf for kgp-idea/tcs
KT-54825
2022-11-17 07:38:38 +00:00
Sebastian Sellmair f3998d523d [Gradle] Move IdeDependency into kgp-idea module and share serializer logic
KT-54825
2022-11-17 07:38:38 +00:00
Sebastian Sellmair 898174a2a0 [Gradle] Add ExternalKotlinTargetApi annotation to API snapshot 2022-11-07 13:39:51 +00:00
Ilya Goncharov 8e088af337 [Gradle, JS] Fix gradle plugin api 2022-11-01 14:08:54 +00:00
Sebastian Sellmair f148390e14 [Gradle] Rename KotlinCompilationData to GradleKpmCompilationData
^KT-54312 Verification Pending
2022-10-27 09:13:16 +00:00
Sebastian Sellmair b3d82c74fe [Gradle] KotlinCompilation: Remove .ownModuleName vs .moduleName duplication
This mechanism is simply not necessary anymore.
Just using the 'ownModuleName' as the value of 'moduleName' is
sufficient.

^KT-54312 Verification Pending
2022-10-27 09:13:16 +00:00
Sebastian Sellmair 18392d98ea [Gradle] Update API references
KT-54312
2022-10-27 09:13:09 +00:00
sebastian.sellmair c332c928fc [Gradle][MPP] Refine naming for KotlinTargetHierarchyBuilder
^KT-53570 Verification Pending
2022-10-24 14:34:49 +00:00
Sebastian Sellmair da8a18920d [Gradle][MPP] Mark KotlinTargetsContainer and KotlinTargetHierarchyBuilder with KotlinTargetsDsl annotation
To prevent confusing shortcuts defined on `KotlinTargetsContainer`
when declaring a KotlinTargetHierarchy:

e.g.

```kotlin
kotlin {
    targetHierarchy.default {
        common {
            ios() // <- [DSL_SCOPE_VIOLATION]
            //'fun ios(): Unit' can't be called in this context
            // by implicit receiver. Use the explicit one if necessary
        }
    }
 }
```

^KT-53570 Verification Pending
2022-10-24 14:34:48 +00:00
Sebastian Sellmair e84dac45d7 [Gradle][MPP] Update kotlin-gradle-plugin-api api reference
^KT-53570 Verification Pending
2022-10-24 14:34:48 +00:00
Sebastian Sellmair 1823e0fad4 [Gradle][MPP] KotlinTargetHierarchyBuilderImpl: only build child groups if explicitly included
^KT-53570 Verification Pending
2022-10-24 14:34:47 +00:00
Sebastian Sellmair c5d6162578 [Gradle][MPP] Implement initial KotlinTargetHierarchy APIs
^KT-53570 Verification Pending
2022-10-24 14:34:46 +00:00
Ilya Goncharov 1f703843a8 [Gradle, JS] Fix Gradle Plugin API 2022-10-18 14:01:27 +00:00
Sergej Jaskiewicz 227864c6ec [JS IR] Add a compiler option for generating name entries in sourcemaps 2022-10-14 10:09:39 +00:00
Yahor Berdnikau 023b9bf284 Align new compiler options names with api naming
Use Kotlin*CompilerOptions or Kotlin*CompilerToolOptions naming approach.

^KT-54306 Fixed
2022-10-13 12:19:08 +00:00
Alexander Udalov ba150ca370 Add JVM target bytecode version 19
Test data in `box/annotations/typeAnnotations` is changed because nested
classes in type annotations are rendered differently in JDK 19
(`Outer.Nested` instead of `Outer$Nested`).

 #KT-54116 Fixed
2022-09-22 21:56:10 +02:00
Pavel Mikhailovskii f8fd23e373 KT-8575 Add tests and disable reflection for Java synthetic property references 2022-09-22 13:33:28 +00:00
Yahor Berdnikau cc5f65be1e Update KGP-api binary compatibility with removed JvmTarget.JVM_1_6 2022-09-21 17:01:35 +02:00
Ilya Goncharov f450b9397e [Gradle, JS] Fix testData for kotlin-gradle-plugin-api 2022-09-21 10:58:27 +00:00
Ilya Gorbunov 57c9d61291 ComparableTimeMark and specialized TimeSource KT-54082
- Introduce ComparableTimeMark interface extending TimeMark,
and TimeSource.WithComparableMarks - a time source that returns such time marks.
- Implement ComparableTimeMark in ValueTimeMark and AbstractLong/DoubleTimeMark classes.
2022-09-19 19:16:40 +00:00
Sebastian Sellmair 60c969fe06 [Gradle] Replace previous kgp Internal and Experimental annotations
^KT-54029 Verification Pending
2022-09-19 16:03:45 +00:00
Sebastian Sellmair c2b48e2790 [Gradle] Add k.g.p-api and k.g.p.-annotations modules to binary compatibility validation
^KT-54029 Verification Pending
2022-09-19 16:03:45 +00:00
Abduqodiri Qurbonzoda 90189f9c39 Provide Path.copyToRecursively() and Path.deleteRecursively() #KT-52928 2022-09-18 22:49:01 +00:00
Ilya Gorbunov 1b6a462057 Move contents of stdlib-jdk7/8 into stdlib
#KT-51907
2022-09-15 15:38:32 +00:00
Alexander Udalov b158ece232 Tweak module exclusion filter for -Xjvm-default=all
- Remove obsolete exclusion of core & stdlib modules, since they are now
  compiled with JVM target 1.8, but leave `:core:descriptors` because of
  an issue in Proguard.
- Remove binary-compatibility-validator and update test data instead.
- Replace some "contains" checks with equality for clarity.
- Remove modules from -Werror filter which no longer use the deprecated
  compatibility mode.
2022-09-14 14:40:39 +02:00
Abduqodiri Qurbonzoda 4e1cb12024 Remove deprecated Experimental and UseExperimental annotation classes #KT-53864 2022-09-13 17:19:01 +03:00