Commit Graph

288 Commits

Author SHA1 Message Date
Abduqodiri Qurbonzoda 1314adb6f7 Locale-agnostic case conversions by default #KT-43023 2020-12-30 10:08:25 +03:00
Ilya Gorbunov 28168bf230 Correctly implement specialized MutableEntrySet.contains KT-41278
This is a workaround for the problem KT-43321.

Introduce an intermediate abstract set specialized for Map.Entry elements
and implement 'contains(Map.Entry)' method there.

Then inherit that intermediate set in entrysets of JS HashMap,
JS LinkedHashMap, JVM MapBuilder, that are specialized for
MutableMap.MutableEntry elements, so that no override of 'contains' is
required anymore.

This allows to avoid incorrect special 'contains' bridge being generated
that otherwise rejects all arguments except ones of MutableEntry type.
2020-12-14 12:42:47 +03:00
Ilya Gorbunov 149bcc2d22 Revert using regex Pattern in String.replace
Use String.indexOf(..., ignoreCase) instead in all branches to preserve
compatibility with behavior before 1.4.20 that used String.split which
essentially relied on that String.indexOf

#KT-43745 Fixed
2020-12-04 17:43:54 +03:00
Ilya Gorbunov 66f5c98505 Deprecate createTempFile/createTempDir functions
Document their potential permission problems.
Suppress this deprecation in tests.
2020-11-10 18:25:48 +03:00
Alexander Udalov d9efc2d922 Fix warnings in compiler code and tests 2020-11-09 19:46:10 +01:00
Uzi Landsmann f48f7c6dca Added samples for the kotlin.system package (measureTime* functions)
Co-authored-by: Ilya Gorbunov <ilya.gorbunov@jetbrains.com>
2020-10-30 03:35:15 +03:00
Abduqodiri Qurbonzoda 2fd7d64db0 Promote CancellationException to stable #KT-41837 2020-10-27 05:06:50 +03:00
Ilya Gorbunov fafb4a7914 Use regex for case-insensitive String.replace
KT-41799
2020-10-02 00:29:26 +03:00
Francesco Vasco 4a0109cf44 Use StringBuilder in String.replace (2x faster)
KT-41799
2020-10-02 00:28:53 +03:00
Alexander Udalov da6d904c6e Suppress code warnings in kotlin-stdlib 2020-08-20 20:30:34 +02:00
Alexander Udalov 9b94e073af Fix warnings related to OptIn/UseExperimental 2020-08-17 21:18:19 +02:00
Valeriy.Vyrva 30ff886754 Improve docs for createTempDir/createTempFile
#KT-35218
2020-08-10 17:29:25 +03:00
Dat Trieu 1009a240f2 KT-20357: Add samples for filter functions 2020-08-06 23:41:12 +03:00
Ilya Gorbunov 99eb7f391b Fix doc wording around covariance/invariance 2020-08-04 00:33:05 +03:00
Abduqodiri Qurbonzoda d2c9fc41f1 Replace @LowPriorityInOverloadResolution with @DeprecatedSinceKotlin #KT-37101 2020-07-15 20:36:57 +03:00
Ilya Gorbunov 1a32fdf6d7 Add EXACTLY_ONCE contract to functions that call their lambda parameter once
KT-35972
2020-07-10 01:05:16 +03:00
Vsevolod Tolstopyatov 3270c7e016 Introduce CancellationException
#KT-39126 Fixed
2020-07-02 11:01:28 +03:00
Ilya Gorbunov 33150a0809 KT-38817 capitalize uses title case for the first char where available
This unifies its behavior with new capitalize overload with Locale.

Co-authored-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com>
2020-06-24 16:45:09 +03:00
Ilya Gorbunov 9e2f95233c Promote capitalize/decapitalize with Locale to stable
Relates to KT-28933
2020-06-24 16:45:08 +03:00
Mikhail Bogdanov 477cca3c99 Add JvmDefaultWithoutCompatibility annotation 2020-06-19 11:57:35 +02:00
Abduqodiri Qurbonzoda 97c688057d Compare floating point values asList elements in total order #KT-28753 2020-06-19 08:39:47 +03:00
Alexander Udalov 2be94d9d2f Fix compilation of stdlib when JDK_16 points to JDK 8+ 2020-06-17 19:46:18 +02:00
Ilya Gorbunov 41131e46d7 Shadow addSuppressed member with an extension
#KT-38777
2020-06-17 19:45:15 +03:00
Alexander Udalov 9e37b62f62 Support KType.javaType in stdlib
#KT-32241 Fixed
2020-06-17 18:33:08 +02:00
Abduqodiri Qurbonzoda 46297645a4 Promote String <-> utf8 and CharArray conversions to stable 2020-06-05 18:41:06 +03:00
Dmitry Petrov de25359a90 Fix stdlib compilation after updated @JvmName check
Previously, extension receiver type was not taken into account when
checking for @JvmName annotation applicability to possibly mangled
functions (such functions, however, were mangled).
This bug was fixed, but, unfortunately, not before such functions were
added to stdlib ('sumOf' family).
2020-06-04 12:16:28 +03:00
Valeriy.Vyrva c023a02884 Create SortedMap with Comparator and items
KT-34142
2020-06-04 02:04:22 +03:00
Ilya Gorbunov e2c3455445 Document NaN propagation in top-level minOf/maxOf functions 2020-06-02 19:01:44 +03:00
Ilya Gorbunov 6a24becd1d Introduce sumOf with various selector types
#KT-11253
2020-06-02 19:01:43 +03:00
Abduqodiri Qurbonzoda 30037682f8 Revert "Promote String <-> utf8 and CharArray conversions to stable"
This reverts commit aba97033
2020-06-01 23:30:55 +03:00
Abduqodiri Qurbonzoda aba97033f0 Promote String <-> utf8 and CharArray conversions to stable 2020-06-01 22:47:01 +03:00
Abduqodiri Qurbonzoda f6a739bbc5 Promote bit query api to stable 2020-06-01 22:18:55 +03:00
Abduqodiri Qurbonzoda e05eeea6cd Promote common StringBuilder to stable 2020-06-01 22:00:34 +03:00
Roman Elizarov 46b426ef77 KT-31741: stdlib: DeepRecursiveFunction (#3398)
Introduces experimental coroutines-based framework to execute deeply recursive functions that utilities the heap and thus avoid StackOverflowError.
2020-05-27 10:06:00 +03:00
Ilya Gorbunov dae7a23998 Clarify docs of CharSequence.split(Pattern, limit)
Emphasize differences from Pattern.split(CharSequence, limit).

#KT-39023 Fixed
2020-05-23 22:25:54 +03:00
Abduqodiri Qurbonzoda f3145454f2 Decommonize collection builder implementations 2020-05-23 03:40:44 +03:00
Ilya Gorbunov d37c412f76 Suppress a couple more warnings 2020-05-19 19:24:00 +03:00
Alexander Udalov 82551e91a4 Add KClass.isFun modifier to reflection
#KT-38881 Fixed
2020-05-14 14:05:51 +02:00
Abduqodiri Qurbonzoda 0c7b04a495 Document fromIndex and toIndex parameters #KT-38388 2020-05-09 23:34:03 +03:00
Mikhail Bogdanov 4f7599076c Postpone JvmDefault deprecation. Revert "Deprecate @JvmDefault"
This reverts commit c11f3868
2020-05-04 10:02:16 +02:00
Abduqodiri Qurbonzoda 2307692064 Remove String.format with non-null locale
Introducing new overloads with @SinceKotlin(1.4) annotation
and marking the old ones @LowPriorityInOverloadResolution breaks
all code that uses the format(locale, args) overload with
-api-version 1.3. Because the low priority of the non-1.4 version makes
format(args) preferable in all cases.
For example, "%02X".format(Locale.ROOT, 1) throws
IllegalFormatConversionException: x != java.util.Locale.
2020-04-24 18:00:37 +03:00
Abduqodiri Qurbonzoda d6472aa700 Reverse range and sortDescending range #KT-36955 2020-04-20 22:06:28 +03:00
Abduqodiri Qurbonzoda 08ff52bee4 Introduce StringBuilder.appendLine in stdlib-common #KT-37839 2020-04-13 14:27:53 +03:00
Ilya Gorbunov 38b1e6beab Make Throwable.printStackTrace() common
#KT-38044
2020-04-13 09:32:42 +03:00
Ilya Gorbunov 408b441a71 Rename extension toStringWithTrace to stackTraceToString
#KT-37603
2020-04-13 09:32:42 +03:00
Ilya Gorbunov 552bcdb31b Introduce Throwable.toStringWithTrace
#KT-37603
2020-04-13 09:32:41 +03:00
Ilya Gorbunov 7b7263c5bf Implement common Throwable.addSuppressed/suppressed extensions
Instead of `suppressed` Array we provide `suppressedExceptions` List

#KT-23737
2020-04-13 09:32:41 +03:00
Ilya Gorbunov 15319eb88e Implement in-place shuffle for arrays
Minor: reorder shuffle/shuffled extensions more consistently

#KT-25651 Fixed
2020-04-10 11:04:51 +03:00
Mikhail Bogdanov 0ddef7e4e4 Add new options for '-Xjvm-default' 2020-04-09 07:37:33 +02:00
Mikhail Bogdanov c11f38688e Deprecate @JvmDefault 2020-04-09 07:37:31 +02:00