Ilya Gorbunov
04bbf23936
Add explicit imports of kotlin.ranges more specific functions
...
The extensions 'contains' and 'reversed' from kotlin.ranges can be more
specific for IntRange, LongRange, etc than the same functions from
kotlin.collections, yet they lose in overload resolution to the latter
ones when invoked from kotlin.collections package
because of same package package extensions are preferred (KT-30633).
2019-04-02 21:28:33 +03:00
Toshiaki Kameyama
4a3e4f099d
KT-30451 Redundant call of selector in maxBy&minBy
...
Refactor maxBy & minBy: do not call selector when collection has single item
2019-03-31 05:11:05 +03:00
Abduqodiri Qurbonzoda
35c6f09886
Implement coerce extension functions for unsigned types
2019-03-15 17:46:48 +03:00
Ilya Gorbunov
edc766af56
Document exception thrown for negative n in take/takeLast/drop/dropLast
...
#KT-29151
2019-03-13 17:58:19 +03:00
Abduqodiri Qurbonzoda
ba61695a45
Check for index-out-of-bound in elementAt function (KT-30051)
2019-03-12 21:39:09 +03:00
Ilya Gorbunov
42120b93b8
KT-29151 Provide specialized string samples for all drop/take functions
...
These include:
- take, takeLast, takeWhile, takeLastWhile,
- drop, dropLast, dropWhile, dropLastWhile
2019-03-11 19:30:59 +03:00
Burak Eregar
991e739693
KT-29151 Fix the problematic pages - CharSequence.take() & String.take()
2019-03-11 19:30:58 +03:00
Ilya Gorbunov
6ae5e91930
Move UArraysKt into kotlin.collections.unsigned package
...
Provide UArraysKt class in kotlin.collections for binary compatibility
instead of removed multipart facade class. It contains only non-inline
functions of the latter.
2019-03-08 23:35:40 +03:00
Abduqodiri Qurbonzoda
be6c2d8c7d
Implement min max minOf maxOf functions for unsigned types (KT-30035)
2019-03-08 23:34:36 +03:00
Abduqodiri Qurbonzoda
bf83f0e070
Implement contains extension functions for URanges (KT-26378)
2019-03-08 23:34:35 +03:00
Abduqodiri Qurbonzoda
cb587893c0
Implement sorting extension functions for UArrays
2019-03-08 23:34:35 +03:00
Abduqodiri Qurbonzoda
c42dbb34ca
Implement drop, take & filter extension functions for UArrays
2019-03-08 23:34:35 +03:00
Abduqodiri Qurbonzoda
abb275775e
Implement map, flatMap, zip & groupBy extension functions for UArrays
2019-03-08 23:34:35 +03:00
Abduqodiri Qurbonzoda
503264b996
Implement folding extension functions for UArrays
2019-03-08 23:34:35 +03:00
Abduqodiri Qurbonzoda
7695b5e575
Implement sum extension function for UArrays (KT-28779)
2019-03-08 23:34:34 +03:00
Abduqodiri Qurbonzoda
690e35f11a
Implement reduce, forEach, min & max extension functions for UArrays
2019-03-08 23:34:34 +03:00
Abduqodiri Qurbonzoda
fc85781bfc
Implement asList, slice & sliceArray extension functions for UArrays
2019-03-08 23:34:34 +03:00
Abduqodiri Qurbonzoda
114736c09b
Implement reversing extension functions for UArrays
2019-03-08 23:34:34 +03:00
Abduqodiri Qurbonzoda
92cd84682c
Implement first, last & single extension functions for UArrays
2019-03-08 23:34:34 +03:00
Abduqodiri Qurbonzoda
299fac8e2d
Implement conversion from typed array and collection to UArrays
2019-03-08 23:34:34 +03:00
Abduqodiri Qurbonzoda
bbaabb90e4
Implement any, all, none, count & sumBy functions for UArrays
2019-03-08 23:34:33 +03:00
Abduqodiri Qurbonzoda
512d986006
Implement index-requesting extension functions for UArrays
...
Contains implementations of `indexOf`, `lastIndexOf`, `indexOfFirst`,
`indexOfLast`, `lastIndex` and `indices` extension functions.
2019-03-08 23:34:33 +03:00
Abduqodiri Qurbonzoda
876dff6d22
Implement fill extension function for UArrays (KT-28339)
2019-03-08 23:34:33 +03:00
Abduqodiri Qurbonzoda
6b92190726
Implement component(N) functions for destructuring UArrays
2019-03-08 23:34:33 +03:00
Abduqodiri Qurbonzoda
550c74bb6b
Implement binarySearch method for UArrays (KT-27262)
2019-03-08 23:34:33 +03:00
Abduqodiri Qurbonzoda
6cd9858147
Specialize plus operator for UArrays (KT-28397)
2019-03-08 23:34:32 +03:00
Ilya Gorbunov
640699e076
Do not expose internal copyOfUninitializedElements and copyOfNulls
2019-02-28 23:44:00 +03:00
Ilya Gorbunov
2e9497f8f8
Rewrite copyOfUninitializedElements with templates without using copyRangeTo
2019-02-28 22:57:45 +03:00
Ilya Gorbunov
c1a51d44a4
Rewrite copyInto without using copyRangeTo
...
Rename array copying implementation to arrayCopy
2019-02-28 22:57:45 +03:00
Ilya Gorbunov
b8d9e896c2
Move sorting implementations for Native to kotlin.collections
...
- Move Array.sortWith to generated code
2019-02-28 22:57:45 +03:00
Svyatoslav Kuzmich
a5f537adc5
[JS IR BE] Implement *Array.plus(Collection<>) in typed Kotlin without dynamic helper
2019-01-24 23:05:56 +03:00
Ilya Gorbunov
0ac85ad715
Document that sorting is stable in each platform
...
#KT-12473 Fixed
2019-01-17 18:38:37 +03:00
Ilya Gorbunov
a26aa30714
Change implementations of contentEquals and minOf/maxOf for Native
...
To conform to the behavior in other platforms.
2019-01-11 21:49:19 +03:00
Ilya Gorbunov
a951805218
Refactor: introduce PrimitiveType.isFloatingPoint
2019-01-11 21:49:19 +03:00
Ilya Gorbunov
23950042f6
Clarify how elements of arrays are compared by contentEquals function
...
Add clarification only for the particular group of overloads including
arrays of object and floating point numbers.
#KT-22942 Fixed
2019-01-11 21:04:03 +03:00
Ilya Gorbunov
51eb21d44b
Provide stable sorting when JS engine sorting doesn't look stable
...
#KT-12473
2019-01-11 20:53:29 +03:00
Ilya Gorbunov
7c3c454654
Remove specialization of toTypedArray for LongArray and BooleanArray in JS
...
The default implementation for primitive arrays returns an array of correct type.
#KT-29187 Fixed
2019-01-11 20:53:29 +03:00
Ilya Gorbunov
743d0f4917
Refactor kotlin-stdlib-gen
...
- Make targetsToGenerate Collection to accept set in addition to list
- Unify generated file name schema to '_<source name><platform suffix>.kt'
2018-12-26 19:53:11 +03:00
Ilya Gorbunov
5584b435dc
Provide implementation templates for Native platform
2018-12-26 19:52:50 +03:00
Ilya Gorbunov
f05efd58de
Support Native target platform in kotlin-stdlib-gen
...
- Allow to select target platform and target directory to generate source for
- Put copyright profile to resources to have it in the resulting jar
- Output error for missing bodies, but do not stop generation on the first error
2018-12-26 19:52:49 +03:00
Ilya Gorbunov
9289a2c573
Remove redundant clause from 'until' function docs
2018-12-26 17:54:56 +03:00
Roman Artemev
c5922bf74b
Refact stdlib generator, add support for different backends
...
[JS IR BE] Runtime fixes
* Do not generate external declarations for IR BE
* Move `arrayToString` helper function out of shared JS stdlib
* Fix arrays type check for IR BE
2018-11-29 22:04:53 +03:00
Karen Schwane
d88fd8aa6f
KT-20357 Add samples for maxBy and minBy
2018-11-04 22:34:16 +03:00
Ilya Gorbunov
c833272392
stdlib-gen, minor: rename property
2018-10-26 16:27:43 +03:00
Ilya Gorbunov
138ab13364
Remove experimental coroutines usages from stdlib generator
2018-10-26 16:27:42 +03:00
Ilya Gorbunov
7fc6f06b70
Correct parameter reference in copyInto docs
2018-10-22 17:14:44 +03:00
Ilya Gorbunov
d6beddaac5
Document the requirement for 'minus(elements)' to have stable hashCode
...
#KT-24536
2018-10-01 18:09:09 +03:00
Alexander Udalov
55c8b35eee
Remove unneeded default imports in stdlib and tests
2018-10-01 13:39:02 +02:00
Ilya Gorbunov
3a40e3f041
Move groupingByEachCount together with the new Grouping samples
2018-09-28 19:51:07 +03:00
Ilya Gorbunov
0c81e30d46
Make a more correct implementation of unsigned arrays copyInto
...
Return the destination array instead of the destination storage array
wrapped in a new unsigned array. The difference should be
indistinguishable, however in JS, where inline classes are not inlined yet,
it had resulted in an extra wrapper.
2018-09-26 22:57:14 +03:00