Commit Graph
100 Commits
Author SHA1 Message Date
Ilya Gorbunov 568d4b11af Use 'run' function instead of 'synchronized' in KT-51036 test
It should be enough to reproduce the issue and makes the test runnable on all backends
2023-05-04 02:44:26 +00:00
Ilya Gorbunov b35b727d73 KT-53778 Remove experimental annotations from open ranges 2023-04-28 17:12:15 +00:00
Ilya Gorbunov 9953991c4c Include WasExperimental into builtins serialization
It is required for stabilizing previously experimental
builtin functions and classes (KT-53778)
in order to mark them WasExperimental,
so that they are available for previously opted in users
2023-04-28 17:12:15 +00:00
Ilya Gorbunov f470406150 Update EXPECTED_REACHABLE_NODES in JS testdata 2023-04-26 15:50:58 +00:00
Ilya Gorbunov 2100f08655 Make subarrayContentToString internal 2023-04-26 10:44:52 +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 f260b55810 Raise deprecation of js synchronized {} to error 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
Ilya Gorbunov ace2279631 Refactor helper function to run/not run block of common code on specific platform
Use it in StringBuilder tests
2023-04-25 13:55:04 +00:00
Ilya Gorbunov 454e963aa7 StringBuilder capacity test: fixup deprecation suppression 2023-04-25 13:55:04 +00:00
Ilya Gorbunov 6dc2960b77 Relax back an assertion in testLongAdjustmentElapsedPrecision
Reverts the assertion strictening happened in commit 1014434475
2023-04-25 13:54:39 +00:00
Ilya Gorbunov 36cb94c158 Update Dokka to 1.8.20-dev-213 2023-04-19 10:28:07 +00:00
Ilya Gorbunov 0c1afcac67 KT-58046 Wrap hrtime array reading into a class
To achieve nice toString and proper equals/hashCode semantics of ValueTimeMark
2023-04-18 15:25:31 +00:00
Ilya Gorbunov 1014434475 KT-58046 Use saturated math in LongTimeMark implementation
- keep offset in range (-1..+1) of time source units
- when adding big or infinite offset, saturate startedAt instead
- displace initial reading to zero, similar to MonotonicTimeSource
- fix the zero reading in TestTimeSource by calling markNow in constructor
- use more precise reading adjustment in TestTimeSource for big durations
- add a note about comparable time marks for AbstractLongTimeSource and TestTimeSource
2023-04-18 15:25:31 +00:00
Ilya Gorbunov 7a6947ad35 KT-58046 Generalize saturating duration math to arbitrary units 2023-04-18 15:25:31 +00:00
Ilya Gorbunov 17d977977c KT-58058 Duration truncation internal helper function 2023-04-18 15:25:30 +00:00
Ilya Gorbunov f8d001c21f KT-57298 createParentDirectories: handle already existing directory symlink 2023-04-08 15:21:12 +00:00
Ilya Gorbunov 912b65060e KT-55610 Deprecate k.j.Volatile annotation in Common and JS
Use k.c.Volatile in common AbstractMap instead
2023-04-08 15:07:56 +00:00
Ilya Gorbunov b8da3e69ce KT-55268 Make k.c.Volatile stable 2023-04-08 15:07:56 +00:00
Ilya Gorbunov 2dbff89098 Split tests for MutableList.shuffle and Iterable.shuffled 2023-04-08 14:47:30 +00:00
Ilya Gorbunov f13e127b0f KT-57607 Add test for MutableList.addAll at index
Also improve other operations test coverage
2023-04-08 14:47:30 +00:00
Ilya Gorbunov 9892a49c4b KT-54452 Use js-ir sources for building stdlib-js sources.jar and API docs 2023-03-22 05:57:14 +00:00
Ilya Gorbunov 9a7468254d Do not add duplicate content roots to kotlin-dom-api-compat during IDEA sync
Otherwise, stdlib-js source roots are not recognized in the IDE
2023-03-16 18:58:56 +00:00
Ilya Gorbunov 3b97bfb426 Extract kotlinLanguageVersion to gradle.properties
Read it when building docs in order to keep
docs version filter/language analyzer version in sync with
the language version used to compile libraries.
2023-03-07 17:55:23 +00:00
Ilya Gorbunov 28ae0c1649 docs build: allow to specify custom dokka repository
- centralize repository management in settings.gradle.kts
- allow to specify dokka repository with a gradle property
- automatically add mavenLocal for -local dokka versions
- specify kotlin version for building plugins in one place
2023-03-07 17:55:23 +00:00
Ilya Gorbunov 93650dcada docs build: move parameter initialization to the parent project
in order to avoid evaluationDependsOn dependency
2023-03-07 17:55:23 +00:00
Ilya Gorbunov e627356aea docs: cleanup remaining previous version specializations 2023-03-07 17:55:22 +00:00
Ilya Gorbunov d2dc23d8bb Introduce Path.createParentDirectories function #KT-53263 2023-02-27 20:36:21 +00:00
Ilya Gorbunov 69b90e107c Fix missing native-wasm source set in legacy docs build 2023-02-22 23:52:43 +00:00
Ilya Gorbunov 5a2d557839 docs: specialize build for latest version
- leave only the latest version in versions list
- remove conditions for previous versions
- merge JVM7/8 source sets into JVM
2023-02-22 23:52:43 +00:00
Ilya Gorbunov ba6732ac17 Render kotlin-reflect library documentation in a separate module 2023-02-22 23:52:42 +00:00
Ilya Gorbunov d695b0eac4 Setup multi-module docs build task 2023-02-22 23:52:42 +00:00
Ilya Gorbunov 6236a1fe64 Determine snapshot version automatically from root gradle.properties 2023-02-22 23:52:42 +00:00
Ilya Gorbunov e3cfed8ced Allow to specify target and templates directory with Gradle properties 2023-02-22 23:52:41 +00:00
Ilya Gorbunov 6d3ddb999f Migrate to Gradle KTS, step 3: extract more common extension helpers 2023-02-22 23:52:41 +00:00
Ilya Gorbunov 65dbc1c98a Migrate to Gradle KTS, step 2: fix syntax 2023-02-22 23:52:41 +00:00
Ilya Gorbunov 63eaf3f86f Migrate to Gradle KTS, step 1: rename 2023-02-22 23:52:40 +00:00
Ilya Gorbunov ef02b47348 Update Dokka to 1.8.0-dev-195
- Build dokka plugins with Kotlin 1.8 (required to compile with Dokka 1.8)
2023-02-22 23:52:40 +00:00
Ilya Gorbunov e8139043b2 Remove workaround for removing SinceKotlin from enums
No longer needed with the modern Dokka
2023-02-22 23:52:40 +00:00
Ilya Gorbunov 95f21075fe Inline project with kotlin-native path settings 2023-02-22 23:52:40 +00:00
Ilya Gorbunov 2cfbbb185d Change docs artifacts directory layout for easier publishing
Change module names of libraries to be consistent
2023-02-22 23:52:39 +00:00
Ilya Gorbunov e105d11a2b Documentation source sets configuration tuning
- consistent naming of source sets
- register JDK7/8 docs source sets only since 1.2
- source set dependencies in kotlin-test module
- classpath tuning
  - Enumerate classpath jars in library directories:
    compiler can't use just directory as a classpath
  - No need to pass classpaths for stdlib docs build:
    it's analyzed from sources and doesn't have other dependencies
2023-02-22 23:52:39 +00:00
Ilya Gorbunov fbe1aff961 Extract repeating parts of configuration 2023-02-22 23:52:38 +00:00
Ilya Gorbunov e94ca37bd6 Rectify docs task dependencies
Introduce kotlin-test->stdlib doc task dependency due to package-list and fix package-list local path
2023-02-22 23:52:38 +00:00
Ilya Gorbunov 9bceb6cd0a Move/copy legacy docs build to a separate directory 2023-02-22 23:52:37 +00:00
Ilya Gorbunov 3d05565b99 Remove tasks for zipping compiler testdata and stdlib test sources 2023-02-14 23:37:32 +00:00
Ilya Gorbunov 61e9f98b9f Load JDK 8 platform implementations class without reflection
Also remove search for other platform implementation classes because
now the first match should be found in the same jar

Helps to avoid GraalVM related reflection problems in KT-51579
2023-02-13 20:25:30 +00:00
Ilya Gorbunov b558382f17 Cleanup unneeded options in kotlin-stdlib-jdk7/8 compilations 2023-01-26 20:57:00 +00:00
Ilya Gorbunov 5a4eb22961 Move isolated addSuppressed extension test to jvm tests
Conditions for being isolated do not hold anymore:
it tested that addSuppressed extension could work without kotlin-stdlib-jdk7,
but now the latter is merged to kotlin-stdlib and thus always present

#KT-51907
2023-01-26 20:57:00 +00:00
Ilya Gorbunov 8b68234528 Include all jvm stdlib tests into kotlin-stdlib project test
JVM stdlib tests are compiled against JDK 8 so there's no need to divide them by modules anymore

#KT-51907
2023-01-26 20:57:00 +00:00
Ilya Gorbunov 72ced53833 Fix dependencies between stdlib main source sets KT-51907
Otherwise mainJdk7/8 source sets don't see symbols from main when imported to IDEA
2023-01-26 20:56:59 +00:00
Ilya Gorbunov 916f733f73 Make k.c.Volatile since 1.9 in JVM and Common KT-55268, KT-55609
Leave it experimental since 1.8 for K/Native.
2023-01-04 17:28:46 +00:00
Ilya Gorbunov e2d96da396 Introduce experimental kotlin.concurrent.Volatile annotation KT-55268, KT-55609
Use this annotation in tests to ensure it works the same at least on JVM
2022-12-23 19:07:30 +01:00
Ilya Gorbunov b6e6ca7c96 Deprecate Synchronized annotation in common and JS #KT-55344 2022-12-22 21:22:44 +00:00
Ilya Gorbunov 7dd907342e Document the nature of natural order KT-54168 2022-11-25 14:09:10 +00:00
Ilya Gorbunov 0d0cc9250b Note about all() result on empty collections KT-54835 2022-11-25 14:09:09 +00:00
Ilya Gorbunov 77e03bb769 Minor fixes in math docs 2022-11-25 14:09:09 +00:00
Ilya Gorbunov b8728c18cb Fix Optional.asSequence docs 2022-11-25 14:09:09 +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
Ilya Gorbunov 607f15b55b Sycnhronize docs of primitives in JS-IR, Wasm, Native sources 2022-10-02 19:04:37 +00:00
Ilya Gorbunov 34de2d9155 Trim trailing spaces in generated docs of builtins 2022-10-02 19:04:36 +00:00
Ilya Gorbunov e35ace5d3a Deprecate AbstractDoubleTimeSource
There are too few usages of it, and it can be mostly replaced with AbstractLongTimeSource.
2022-09-19 19:16:40 +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
Ilya Gorbunov 75e1effbc5 Make Optional extensions stable since 1.8
KT-51907, KT-53277
2022-09-17 22:52:46 +00:00
Ilya Gorbunov b76854eddf Simplify signatures of Optional extensions getOrDefault and getOrElse
Two generic types are not need to cover the same use cases.

KT-50484
2022-09-17 22:52:46 +00:00
Ilya Gorbunov 0251d432e9 Do not commit to vcs protoeditor.xml settings 2022-09-17 15:21:50 +00:00
Ilya Gorbunov fe187b609f Temporary ignore dependencies test
KT-51907
2022-09-15 17:39:30 +02:00
Ilya Gorbunov 18e4d9e16c Deprecate modules of the empty artifacts to discourage their usage
#KT-51907
2022-09-15 15:38:33 +00:00
Ilya Gorbunov e51d25fb60 Fix test data: use also stdlib where stdlib-jdk8 was required
#KT-51907
2022-09-15 15:38:32 +00:00
Ilya Gorbunov 1b6a462057 Move contents of stdlib-jdk7/8 into stdlib
#KT-51907
2022-09-15 15:38:32 +00:00
Ilya Gorbunov b53a6beb61 Loosen the signature of declaringJavaClass to accept Enum<E> instead of E
KT-54005
2022-09-14 13:39:25 +00: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
Ilya Gorbunov 8b95257143 Reduce the chance shuffle produces an identical permutation in test (part 2) 2022-08-29 22:14:24 +02:00
Ilya Gorbunov 38099e11c3 Remove rangeUntil extensions that are now shadowed by members #KT-52933 2022-08-25 19:24:11 +00:00
Ilya Gorbunov 6aff3c6d07 Update misc test data after introducing rangeUntil member #KT-52933 2022-08-24 22:22:54 +00:00
Ilya Gorbunov baf7cbb3ac Add 'until' function for unsigned arguments to interpreter test helpers #KT-52933
Required to evaluate rangeUntil members of unsigned types.
2022-08-24 22:22:54 +00:00
Ilya Gorbunov 800ff20fc7 Exclude rangeUntil operation from constant evaluation and interpretation #KT-52933 2022-08-24 22:22:54 +00:00
Ilya Gorbunov bbe5dca33e Add rangeUntil to the list of not interpreted builtin members #KT-52933 2022-08-24 22:22:53 +00:00
Ilya Gorbunov 64a11c555f Suppress extension shadowing member for rangeUntil extensions #KT-52933
Until the next bootstrap where they can be removed entirely
2022-08-24 22:22:53 +00:00
Ilya Gorbunov 203a00151d rangeUntil member operator in builtins #KT-52933 2022-08-24 22:22:53 +00:00
Ilya Gorbunov ec9c862034 Minor cleanup: remove unused condition 2022-08-24 22:22:52 +00:00
Ilya Gorbunov 805fc747b9 Advance bootstrap to 1.8.0-dev-2023 2022-08-19 14:06:16 +00:00
Ilya Gorbunov 98ebad2d75 Implement JS-IR intrinsic for rangeUntil builtin member operator #KT-52933 2022-08-18 19:15:27 +00:00
Ilya Gorbunov cda90dbfa5 Implement JS-legacy intrinsic for rangeUntil builtin member operator #KT-52933 2022-08-18 19:15:26 +00:00
Ilya Gorbunov 66facac25b Implement JVM intrinsic for rangeUntil builtin member operator #KT-52933 2022-08-18 19:15:25 +00:00
Ilya Gorbunov 744896b571 Explicitly specify repository for resolving tested version of artifacts
Currently, it implicitly relies on the space bootstrap repository
which can be changed when using a different bootstrap method
(e.g. from TeamCity build or from locally deployed artifacts).
2022-08-17 13:46:49 +00:00
Ilya Gorbunov 5adfbfc73f Temporarily disable testng docs linking
Until https://github.com/cbeust/testng/issues/2789 is fixed
2022-08-11 10:42:27 +00:00
Ilya Gorbunov f91ea4b4d9 Add more tests for 'contains' in ranges #KT-52933
- ranges produced by 'rangeUntil' operator
- ranges of unsigned values
- more elements in ranges produced by `downTo`
2022-08-03 22:18:14 +00:00
Ilya Gorbunov a044555299 Do not run rangeUntil operator tests in old JVM BE #KT-52933 2022-08-03 22:18:12 +00:00
Ilya Gorbunov 5fc6097eb6 Mark backing fields of rarely used charsets volatile #KT-53134 2022-08-03 15:51:18 +00:00
Ilya Gorbunov 1addc23b23 Add range iteration tests for rangeUntil
#KT-52932
2022-07-26 23:52:10 +00:00
Ilya Gorbunov 721508f6dd Add several equality tests for empty open ranges 2022-07-26 18:42:30 +00:00
Ilya Gorbunov e5902e736d Account for potential delay inaccuracy in test
Sleep for slightly longer duration since the thread can be waked
a bit earlier than the specified amount of time.
2022-07-19 20:57:39 +00:00
Ilya Gorbunov 4e31f368d5 Add more info to a flaky assertion, increase wait duration 2022-07-19 20:57:39 +00:00
Ilya Gorbunov 3a029b8e80 Fix ValueTimeMark adjustment in rare cases and properly test it 2022-07-01 15:20:22 +00:00
Ilya Gorbunov 0546b0902c Fix line endings ruined after applying line filter
Line filtering causes output file have platform-specific line endings.
Apply another filter to fix them to LFs.
2022-07-01 13:16:11 +00:00
Ilya Gorbunov f422845b9c Test open FP ranges with NaN bound
#KT-52932
2022-07-01 13:11:42 +00:00
Ilya Gorbunov 73084e5a68 Add tests for endExclusive property
Now, after a bootstrap, it's possible to use it

#KT-52932
2022-07-01 13:11:42 +00:00