Roman Elizarov
9f0810f723
Pull implementations up from AbstractCoroutineContextElemenet
...
Fixes KT-18671
2017-07-19 08:59:43 +03:00
Denis Zharkov
970dfd10d4
Update rendered public API for coroutines
...
suspendCoroutine is not public anymore as it's inline
and all inline suspend functions are treated as inline-only,
i.e. private in JVM
2017-05-23 18:45:33 +03:00
Denis Zharkov
eedc35aefd
Drop new coroutine-related API introduced in 1.1.4
...
See 49453ca705 for clarification
#KT-17898 Fixed
2017-05-22 14:51:04 +03:00
Denis Zharkov
57cb556efd
Update rendered public API in coroutines package
...
- suspendCoroutine is not public anymore, since all of the
inline functions are generated as private
- `label` is public to allow update it from the named functions
2017-05-16 11:38:59 +03:00
Ilya Gorbunov
02293dab9e
Add public api dumps for kotlin-reflect and kotlin-stdlib-jre7/8
2017-04-06 20:32:37 +03:00
Ilya Gorbunov
c0c01d6e49
Drop HIDDEN deprecations from kotlin-stdlib.
2017-02-22 17:28:02 +03:00
Alexander Udalov
1ee2053a16
Make callable references Serializable on JVM
...
#KT-11254 Fixed
2017-02-16 18:00:18 +03:00
Alexander Udalov
46bd64f59a
Rename FunctionImpl -> FunctionBase, restore abstract class FunctionImpl
...
This fixes the IncompatibleClassChangeError which happens when kotlin-reflect
1.0.x and kotlin-stdlib 1.1.x are in the classpath
#KT-16358 In Progress
2017-02-15 20:43:25 +03:00
Alexander Udalov
8e3cb912c7
Make Ref classes for shared vars Serializable
...
#KT-14566 Fixed
2017-02-15 10:46:48 +03:00
Ilya Gorbunov
03cdc20d64
Update public API dump: new coroutine builder intrinsics
2017-02-07 14:42:00 +03:00
Denis Zharkov
52f1194247
Update public API dump: areEqual helpers for ieee 754 comparisons
2017-02-07 14:41:58 +03:00
Ilya Gorbunov
970490e097
Revert "Update rendered public API". This reverts commit a10c6f00f9.
...
Revert "Update stdlib reference and binary compatibility test data". This reverts commit 2d02e5106f .
2017-02-07 14:41:31 +03:00
Denis Zharkov
a10c6f00f9
Update rendered public API
2017-02-07 11:32:10 +03:00
Denis Zharkov
4f6a77cf38
Introduce createCoroutineUnchecked intrinsic
...
Also use it for buildSequence implenentation
#KT-16155 Fixed
2017-02-07 11:08:27 +03:00
Alexander Udalov
2d02e5106f
Update stdlib reference and binary compatibility test data
...
After 0db60bf and 5cffb38
2017-02-06 19:39:15 +03:00
Alexander Udalov
b784680fe2
Fix NPE on equals/hashCode for callable references without kotlin-reflect
...
#KT-11316 Fixed
#KT-15847 Fixed
2017-02-03 19:35:16 +03:00
Alexander Udalov
eb61a1c5a8
Make KTypeProjection's constructor public
...
To make it easier to create a KTypeProjection instance given a KVariance
instance (otherwise you currently need to do a "when" on it). Also it's exposed
via automatically generated "copy" anyway
2017-01-30 11:31:20 +03:00
Denis Zharkov
c362a9154b
Rename SUSPENDED_MARKER to COROUTINE_SUSPENDED
2017-01-27 23:24:13 +03:00
Denis Zharkov
246946bc18
Move buildSequence/buildIterator to kotlin.coroutines.experimental
2017-01-27 23:24:13 +03:00
Denis Zharkov
8fa8ba7055
Move coroutine-related runtime parts to kotlin.coroutines.experimental package
...
#KT-15975 Fixed
2017-01-27 23:24:13 +03:00
Denis Zharkov
cb4914ab56
Make 'suspendCoroutineOrReturn' inline-only
2017-01-27 23:24:13 +03:00
Denis Zharkov
0e132b9857
Move all coroutine-related declarations from built-ins to stdlib
...
Also move internal declarations from runtime.jvm module into new package
kotlin.coroutines.jvm.internal in stdlib
The necessity of these declarations being in built-ins is controversial,
but also it will complicate the migration of current coroutine runtime
to a separate jar if we ever need this
2017-01-27 23:24:13 +03:00
Ilya Gorbunov
2e0209395a
Restore Map.minus(key/keys) and Map.minusAssign(key/keys) operators.
...
#KT-13353
2017-01-25 22:08:46 +03:00
Ilya Gorbunov
070f9d9d17
Binary compatibility validation: dump public API of merged stdlib to another file
2017-01-24 22:04:46 +03:00
Alexander Udalov
70d2296e61
Update public API dump after adding KPropertyN.getDelegate
2017-01-24 10:59:44 +03:00
Alexander Udalov
78f2515e95
Introduce KProperty{0,1,2}.getDelegate
...
#KT-8384 In Progress
2017-01-23 12:25:35 +03:00
Ilya Gorbunov
ed9b9d972c
Make 'add' function abstract in AbstractMutableSet in JVM
2017-01-18 20:07:24 +03:00
Roman Elizarov
25739a08ea
CoroutineContext Key and Element are now inside CoroutineContext interface itself (just like Map.Entry)
...
ContinuationInterceptor companion object is named Key
CoroutineContext.Element property for key is named just key
AbstractCoroutineContextElement implements all of CoroutineContext.Element, including key
2017-01-16 14:33:02 +03:00
Ilya Gorbunov
3d70d73964
Rename file class CoroutinesLibraryKt to CoroutinesKt
2017-01-15 20:57:11 +03:00
Ilya Gorbunov
141ad43039
Introduce buildSequence and buildIterator functions based on coroutines.
2017-01-14 20:14:01 +03:00
Denis Zharkov
85a3fefcc6
Get rid of SuspendFunctionX interfaces
...
Use a pair of effectively abstract methods in CoroutineImpl instead
2017-01-14 15:13:37 +03:00
Ilya Gorbunov
2dfcb490a5
Fix CoroutineContext tests, update public API dump
2017-01-14 13:24:53 +03:00
Denis Zharkov
7837d736f7
Merge RestrictedCoroutineImpl into CoroutineImpl
2017-01-14 13:24:53 +03:00
Denis Zharkov
d487c1ef0f
Refine dispatching convention
...
Dispatching happens only via `suspendWithCurrentContinuation` calls
instead of each `resume` call
#KT-15657 Fixed
2017-01-14 13:24:53 +03:00
Denis Zharkov
2cb9d3a8ad
Move coroutine intrinsics to kotlin.coroutine.intrinsics package
...
Also rename val SUSPENDED to SUSPENDED_MARKER
#KT-15698 Fixed
2017-01-14 13:24:53 +03:00
Ilya Gorbunov
6273ab5d43
Hold back eachSumOf for a while: fixups.
...
Remove unneeded import.
2017-01-11 20:04:00 +03:00
Ilya Gorbunov
04a0f0a036
Rename Grouping.elementIterator to sourceIterator
2017-01-11 16:49:45 +03:00
Ilya Gorbunov
2a2b417025
KEEP-23 implement group and fold operations
...
Docs for group-and-fold operations
Fix implementation for countEach and sumEachBy
countEach and sumEachBy implementations for JS
Rename keySelector to keyOf
Generate additional sources for groupingBy + headers
Rename countEach and sumEachBy to eachCount and eachSumOf.
2017-01-11 16:49:45 +03:00
Ilya Gorbunov
0bf2ba8701
Introduce new overloads of max and min to fix NaN propagation behavior on JVM.
2017-01-11 14:45:18 +03:00
Ilya Gorbunov
51c24a0c3c
Introduce minOf/maxOf in kotlin.comparisons. #KT-7417
2017-01-11 14:42:36 +03:00
Ilya Gorbunov
35d433160e
Move more logic of 'use' into 'closeSuppressed', rename the latter to 'closeFinally', that will result in more compact inline call expansions.
2017-01-11 14:35:38 +03:00
Ilya Gorbunov
a71b68268d
Refactor exception suppression to provide Throwable.addSuppressed extension in kotlin-stdlib.
...
Place Closeable and AutoCloseable extensions to separate files (CloseableKt and AutoCloseableKt).
#KT-15477 Fixed
2017-01-11 14:35:38 +03:00
Ilya Gorbunov
d7885e699c
Update public API dump of kotlin-runtime, relates to #KT-15449
2016-12-30 20:00:44 +03:00
Ilya Gorbunov
822e58ad83
Map.getOrImplicitDefault is exposed public as Map.getValue
...
#KT-11851
2016-12-29 07:49:27 +03:00
Denis Zharkov
d0ba048342
Refine coroutine/suspend functions ABI
...
- `invoke` method must always start a suspend functions
- For creation of coroutine that has not been started yet, there are
two special internal interfaces `SuspendFunction0`/`SuspendFunction1`
2016-12-22 11:08:42 +03:00
Ilya Gorbunov
10f8e70322
Rename ClosedComparableRange to ClosedFloatingPointRange
2016-12-19 18:36:52 +03:00
Denis Zharkov
5ec62108ee
Rename RestrictsSuspendExtensions -> RestrictsSuspension
2016-12-16 18:56:30 +03:00
Ilya Gorbunov
236333e475
Update public API dump for coroutines rev. 2
2016-12-16 04:28:32 +03:00
Dmitry Petrov
9fd1ac72a9
Purge remaining traces of @AllowSuspendExtensions.
2016-12-15 23:58:19 +03:00
Ilya Gorbunov
bc944961f1
Use internal published-api function to validate radix in string-number conversion functions.
...
#KT-8286
2016-12-14 17:20:44 +03:00