Commit Graph

318 Commits

Author SHA1 Message Date
Ilya Gorbunov c4b18d8fb8 Special case of slice for int ranges, sliceArray returning array.
#KT-8711
2015-09-02 20:22:38 +03:00
Ilya Gorbunov faa26cdb25 Introduce operations on Arrays returning Arrays: reversedArray, sortedArray.
#KT-8711
2015-09-02 20:22:27 +03:00
Ilya Gorbunov 83f9ee2737 Concurrent getOrPut for concurrent maps.
#KT-5800 Fixed
2015-08-28 17:51:48 +03:00
Ilya Gorbunov 84d3d42e05 Replace deprecated reverse method usages. 2015-08-27 11:45:44 +03:00
Ilya Gorbunov ca798d8d71 Rename reverse to reversed.
#KT-8171
2015-08-27 11:45:30 +03:00
Ilya Gorbunov b8badd59ba Introduce reversed extension for Comparator. 2015-08-27 00:10:11 +03:00
Ilya Gorbunov 7d33599fc2 Parameterless nullsFirst and nullsLast and misc comparator combining functions. 2015-08-27 00:09:44 +03:00
Ilya Gorbunov 5a4e598ba7 Another approach for sorting nulls. 2015-08-27 00:09:31 +03:00
Ilya Gorbunov d49a1973e5 Change null handling in compareValuesBy(a, b, functions). Provide nullsFirst() and nullsLast() to extend Comparator<T> to Comparator<T?>. 2015-08-27 00:09:17 +03:00
Ilya Gorbunov 63110dcdf8 Remove StdLibArraysTest and include collections/ArraysTest.kt into StdLibTestToJSTest smoke tests instead.
Move helper methods, so they are available in JS semantics tests.
2015-08-27 00:09:04 +03:00
Ilya Gorbunov 521e0b679d Rename sortedDescendingBy to sortedByDescending 2015-08-27 00:08:50 +03:00
Ilya Gorbunov 002c3e850f Tests for sorting methods. 2015-08-27 00:08:37 +03:00
Ilya Gorbunov 6f71e54268 In-place array sorting in JS. 2015-08-27 00:07:56 +03:00
Sergey Mashkov 0e25a5ea82 JS: arrayToString should use toString() instead of direct join to handle nulls properly
#KT-8663 Fixed
2015-07-31 14:28:30 +03:00
Ilya Gorbunov 81cbbad1e5 Add test comparing behavior of a reversed list and a reversed view on a list. 2015-07-31 14:28:29 +03:00
Sergey Mashkov 8a0c752f99 KT-4844 Support asReversed() for lists 2015-07-31 14:28:29 +03:00
Ilya Gorbunov 34afb450d8 List binarySearch and binarySearchBy methods and tests.
#KT-5444 Fixed
#KT-8217 Fixed
2015-07-24 04:34:56 +03:00
Ilya Gorbunov d831509cee Provide listOfNotNull method. 2015-07-24 04:34:31 +03:00
Ilya Gorbunov 12e3542bce Provide toTypedArray method for primitive arrays. 2015-07-24 04:33:55 +03:00
Ilya Gorbunov da3ec891d0 Provide unzip method for Iterables, Arrays and Sequences of pairs.
#KT-5793 Fixed
2015-07-24 04:28:57 +03:00
Ilya Gorbunov 690a536734 Tests for minus operation for collections, sets, iterables and sequences. 2015-07-17 10:53:31 +03:00
Ilya Gorbunov 048a3ebcc1 Implement plus for sequence as operand and refactor plus tests. 2015-07-17 10:53:05 +03:00
Ilya Gorbunov 0ee960da50 Change removeAll extension implementation to match the contract of member removeAll.
Add retainAll for sequences.
2015-07-17 10:52:51 +03:00
Ilya Gorbunov 2c28c5a8e8 Define plusAssign operator for mutable collections.
#KT-4020 Fixed
2015-07-17 10:52:25 +03:00
Ilya Gorbunov dd945f4d1a Tests for plus on collections, sets, sequences. 2015-07-17 10:52:12 +03:00
Ilya Gorbunov 0f340c8f62 Make primitive array tests run both in JVM and JS 2015-07-17 10:52:00 +03:00
Ilya Gorbunov 6507cf391b Tests for array's copyOf and plus. 2015-07-17 10:51:49 +03:00
Ilya Gorbunov 7866184eb6 Array.plus — different implementations for JVM and JS.
Array.copyOf, copyOfRange available in JS.
2015-07-17 10:51:09 +03:00
Ilya Gorbunov d1a12aa2a7 plus, plusAssign, minus, minusAssign for all possible parameter types for Maps.
#KT-6594 Fixed
2015-07-15 17:12:45 +03:00
Ilya Gorbunov f440d97e04 Remove unnecessary Char.toChar from tests. 2015-07-06 17:57:35 +03:00
Ilya Gorbunov 005a0a1eb6 Eliminate deprecated char operation usages in stdlib 2015-07-04 04:45:47 +03:00
Ilya Gorbunov 9618a3542f Provide getOrElse and getOrNull methods for indexed collections.
Breaking: elementAtOrElse is no longer inlined for Iterables and Sequences.
#KT-6952
2015-07-03 16:38:08 +03:00
Ilya Gorbunov 64379947fd Do not allow using getOrPut on concurrent maps.
#KT-5800 In Progress
2015-07-01 22:33:58 +03:00
Ilya Gorbunov f3a19ebe11 StdLib deprecations cleanup: length, size, indices and other collection operations. 2015-06-29 17:06:20 +03:00
Ilya Gorbunov 00a44f6d4f StdLib deprecations cleanup: *array -> *arrayOf, copyToArray -> toTypedArray. 2015-06-29 17:05:57 +03:00
Ilya Gorbunov d04e94c826 Use NoSuchElementException instead of KeyMissingException. Deprecate KeyMissingException. 2015-06-24 21:39:40 +03:00
Ilya Gorbunov 5306e88425 Provide the way to specify implicit default for a readonly or mutable map.
Refactor: rename default key and value providers.
2015-06-24 21:39:33 +03:00
Ilya Gorbunov ecd131a7a1 Lazy made serializable. 2015-06-19 23:08:14 +03:00
Ilya Gorbunov a1d8e9d633 Provide dropLast and takeLastWhile methods. Optimize special cases of drop/take/dropLast/takeLast (when n is equal to zero or size of collection). 2015-06-04 16:32:25 +03:00
Ilya Gorbunov 9b17220baa Provide dropLastWhile for Arrays, Lists and Strings. 2015-06-04 16:32:21 +03:00
Ilya Gorbunov 4fd1b46e91 Refactor JS tests: unified package name, test JS specific map implementations only in JS.
Add required files to build StdLibTestToJSTest.
Remove tests StdLibMapJsTest and StdLibSetJsTest because they are tested elsewhere.
2015-05-24 05:07:01 +03:00
Ilya Gorbunov c95ba4da8e Tests for specialized primitive implementations of sets and maps in JS. 2015-05-24 05:06:51 +03:00
Ilya Gorbunov ebe578dbc5 Tests to ensure the behavior of the specialized empty List, Set, Map implementations is same as of non-specialized ones. 2015-05-24 05:03:46 +03:00
Ilya Gorbunov edc471c8ec Optimize the implementation of emptyList, emptySet and emptyMap and make them serializable.
Specialized implementations of singleton List, Set and Map are used in JVM.

#KT-6682 Fixed
#KT-7104 Fixed
#KT-4840 Fixed
2015-05-24 05:03:36 +03:00
Ilya Gorbunov 6a3cb0eff8 Provide distinctBy(keySelector) method for collections and sequences.
Implement distinct() and toMutableSet() for sequences.
Breaking change: distinct() now returns List instead of Set.

#KT-5834 Fixed
#KT-6063 Fixed
2015-05-20 19:28:47 +03:00
Ilya Gorbunov 46d91b2606 Add test for toMap with key selector and value transform. 2015-05-20 19:28:45 +03:00
Ilya Gorbunov f7aa997003 Provide fast path for negative index values in elementAt.
Minor: kdoc wording.
2015-05-12 21:07:24 +03:00
Ilya Gorbunov a5ed5d4269 Generate elementAtOrNull and elementAtOrElse extension methods for iterables, collections, sequences, etc.
#KT-6952 Fixed
2015-05-12 20:08:20 +03:00
Ilya Gorbunov 34526005d0 Provide a way to construct an empty typed array without init lambda. 2015-05-09 11:45:43 +03:00
Ilya Gorbunov d531d7130f Add an optional parameter to joinToString() and joinTo() functions: lambda function which maps the element to string.
#KT-5468 Fixed
2015-05-09 01:11:47 +03:00