Commit Graph

471 Commits

Author SHA1 Message Date
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
Alexander Udalov 87d3ce6ded Write a copy of SMAP to a new annotation
To make it available for dynamically attached JVMTI agents.

`@SourceDebugExtension` annotation value is equal to the
SourceDebugExtension attribute value, which is checked now for all box
tests. The difference is that the annotation stored in the constant
pool, which is available for dynamically attached JVMTI agents.

 #KT-53438 Fixed
2022-09-09 14:32:35 +02:00
Ilya Gorbunov 12d3ef41dc Use older JDK toolchains for compiling stdlib and stdlib-jdk7
To prevent using newer JDK API in kotlin sources of these projects.
Note that java sources (of stdlib mainly) are still compiled with JDK 8.

#KT-51907
2022-09-01 16:52:36 +00:00
Vsevolod Tolstopyatov 5054e301be [stdlib] Improve EnumEntries
* Provide short-circuit methods for contract "EnumEntries contains all
  enum entries"
* Make EnumEntries serializable
* Introduce more convenient overload for other backends

#KT-53152


Merge-request: KT-MR-6867
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
2022-08-22 16:50:28 +00:00
Rick Clephas 6ae517a2df [Native] Add HiddenFromObjC and ShouldRefineInSwift annotations 2022-08-22 16:10:44 +02:00
Abduqodiri Qurbonzoda 34e50649e8 Switch JVM target of the standard libraries to 1.8 #KT-51907 2022-08-13 01:33:45 +03:00
Mikhail Glukhikh 66e710704a Protect SubclassOptInRequired with opt-in marker 2022-08-11 14:05:09 +00:00
Mikhail Glukhikh 3f96626b40 Introduce SubclassOptInRequired annotation (see KT-41886) 2022-08-11 14:05:06 +00:00
Rick Clephas 5a5e6ad8cd [K/N] Add ObjCName annotation (#4815) 2022-07-23 18:58:06 +02:00
Pavel Mikhailovskii 846537b367 KT-45375 Lightweight lambdas; KT-52817 introduce @JvmSerializableLambda 2022-07-18 17:10:07 +02:00
Vsevolod Tolstopyatov 59ac756f22 Initial implementation of EnumEntries
KT-53152


Merge-request: KT-MR-6656
Merged-by: Vsevolod Tolstopyatov <vsevolod.tolstopyatov@jetbrains.com>
2022-07-15 14:26:50 +00:00
Ilya Gorbunov d825af7a22 Switch language version in Kotlin project to 1.8
Use kotlinx-metadata-jvm:0.5.0 that supports reading 1.8.0 kotlin metadata version
2022-07-01 13:04:03 +00:00
Abduqodiri Qurbonzoda 78666e3ecb Provide visit extension functions for java.nio.file.Path #KT-52910 2022-06-28 00:52:43 +00:00
Abduqodiri Qurbonzoda e7b37b3497 Implement a walk extension function for java.nio.file.Path #KT-52909 2022-06-28 00:52:42 +00:00
Ilya Gorbunov 7e5abdb1c0 Update API dumps for open ranges and their operations
#KT-52932
2022-06-28 00:08:10 +00:00
sebastian.sellmair 600b0d7b81 [kpm] kgp-idea-proto: Remove protobuf types from public API surface
^KT-52568 Verification Pending
2022-06-17 22:27:15 +00:00