Alex Roussos
00c2b684fd
Fix documentation for Sets intersect() and subtract()
...
Adds correct documentation for the Sets intersect() and subtract() methods, which had been copied from union().
2015-06-18 15:10:44 +03:00
Ilya Gorbunov
009baa11fc
Specific wording in exception message for String methods.
2015-06-04 16:45:55 +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
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
953bbef08c
Allow to specify replacement for deprecated items in generated code.
2015-05-27 22:29:35 +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
Sergey Mashkov
b25ae3d7dd
JS stdlib-gen shouldn't call outdated codegen
2015-05-18 19:35:48 +03:00
Mikhail Glukhikh
fdf0ea5546
Enum warnings fixed: deprecated delimiters, short super constructors, both in project and in libraries
2015-05-18 16:08:16 +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
Sergey Mashkov
6e09100877
JS IDL2K refactoring according to review discussion
2015-05-14 09:16:51 +03:00
Sergey Mashkov
e487825237
JS deprecate old declarations
2015-05-14 09:16:48 +03:00
Sergey Mashkov
53495fa989
JS Implement IDL2K tool and import DOM3 IDLs
...
JS Introduce required utility functions for DOM3
2015-05-14 09:16:46 +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
Dmitry Jemerov
2a99f757c4
replace 'trait' keyword with 'interface' in library code
2015-05-12 17:07:46 +02: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
d18b086113
Refactor stdlib generator engine.
...
Introduce special class to hold generic function properties.
2015-04-22 18:21:35 +03:00
Ilya Gorbunov
343edcf8d0
Specify explicitly when to generate platformName annotation.
2015-04-22 18:21:33 +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
f402ae8540
Ensure families and primitives have stable order, so that the code is generated in the same order each time.
2015-04-22 18:21:26 +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
d724ce3f7e
Add code generation for asList methods in js.libraries.
2015-03-31 02:24:20 +03:00
Pavel V. Talanov
ed218c473a
Get rid of 'class object' usages in code and builtins
...
Replace some comments and library usages as well
2015-03-25 18:28:00 +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
Pavel V. Talanov
2a6facaef6
default -> companion: default object -> class object in project code, builtins and libs code
2015-03-17 15:46:48 +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