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
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
1b1713a849
Simplify long constants in range iteration tests
2018-08-30 14:56:19 +03:00
Ilya Gorbunov
bb1ce52267
Add support for generating unsigned progression iteration codegen tests
2018-08-30 14:56:17 +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
Ilya Gorbunov
4e574cb017
Improve exception message for invalid steps and document step requirements
...
#KT-17176
2018-08-30 14:56:02 +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
Vyacheslav Gerasimov
c6c3b05d02
as32: Update build range for AS 3.2 plugin to match RC1 and further releases
2018-08-30 14:55:58 +03:00