Ilya Gorbunov
64b2e37436
Deprecate meaningless or vague-defined operations with Char operands: downTo.
2015-06-01 00:55:45 +03:00
Dmitry Jemerov
8f0f02fc59
correct some errors and omissions in stdlib doc comments
2015-05-28 14:38:36 +02:00
Ilya Gorbunov
ea85290939
Annotate deprecated members with proposed replacement.
2015-05-27 22:29:37 +03:00
Ilya Gorbunov
fa24db435d
Stdlib documentation: clarified toMap behavior when a duplicate key is encountered.
2015-05-27 22:29:33 +03:00
Ilya Gorbunov
ae60f7a32f
Prettify kdocs and exception messages in the generated code.
2015-05-27 22:16:15 +03:00
Ilya Gorbunov
45c82f2844
map(): Take into account size of collection being transformed when allocating ArrayList.
...
#KT-7832 Fixed.
2015-05-26 23:23:36 +03:00
Ilya Gorbunov
01a0348685
Remove deprecated size property usage from generated code.
2015-05-26 23:23:32 +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
85e637b1e7
Revert toArrayList for primitive arrays back to trivial implementation.
...
Use newly introduced Int.MAX_VALUE in JS.
Inline mapCapacityForValues function.
Precalculate capacity of linked hash set being created with toMutableSet function.
2015-05-20 19:28:44 +03:00
Danny Thomas
7ce0487b7e
Collection performance improvements
...
Lists
- For arrays, use Arrays.asList, then toArrayList making the list creation an array copy
- For the same reason, use the ArrayList(Collection) constructor
- Replace duplicate code in toList, instead calling toArrayList
Maps/Sets
- Where the size of the source is known, precalculate the capacity, using the formula used by Guava's Maps class
- For toMap where we're unable to get at the private function, use HashSet's formula where the size is known
- Add a toMap that takes a selector and a transform, avoiding a separate step for transforming values
2015-05-20 19:27:44 +03:00
Ilya Gorbunov
1fc5c39c22
Remove overload of joinToString with 5 parameters and it's usage from java code.
2015-05-15 03:02:48 +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
16d20ff009
Temporary add jvm.overloads annotation for generated joinToString() method.
...
Stdlib generator: allow to specify arbitrary annotations for all or some of generic function expansions.
2015-05-09 01:11:49 +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
Ilya Gorbunov
7fba979372
Generate to[Primitive]Array() methods for generic arrays and collections.
...
#KT-4180 Fixed
2015-04-22 18:21:37 +03:00
Ilya Gorbunov
5dacb5a745
Provide average() method for iterables, sequences and arrays.
...
#KT-3843 Fixed
2015-04-22 18:21:29 +03:00
Ilya Gorbunov
9759be5493
Generate sum() methods for arrays, iterables and sequences of Byte and Short. These overloads got explicit platformName.
...
Heuristics to decide when to set platformName.
#KT-3714
2015-04-22 18:21:24 +03:00
Ilya Gorbunov
ccc3646bb8
Generate coerceAtLeast, coerceAtMost and coerceIn extension functions for numbers and other Comparables.
2015-04-22 18:20:47 +03:00
Ilya Gorbunov
899a01e8c2
Rename sequence() extension to asSequence()
2015-04-22 17:57:20 +03:00
Ilya Gorbunov
9ed2cb3858
Provide zip() and merge() overloads for primitive arrays with themselves.
...
Better predicting size of resulting list of plus() operation.
#KT-4968 Fixed
2015-04-22 03:19:30 +03:00
Ilya Gorbunov
58310d172f
Deprecate sequence implementations in favor of sequence operations.
2015-04-21 21:27:24 +03:00
Ilya Gorbunov
043b27bfe5
Make more generic signature for reduce and reduceRight methods.
...
Fixes #KT-2287
2015-04-15 17:34:08 +03:00
Stanislav Erokhin
b703f59e04
Migrate kotlin sources, maven projects and stdlib to new lambda syntax
2015-04-07 13:08:53 +03:00
Ilya Gorbunov
f87dcff723
Fixed #KT-6476. last(predicate) and lastOrNull(predicate) use reverse iteration when possible.
2015-04-01 15:51:08 +03:00
Ilya Gorbunov
25cfd36e7c
drop, take: combine implementations for Collections, Lists and Iterables.
...
slice: predict length of resulting list.
2015-03-25 03:26:18 +03:00
Ilya Gorbunov
4a7918b0a1
Add takeLast method for String, lists and arrays.
...
Check the parameter n in drop, take and takeLast methods.
2015-03-25 03:26:06 +03:00
Ilya Ryzhenkov
4fa5d9cb48
Fix double "deprecated" annotation in generated sources which confuses DX compiler.
2015-03-13 19:30:46 +03:00
Ilya Ryzhenkov
e448f40756
Rename Stream<T> to Sequence<T> and provide migration path via deprecated types and functions.
2015-03-12 22:56:43 +03:00
Dmitry Jemerov
32072d0a4f
More standard library documentation.
2015-03-12 16:52:20 +01:00
Ilya Ryzhenkov
bfeb21afb0
stdlib: stream() for Map #KT-6547 Fixed
2015-03-10 11:21:41 +03:00
Valery Kharitonov
8873be22d5
Implemented asList() method for arrays. #KT-1313 Fixed
2015-03-10 11:21:40 +03:00
Valery Kharitonov
c8094e7587
Implemented indexOfFirst/Last(predicate). #KT-6577 Fixed
2015-03-10 11:21:40 +03:00
Valery Kharitonov
38a4f86db2
Implemented asIterable method for arrays. #KT-1313 Fixed
2015-03-10 11:21:39 +03:00
Dmitry Jemerov
4352023d60
generate more methods and properties in the standard library
2015-02-10 14:31:20 +01:00
Dmitry Jemerov
7827bbf64b
Standard library documentation updates.
2015-02-09 19:19:29 +01:00
Ilya Ryzhenkov
1d4591d99c
stdlib: add sumBy(function)
2015-01-20 22:39:23 +03:00
Valentin Kipyatkov
817b86a820
Temporary added explicit imports of java.util.Collections into stdlib
2014-12-26 16:23:18 +03:00
Ilya Ryzhenkov
d908678dcf
Take into account collection sizes when possible #KT-6180
2014-12-23 20:00:01 +03:00
Ilya Ryzhenkov
4cd2ba1e30
Fix Array<out> variance in stdlib #KT-6482 Fixed
2014-12-23 20:00:01 +03:00
Ilya Ryzhenkov
071eb87f27
Remove unnecessary constraint from filterIsInstance(Class<R>) signature #KT-6516 Fixed
2014-12-23 20:00:00 +03:00
Ilya Ryzhenkov
f4b96a0a1a
Add mapIndexed() function for common case withIndex().map{} #KT-3153 Fixed
2014-12-16 17:33:27 +03:00
Ilya Ryzhenkov
846014b37f
Add missing sum() on Streams.
2014-12-16 17:33:27 +03:00
Ilya Ryzhenkov
2b8ffeda28
Stop generating deprecated string functions, move to deprecated folder.
2014-12-16 17:33:23 +03:00
Ilya Ryzhenkov
fa0542b801
Clean size/length/first/head/empty properties and functions.
2014-12-16 17:33:21 +03:00
Ilya Ryzhenkov
828ba385ea
Cleanup ordering, improve API
2014-12-16 17:33:20 +03:00
Ilya Ryzhenkov
e890c2ee0d
Deprecate withIndicies(), introduce optimized and fixed withIndex and forEachIndexed()
2014-12-16 17:33:20 +03:00
Denis Zharkov
e768b4e285
stdlib: Introduced filterIsInstance version
...
without class-literal as a parameter
2014-11-13 20:56:10 +03:00
Ilya Ryzhenkov
2e154b73de
Support componentN for arrays and lists #KT-5538 Fixed
2014-11-06 16:45:57 +03:00
Ilya Ryzhenkov
c2fabf5736
Comparator<T> replaced with Comparator<in T> #KT-6030 Fixed
2014-11-06 16:45:57 +03:00