Sergey Igushkin
90ec151258
Bring back two methods used by old MPP K/N plugin
...
* First, it overrides `addCommonSourceSetToPlatformSourceSet` with an
old signature that was drop during migration to 'KotlinSourceSet's
* Second, it uses an extension SourceSet.kotlin that got dropped during
the aforementioned migration
Now, for the old MPP K/N plugin, `addCommonSourceSetToPlatformSourceSet`
is called twice, one time with the new signature and another with the
old one, which it overrides.
2018-08-30 16:22:00 +03:00
Roman Elizarov
319c16c885
CoroutineStackFrame: public API dump updated
2018-08-30 16:21:49 +03:00
Ilya Gorbunov
009980944b
Refine the exception type of EmptyRange.random()
...
Make it the same type as in case of an empty collection, so that
`emptyRange.random()` throws the same exception as `emptyRange.toList().random()`.
#KT-15539
2018-08-30 16:21:36 +03:00
Ilya Gorbunov
ea2c33a532
Extension random() to select random element from a collection
...
Fixes #KT-15539
2018-08-30 16:21:27 +03:00
Ilya Gorbunov
ea37a65178
copyInto: copying elements between two arrays
...
#KT-25874 Fixed
2018-08-30 16:21:20 +03:00
Ilya Gorbunov
58e6f910bc
Update public API after stopping SuccessOrFailure mangling in signatures
2018-08-30 16:21:17 +03:00
Kerooker
f9dec5e794
Implement extension functions for Random: nextUInt, nextULong and nextUBytes
...
Given there's a Random API in the stdlib, that generates all random primitives, this commit adds the possibility to generate random unsigned integers.
It uses the same implementation from Random.nextInt, nextLong and nextBytes, but uses the appropriate conversions from a signed type to an unsigned type.
The use of the same API guarantees that the distribution is uniform, but this commit adds some unit test to enforce that necessity.
Fixes #KT-25570
2018-08-30 16:20:58 +03:00
Ilya Gorbunov
3607ed85ab
Update public API dump with mangled signatures
2018-08-30 16:20:45 +03:00
Ilya Gorbunov
e670318cf0
ifEmpty and isBlank extensions
...
- Introduce ifEmpty extension for Collections, Maps, Arrays, Sequences
- Introduce ifEmpty and isBlank for CharSequences
#KT-15695 Fixed
2018-08-30 16:20:42 +03:00
Dmitry Savvinov
accbd07b2e
Publish ContractsDsl
...
- Mark @ContractsDsl as @Experimental
- Move Contracts DSL out from 'internal' package
- Change visibility of ContractsDsl from 'internal' to 'public'
^KT-25274 Fixed
^KT-25495 Fixed
2018-08-30 16:19:51 +03:00
Ilya Gorbunov
2530a8e98c
Provide unsigned string to number conversion in arbitrary base
...
#KT-26161
2018-08-30 14:58:35 +03:00
Ilya Gorbunov
c1d1a7108f
Provide unsigned number to string conversion in arbitrary base
...
#KT-26161
2018-08-30 14:58:33 +03:00
Ilya Gorbunov
4df665bc78
Generate extensions for unsigned arrays and provide tests for them
...
- contentEquals, contentToString, contentHashCode
- as[Signed]Array, as[Unsigned]Array
- to[Signed]Array, to[Unsigned]Array
- toTypedArray
- copyOf(), copyOf(newSize), copyOfRange(...)
2018-08-30 14:58:26 +03:00
Ilya Gorbunov
3d2eb36486
Generate until, downTo, step, reversed functions for unsigned ranges/progressions
2018-08-30 14:58:20 +03:00
Ilya Gorbunov
add0894f54
Support unsigned types and array specializations in stdlib generator
2018-08-30 14:58:18 +03:00
Ilya Gorbunov
f367322084
Introduce associateWith and associateWithTo functions
...
#KT-13814
2018-08-30 14:58:14 +03:00
Ilya Gorbunov
751e844258
Support having primary type parameter other than T in generated code
...
With some limitations: the primary parameter cannot have constraints for now.
2018-08-30 14:58:11 +03:00
Ilya Gorbunov
e59141e32c
Replace kotlin-stdlib-jreN usages in tests and samples
2018-08-30 14:57:56 +03:00
Ilya Gorbunov
16148a30c1
Remove or replace deprecated kotlin-runtime artifact usages
2018-08-30 14:57:54 +03:00
Ilmir Usmanov
b7b5fd75b8
Minor. Fix tests
2018-08-30 14:57:50 +03:00
Denis Zharkov
c12bfe312a
Make experimental/release COROUTINE_SUSPENDED reference the same instance
...
It's necessary when mixing experimental/release coroutines together
#KT-25683 In Progress
2018-08-30 14:57:44 +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
Alexander Udalov
ceb909d261
Inherit KType from KAnnotatedElement, implement KType.annotations
...
#KT-16795 Fixed
2018-08-30 14:56:57 +03:00
Alexey Tsvetkov
e4bbe2d5e2
Fix coroutines default value checks in KotlinProjectIT
2018-08-30 14:56:55 +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
282cf73aff
Update public API: inline classes codegen changes
2018-08-30 14:56:48 +03:00
Alexander Udalov
b55fc818d1
Support JvmName on annotation constructor parameters
...
#KT-25372 Fixed
2018-08-30 14:56:42 +03:00
Alexey Tsvetkov
9df949c039
Remove non default coroutines options from Gradle tests
...
They don't have any effect anyway
2018-08-30 14:56:38 +03:00
Alexey Tsvetkov
a3d78f769b
Add Coroutines.DEFAULT to Gradle plugin
...
See CommonCompilerArguments changes
2018-08-30 14:56:36 +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
93540e476e
stdlib-gen: tweak to build with 1.3 compiler, turn off ReleaseCoroutines
2018-08-30 14:56:25 +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
1792a77a47
Generate hashCode and equals for unsigned types
2018-08-30 14:52:51 +03:00
Alexander Udalov
082da82f3e
Introduce kotlin.jvm.functions.FunctionN
...
#KT-13764
2018-08-30 14:52:36 +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
fa33b1b5a9
Random docs and API refinement
...
KT-17261
2018-08-30 14:50:40 +03:00
Ilya Gorbunov
7e4528e217
Common shuffle/shuffled with the specified random source
...
KT-17261, KT-9010
2018-08-30 14:50:38 +03:00
Ilya Gorbunov
cc031e3a40
Provide common Random API
...
#KT-17261
2018-08-30 14:50:36 +03:00
Ilya Gorbunov
bbee18b84d
Introduce StringBuilder.clear() extension
...
#KT-18910 Fixed
2018-08-30 14:50:29 +03:00
Alexander Udalov
f423403167
Make kotlin.Metadata public
...
Prohibit explicit usage of `@Metadata` to prevent possible
AnnotationFormatError at runtime
#KT-23602 Fixed
2018-08-30 14:50:25 +03:00
Ilya Gorbunov
8102e512d3
For bootstrapping on 1.3-M1: compile parts that can be used in .gradle.kts scripts with 1.2 language version
2018-08-30 14:50:23 +03:00
Ilya Gorbunov
b160561795
Include new coroutines and unsigned classes into stdlib
...
Fix clashing module name in common coroutines sourceset
2018-08-30 14:50:21 +03:00
Ilya Gorbunov
4c6c0aa279
Update public API test due to ProperVisibilityForCompanionObjectInstanceField
2018-08-30 14:50:19 +03:00
Ilya Gorbunov
76e581fe4f
Temporarily turn off ReleaseCoroutines feature
2018-08-30 14:50:16 +03:00