Ilya Gorbunov
40b5a7d449
Provide infix compareTo extension for Comparable<T> #KT-46423
2021-09-22 15:56:27 +00:00
Abduqodiri Qurbonzoda
bde055fe5c
Advance deprecation level of Float/DoubleArray contains, indexOf, lastIndexOf to ERROR #KT-28753
2021-09-16 19:38:40 +03:00
Alexander Udalov
3bc0eaff59
Fix warnings in stdlib samples and test modules
2021-08-10 17:57:50 +02:00
Abduqodiri Qurbonzoda
47aa04d55d
Test fix: java6 doesn't throw on invalid AbstractMutableList.addAll index
...
If the collection of elements to be added is empty, java6 implementation
of AbstractMutableList.addAll doesn't throw on invalid index.
The failing test was introduced in 59031543e2
which fixed #KT-47211.
2021-06-28 13:58:41 +00:00
Abduqodiri Qurbonzoda
59031543e2
Throw on invalid AbstractMutableList.addAll index #KT-47211
2021-06-16 11:59:46 +00:00
Ilya Gorbunov
ed3542cdf5
Support covariant MutableMap.entries.remove in JS/IR
...
Workaround for KT-43321
Follow up to KT-41278
2021-04-26 17:45:27 +03:00
Alexander Udalov
168d8b07a8
Minor, fix warnings on new stdlib API
...
In modules where allWarningsAsErrors is not yet enabled.
2021-04-15 18:39:06 +02:00
Abduqodiri Qurbonzoda
33b44585c4
Deprecate sumBy and sumByDouble with WARNING
2021-04-08 03:48:01 +03:00
Ilya Gorbunov
b64b96eee6
Deprecate Char-to-Number conversions in stdlib (JVM and JS)
...
- Int.toChar was left non-deprecated because the replacement is not intrinsic yet.
- Number.toChar was left non-deprecated because otherwise the deprecation propagates to the override, Int.toChar.
KT-23451
2021-04-07 18:30:20 +03:00
Abduqodiri Qurbonzoda
ff5b2404af
Introduce firstNotNullOf and firstNotNullOfOrNull #KT-12109
2021-03-12 09:27:14 +03:00
Abduqodiri Qurbonzoda
421cb6971d
Optimized toArray method for ArrayDeque and ListBuilder #KT-42720
2021-03-06 11:14:50 +03:00
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
Alexander Udalov
ae9c1af883
Do not use erroneous unsigned/signed comparison in UnsignedArraysTest
...
The error SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED is suppressed in this
file, and JVM IR is not able to generate comparisons of UInt and Long
(KT-41780).
2020-09-10 19:27:09 +02:00
Ilya Gorbunov
130987fa1e
Provide flatMapIndexed operation
...
- similar to flatMap, but transform function takes index and element
#KT-36894
2020-06-19 17:55:15 +03:00
Abduqodiri Qurbonzoda
c923b2e139
Deprecate contains, indexOf, lastIndexOf functions of Float/DoubleArray #KT-28753
2020-06-19 08:39:47 +03:00
Abduqodiri Qurbonzoda
97c688057d
Compare floating point values asList elements in total order #KT-28753
2020-06-19 08:39:47 +03:00
Abduqodiri Qurbonzoda
16b62b8e65
Introduce minWithOrNull and maxWithOrNull extension functions #KT-38854
2020-06-19 04:53:53 +03:00
Abduqodiri Qurbonzoda
194791a168
Introduce minByOrNull and maxByOrNull extension functions #KT-38854
2020-06-19 04:53:51 +03:00
Abduqodiri Qurbonzoda
846a7823ad
Introduce minOrNull and maxOrNull extension functions #KT-39064
2020-06-19 04:53:49 +03:00
Abduqodiri Qurbonzoda
820353ee0e
Promote scanReduce deprecation level to error
2020-06-07 10:05:40 +03:00
Ilya Gorbunov
d19f9ee0c5
Simplify min/max implementation
2020-06-02 19:01:44 +03:00
Ilya Gorbunov
b4ba00ca36
Document and test NaN propagation of maxOf/minOf
...
Also simplify minOf/maxOf implementations
#KT-38708
2020-06-02 19:01:44 +03:00
Ilya Gorbunov
7b68de38e1
Introduce minOf/maxOf, minOfWith/maxOfWith and their OrNull variants
...
#KT-38708 Fixed
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
Ilya Gorbunov
bdd53ee9cd
Introduce new overloads of flatMap and flatMapTo
...
- Sequence<T>.flatMap((T) -> Iterable<R>)
- Iterable<T>.flatMap((T) -> Sequence<R>)
- Array<T>.flatMap((T) -> Sequence<R>)
- Map.flatMap((Entry) -> Sequence<R>)
KT-34506
2020-06-02 19:01:43 +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
Ilya Gorbunov
bf21e1282a
Suppress most of unused parameter warnings
2020-05-19 19:24:00 +03:00
Abduqodiri Qurbonzoda
0c7b04a495
Document fromIndex and toIndex parameters #KT-38388
2020-05-09 23:34:03 +03:00
Abduqodiri Qurbonzoda
ec166db506
Implement collection builders
2020-04-30 02:28:41 +03:00
Abduqodiri Qurbonzoda
d6472aa700
Reverse range and sortDescending range #KT-36955
2020-04-20 22:06:28 +03:00
Ilya Gorbunov
893021f22b
Introduce runningFold and runningReduce operations
...
runningFold is a synonym for scan,
runningReduce replaces scanReduce.
#KT-38060
2020-04-15 23:28:07 +03:00
Abduqodiri Qurbonzoda
4a7b1b210a
Add onEachIndexed similar to forEachIndexed #KT-37161
2020-04-11 03:47:47 +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
Ilya Gorbunov
e58f1c8932
Introduce Sequence.shuffled
...
#KT-37751
2020-04-10 10:59:40 +03:00
Abduqodiri Qurbonzoda
508d0edd6d
Add the onEach extension function to the Array #KT-28290
2020-04-07 05:34:20 +03:00
Abduqodiri Qurbonzoda
b1fac4e721
Implement reduceIndexedOrNull and reduceRightIndexedOrNull #KT-36866
2020-03-12 18:08:55 +03:00
Abduqodiri Qurbonzoda
b60633d79a
Add associateWith to Array<T> #KT-30372
2020-03-12 18:06:54 +03:00
Abduqodiri Qurbonzoda
e632d58936
Nullable Array.contentEquals/contentHashCode/contentToString #KT-34161
2020-03-12 18:01:23 +03:00
Abduqodiri Qurbonzoda
ce8e511b79
Add setOfNotNull function #KT-35851
2020-02-18 02:33:59 +03:00
Abduqodiri Qurbonzoda
ed7b8e9b85
Scan functions for Sequences and Iterable #KT-7657
2020-02-13 04:01:47 +03:00
Ilya Gorbunov
14351446d7
KT-15363 Fix failing test: missing capacity parameter check in JS
...
Partially restore JVM map capacity implementation
2020-01-24 15:28:18 +03:00
Ilya Gorbunov
4aa7d45a5a
KT-15363 Collection builders: improve tests and samples
2020-01-24 15:28:17 +03:00
Fleshgrinder
bf9d3d87a6
KT-15363 Collection Builders
...
Added container builders for lists, sets, and maps.
The new experimental type inference only works for the simple builders
with a single generic type. The versions with nullability and the maps
still require explicit specification of the types. Obviously explicit
specification is required for all users who are not using the new
experimental inference. Improving the type inference is something that
should be done separately and many things – including these builders –
will benefit from it, however, this is not a blocker for these builders
in my opinion.
2020-01-24 15:28:17 +03:00
Abduqodiri Qurbonzoda
e89893b6fd
Optimize ArrayDeque tests run time
2020-01-24 05:52:18 +03:00
Ilya Gorbunov
8733d5f9ed
ArrayDeque: avoid triggering JDK 1.6 bug in tests
...
Use System.arraycopy instead of Arrays.copyOfRange to
avoid triggering JDK-7174363 bug in copyOfRange.
Fix package of ArrayDequeTest
2020-01-24 01:39:48 +03:00
Abduqodiri Qurbonzoda
1203df7405
Deprecate floating point to integral types lesser than Int #KT-30360
2020-01-22 23:27:35 +03:00
Abduqodiri Qurbonzoda
e459542e6f
Add removeFirst(OrNull) and removeLast(OrNull) methods to MutableList
2020-01-22 23:22:28 +03:00
Abduqodiri Qurbonzoda
b6849efd47
Common ArrayDeque
2020-01-22 23:22:21 +03:00