Commit Graph

431 Commits

Author SHA1 Message Date
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 a47325cc30 Provide getOrSet method for ThreadLocal<T: Any>
#KT-7927 Fixed
2015-07-01 22:30:17 +03:00
Ilya Gorbunov 9dbc4e4eef Provide another type of callback to the ObservableProperty which is called after the property value has been changed.
#KT-6866 Fixed
2015-07-01 22:23:11 +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 d20d8e2106 2nd stage of replaceFirst semantics change: remove deprecated String.replaceFirst(String), rename replaceFirstLiteral to replaceFirst. 2015-06-24 21:48:09 +03:00
Ilya Gorbunov 249106647c 2nd stage of split semantics change: remove deprecated String.split(String), rename splitBy back to split. Provide replacement for splitBy and splitWithRegex (JS). 2015-06-24 21:48:07 +03:00
Ilya Gorbunov 9caf5baf34 Refactor delegation unit tests. 2015-06-24 21:39:41 +03:00
Ilya Gorbunov d04e94c826 Use NoSuchElementException instead of KeyMissingException. Deprecate KeyMissingException. 2015-06-24 21:39:40 +03:00
Ilya Gorbunov a6b7857d57 Drop complicated MapAccessors. Deprecate simple cases of Delegates.mapVar and Delegates.mapVal in favor of direct delegation without wrappers. 2015-06-24 21:39:37 +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 d137a83471 Simple extensions to delegate readonly property to Map and read-write property to MutableMap without delegate wrappers.
Delegation to map with custom key selector by map accessors.
2015-06-24 21:39:31 +03:00
Ilya Gorbunov 346ea28337 lazyOf to create already initialized lazy value. 2015-06-19 23:08:17 +03:00
Ilya Gorbunov b71fe4cd25 Lazy: Rename valueCreated property to isInitialized() function.
Notes about behavior of Lazy when initializer throws an exception.
2015-06-19 23:08:15 +03:00
Ilya Gorbunov ecd131a7a1 Lazy made serializable. 2015-06-19 23:08:14 +03:00
Ilya Gorbunov 536e669023 Provide Lazy<T> in kotlin package — an interface that represents lazily computed value. Read-only properties can be delegated to lazy with the extension getter. Delegates.lazy and blockingLazy are deprecated. 2015-06-19 23:08:09 +03:00
Ilya Gorbunov fb6c7e20de Use identity equals in lazy unescape.
#KT-7474 Fixed
2015-06-19 23:00:01 +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 9f85fa9720 Make proposed split replacement equivalent in behavior with additional dropLastWhile call.
#KT-7887
2015-06-04 16:32:23 +03:00
Ilya Gorbunov 9b17220baa Provide dropLastWhile for Arrays, Lists and Strings. 2015-06-04 16:32:21 +03:00
Ilya Gorbunov 13c89b7ae9 Provide lineSequence() extension method instead of BufferedReader.lines() in order not to conflict with JDK8 instance method with the same name. 2015-06-04 16:32:17 +03:00
Ilya Gorbunov 0302dd06f7 Do not call mkdirs when destination file of copyTo doesn't have any parent directory.
#KT-7888 Fixed
2015-06-02 15:50:47 +03:00
Ilya Gorbunov 1cf4a407d1 JS: Provide MIN_VALUE and MAX_VALUE member constants for Double and Float companion objects.
JVM: Make MIN_VALUE and MAX_VALUE not an extension but member constant properties of Double and Float companion objects.
2015-05-26 00:26:19 +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 33f5158170 Fix deprecated replaceAll and replaceFirst usages in stdlib tests and tools. 2015-05-22 16:13:55 +03:00
Ilya Gorbunov 6516c74a1a Revert back 2nd stage of split semantics change and restore deprecated String.split(String). 2015-05-21 23:13:16 +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 f18b9caa8d JS: Provide MIN_VALUE and MAX_VALUE member constants for Int, Long, Short and Byte companion objects.
JVM: Make MIN_VALUE and MAX_VALUE not an extension but member constant properties of Int, Long, Short and Byte companion objects.
2015-05-17 17:26:25 +03:00
Sergey Mashkov a11e0a84b5 JS tests for addClass, removeClass, removeFromParent 2015-05-14 09:16:56 +03:00
Sergey Mashkov 4ee780ef07 JS move document/window/storage to kotlin.browser 2015-05-14 09:16:51 +03:00
Sergey Mashkov 33c1d5d2cf JS fix tests failed due to api change 2015-05-14 09:16:50 +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 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
Ilya Gorbunov c8a76f6344 Merge overloads String.compareToIgnoreCase and String.compareTo with an optional parameter. Provide CASE_INSENSITIVE_ORDER comparer in String.Companion. 2015-05-09 01:11:45 +03:00
Ilya Gorbunov 062d080e80 CharCategory and CharDirectionality enums for JVM. 2015-05-09 01:11:36 +03:00
Ilya Gorbunov fb5a3a771c String.split(Pattern, limit) now treats limit differently: 0 means no limit is specified, but trailing empty elements are not stripped; -1 and other negative values are not allowed. 2015-05-09 01:11:34 +03:00
Ilya Gorbunov b1255cf95b 2nd stage of split semantics change: remove deprecated String.split(String), rename splitBy back to split. 2015-05-09 01:11:32 +03:00
Ilya Gorbunov aa6bdb039b Take caution when advancing to the next match after an empty string was matched not to stuck at the same position. 2015-05-09 01:11:30 +03:00
Ilya Gorbunov 260553d516 Temporary workaround due to KT-7502.
Correct usage of joinToString.
Test for passing multiple options.
2015-05-09 01:11:28 +03:00
Ilya Gorbunov 81325208be Remove Regex() and toRegex() overloads with vararg options. Now only zero, one or set of options are allowed. 2015-05-09 01:11:26 +03:00