Ilya Gorbunov
f367322084
Introduce associateWith and associateWithTo functions
...
#KT-13814
2018-08-30 14:58:14 +03:00
Roman Elizarov
929064dfa7
Adjust SequenceBuilder to the new coroutines API
...
* Continuation.resumeWith(SuccessOrFailure)
* createCoroutineUnintercepted
(cherry picked from commit 8bbd78c )
2018-08-30 14:58:09 +03:00
Ilya Gorbunov
6400687f2a
Restore experimental SequenceBuilder
2018-08-30 14:58:07 +03:00
Ilya Gorbunov
0ceceaaa6a
Restore history of SequenceBuilder from experimental coroutines
2018-08-30 14:58:05 +03:00
Ilya Gorbunov
47996dbf47
Temporary remove SequenceBuilder
2018-08-30 14:58:03 +03:00
Ilya Gorbunov
e59141e32c
Replace kotlin-stdlib-jreN usages in tests and samples
2018-08-30 14:57:56 +03:00
Ilya Gorbunov
c8becbd335
Stop distributing and publishing obsolete artifacts
...
Keep stdlib-jreN dist for tests only.
#KT-23799
2018-08-30 14:57:52 +03:00
Ilmir Usmanov
e93683621a
Implement callSuspend and callSuspendBy functions as KCallable's
...
extension methods.
Also make isSuspend a member of KCallable.
#KT-21972: Fixed
2018-08-30 14:57:48 +03:00
Ilya Gorbunov
a8596a9cd6
Rename experimental coroutines expect sources
...
In order not to clash in sources jar with expect sources of release coroutines
2018-08-30 14:57:14 +03:00
Ilya Gorbunov
357c5be4fb
Make sure index and count do not overflow for long sequences
...
Throw an exception immediately before an overflow becomes observable.
Place check to prevent negative index from indexOf, indexOfFirst.
Do not insert overflow checks for arrays, lists, maps and char sequences.
#KT-16097
2018-08-30 14:57:05 +03:00
Ilya Gorbunov
c44f62a3d4
Allow dropping and taking a lot of elements in very long sequences
...
For example allow dropping and taking Int.MAX_VALUE elements from
a sequence that is a result of another Int.MAX_VALUE dropping.
2018-08-30 14:57:03 +03:00
Ilya Gorbunov
eaa0902ea5
Add a class for long-running sequence/iterable tests
...
These tests will not run neither locally nor on CI unless the explicit
"kotlin.stdlib.test.long.sequences" parameter is specified.
2018-08-30 14:57:01 +03:00
Ilya Gorbunov
2df78fc81a
Introduce common ArithmeticException
...
Make divisionByZero test still fail in JS after introducing ArithmeticException
2018-08-30 14:56:59 +03:00
Ilya Gorbunov
a0b0994651
Make unsigned array constructor-like functions inline-only
2018-08-30 14:56:53 +03:00
Ilya Gorbunov
f9479d12f9
Add missing unsigned array constructors (from size)
...
#KT-25961 Fixed
2018-08-30 14:56:51 +03:00
Ilya Gorbunov
c26b202907
Make StringBuilder.clear extension inline in JS
...
#KT-18910
2018-08-30 14:56:34 +03:00
Ilya Gorbunov
5412227380
Unify Regex.split behavior in JVM, JS regarding empty match delimiters
...
Rewrite split implementation for JVM
#KT-21049
2018-08-30 14:56:31 +03:00
Ilya Gorbunov
85af1f5d38
Improve argument validation in copyOfRange
...
Make copyOfRange implementation non-inline in order not to expose
copyOfRangeToIndexCheck implementation detail.
It will be possible to make the function non-inline itself later without
that JvmName trick, when apiVersion 1.2 support is discontinued.
#KT-19489
2018-08-30 14:56:29 +03:00
Ilya Gorbunov
58a3b64baf
Add argument validation in copyOf(newSize) in JS
...
#KT-19489
2018-08-30 14:56:27 +03:00
Ilya Gorbunov
17e04b2665
Deprecate readBytes with estimatedSize parameter, add overload without parameters
...
Add a test for readBytes.
#KT-19305 Fixed
2018-08-30 14:56:23 +03:00
Alexander Udalov
cbc92bc9a1
Add KClass.sealedSubclasses to get direct subclasses of sealed class
...
#KT-14657 Fixed
2018-08-30 14:56:21 +03:00
Ilya Gorbunov
1b1713a849
Simplify long constants in range iteration tests
2018-08-30 14:56:19 +03:00
Ilya Gorbunov
1dbaaf7f8a
Begin test coverage for unsigned ranges and progressions
2018-08-30 14:56:15 +03:00
Ilya Gorbunov
f010231ff7
Change range iteration tests so they are runnable on all platforms
...
Remove JS and Native backend exclusions
2018-08-30 14:56:13 +03:00
Ilya Gorbunov
e18bebf12a
Fix plain wrong unsigned rem implementation
2018-08-30 14:56:10 +03:00
Ilya Gorbunov
b412143fce
Aggregate coroutines tests under 'check' task instead of 'test'
...
Otherwise --tests "pattern" gradle option has problem as it's applied
to both 'test' and `coroutinesTest` tasks and fails to match tests in one of them
2018-08-30 14:56:08 +03:00
Ilya Gorbunov
b68c27178d
Do not use MIN_VALUE step in tests
...
#KT-17176
2018-08-30 14:56:06 +03:00
Ilya Gorbunov
7dc6c3d7ce
Prohibit MIN_VALUE step for unsigned progressions
2018-08-30 14:56:04 +03:00
Pap Lőrinc
bdf623f711
Prohibit step size of min value, as it doesn't have a negated counterpart
...
#KT-17176
2018-08-30 14:56:00 +03:00
Ilya Gorbunov
8f6d2b70a9
Add stdlib test for Boolean companion
2018-08-30 14:55:48 +03:00
Ilya Gorbunov
5f3a7f0147
Use Char.MIN_VALUE and MAX_VALUE in tests
2018-08-30 14:55:45 +03:00
Ilya Gorbunov
92e149fa40
Add tests for SIZE_BYTES and SIZE_BITS constants
...
#KT-8247 Fixed
2018-08-30 14:55:43 +03:00
Ilya Gorbunov
fa2f1311d7
Add tests for UInt, ULong
...
Opt-in to use unsigned types in tests
2018-08-30 14:55:41 +03:00
Ilya Gorbunov
1792a77a47
Generate hashCode and equals for unsigned types
2018-08-30 14:52:51 +03:00
Ilya Gorbunov
e2310343d4
Opt-in to use unsigned types in various internal utils
2018-08-30 14:52:49 +03:00
Ilya Gorbunov
db7f4bb402
Deprecate js Math.random and provide replacement with Random.nextDouble
...
#KT-23564 Fixed
2018-08-30 14:52:47 +03:00
Alexander Udalov
082da82f3e
Introduce kotlin.jvm.functions.FunctionN
...
#KT-13764
2018-08-30 14:52:36 +03:00
Alexander Udalov
51979b9ffa
Convert FunctionBase to Kotlin, add type parameter to Lambda
...
This will make it possible to avoid raw types when inheriting from both
FunctionBase and Function<R>. This change adds a generic type parameter
to FunctionBase and Lambda which is not source-breaking under our policy
because both FunctionBase and Lambda are internal classes (located in
package kotlin.jvm.internal)
2018-08-30 14:52:33 +03:00
Alexander Udalov
e35ebff4e1
Move superinterface to the only subclass of FunctionBase
2018-08-30 14:51:17 +03:00
Ilya Gorbunov
07a0cb91d4
Introduce Char.MIN_VALUE and MAX_VALUE constants (KT-21763)
...
Add Char.MIN_VALUE and Char.MAX_VALUE implementations in primitive companion objects.
Update builtins test data and public API.
Co-authored-by: Oskar Drozda <themppsplx@gmail.com >
2018-08-30 14:51:14 +03:00
Ilya Gorbunov
0c50014e7a
Introduce SIZE_BYTES and SIZE_BITS constants for all integral types
...
#KT-8247 Fixed
2018-08-30 14:51:10 +03:00
Kerooker
af5f78076c
KT-7922 Added Boolean Companion Object
2018-08-30 14:51:04 +03:00
Ilya Gorbunov
cd0906a357
Improve isNullOrEmpty() extensions
...
- Annotate with SinceKotlin("1.3") and InlineOnly
- Add contract linking the receiver and the returned value
- Unify wording in docs
- Add sample for Map.isNullOrEmpty
#KT-23279
2018-08-30 14:51:02 +03:00
Mon_chi
d0788148e2
Add isNullOrEmpty() to Array, Collection, and Map. Fixes KT-23279
2018-08-30 14:51:00 +03:00
Jeff Wright
292f69936b
Add Collections.isNullOrEmpty #KT-23279
2018-08-30 14:50:58 +03:00
Toshiaki Kameyama
c4b785de36
Add Sequence.orEmpty #KT-16552 Fixed
2018-08-30 14:50:54 +03:00
Ilya Gorbunov
2ce0bca34e
Make bound check helpers top-level so they are compiled as static on JVM
...
Improve empty range exception text in nextInt/nextLong(range)
2018-08-30 14:50:52 +03:00
Ilya Gorbunov
35c927214d
More efficient double generation in JS
2018-08-30 14:50:50 +03:00
Ilya Gorbunov
b96803248f
Write random contract tests and fix implementations to pass them
2018-08-30 14:50:48 +03:00
Ilya Gorbunov
ed1f869354
Add xorwow random implementation test and fix implementation
2018-08-30 14:50:46 +03:00