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
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
38d8451d1c
Remove unused and unnecessary classpath entries in compiler tests
...
Also remove obsolete additional path arguments for runIde task.
2018-08-30 14:58:01 +03:00
Ilya Gorbunov
237d870618
Change kotlin-runtime dependency to kotlin-stdlib in Kotlin runner and ant task
2018-08-30 14:57:59 +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
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
b7b5fd75b8
Minor. Fix tests
2018-08-30 14:57:50 +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
Denis Zharkov
66315cee45
Fix coroutine-related test data
2018-08-30 14:57:46 +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
Denis Zharkov
3a7f8dcf3a
Allow calling some pieces of the experimental coroutine API
...
- Calling suspend functions is allowed
- Presence of suspend function type still makes declaration
unusable unless it belongs to a value parameter as a top-level type
containing less then three parameters
Still, warning should be emitted because they will become unsupported in 1.4
#KT-25683 In Progress
2018-08-30 14:57:41 +03:00
Alexey Sedunov
5ac5a8d723
Configuration: Do not auto-advance "Latest Stable" to pre-release version
...
#KT-25611 Fixed
2018-08-30 14:57:39 +03:00
Alexey Sedunov
a490781213
Configuration: Drop coroutines for language >= 1.3
...
#KT-25681 Fixed
2018-08-30 14:57:37 +03:00
Alexander Udalov
9f4c8d5b81
Minor, fix test data
...
Language version 1.3 is no longer experimental
2018-08-30 14:57:35 +03:00
Alexander Udalov
927706883e
Do not report pre-release errors if release LV is used in pre-release compiler
...
This commit effectively reverts
d386712903 .
The reason is that when using a release language version, you can only
"see" the subset of a pre-release library which consists of released and
supported features, so reporting an error is not helpful there. Also, it
presents a problem currently when using kotlinc 1.3 (which is
pre-release) with language version 1.2 (stable) against the bundled
stdlib of version 1.3 (pre-release)
#KT-21267 Declined
2018-08-30 14:57:33 +03:00
Alexander Udalov
02a9b03007
Report a warning or error if an old language version or API version is used
...
#KT-25823 Fixed
2018-08-30 14:57:31 +03:00
Anton Bannykh
db29eadba5
Advance bootstrap to 1.3-M2-eap-82
2018-08-30 14:57:29 +03:00
Anton Bannykh
a83baee67b
review fixes + DCE data update + test (un)muting
2018-08-30 14:57:27 +03:00
Anton Bannykh
2663d9751a
JS: support unsigned constants inside string templates
2018-08-30 14:57:24 +03:00
Anton Bannykh
6103df0b31
JS: support signed constant expressions as unsigned primitive arguments
2018-08-30 14:57:22 +03:00
Anton Bannykh
934e11aa60
JS: support unsigned primitive vararg's
2018-08-30 14:57:20 +03:00
Anton Bannykh
944c5b6044
JS: modify a test to work around Kotlin/JS Double.toString problems
2018-08-30 14:57:18 +03:00
Anton Bannykh
a11c4871ea
JS: equals, hashCode, toString support in inline classes
2018-08-30 14:57:16 +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
Alexey Tsvetkov
49bddcd220
Use release coroutines in evaluate tests
2018-08-30 14:57:12 +03:00
Dmitry Savvinov
756e5ece84
Revert "Disable contracts in 1.3-M1"
...
This reverts commit e866a3bd0d4d77077270d63cebdb3a8f3bc25f10.
2018-08-30 14:57:10 +03:00
Alexander Udalov
254d943e07
Fix some tests in compileKotlinAgainstCustomBinaries
2018-08-30 14:57:07 +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
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
Ilya Gorbunov
99de68507d
Workaround for new MPP dependency configuration limitations
2018-08-30 14:56:46 +03:00
Ilya Gorbunov
6174ae7af6
Advance bootstrap to 1.3-M2-eap-35
2018-08-30 14:56:44 +03:00
Alexander Udalov
b55fc818d1
Support JvmName on annotation constructor parameters
...
#KT-25372 Fixed
2018-08-30 14:56:42 +03:00
Alexander Udalov
dc1f4c7d5b
Generate get-targeted annotations on annotation constructor parameters
...
This change would also make NotNull annotations to be generated on
non-primitive annotation methods, but we skip this deliberately because
annotation methods never return null on JVM anyway
#KT-25287 Fixed
2018-08-30 14:56:40 +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
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