Commit Graph

48431 Commits

Author SHA1 Message Date
Ilya Gorbunov f5df53b7a7 Detect UInt/ULong parsing overflow after digit addition instead of before
#KT-26161
2018-08-30 14:58:39 +03:00
Ilya Gorbunov d99f97ad96 Support '+' in front of parsed unsigned string values
#KT-26161
2018-08-30 14:58:37 +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 47162590eb Add a credit for Guava implementation of unsigned division and remainder 2018-08-30 14:58:30 +03:00
Ilya Gorbunov abdd971d92 More contentHashCode tests for arrays 2018-08-30 14:58:28 +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 6360cc3cb5 Unsigned arrays: expose storage field as internal PublishedApi
To be able to write basic extensions that access storage array.
2018-08-30 14:58:24 +03:00
Ilya Gorbunov 6d33313d2e Regenerate range iteration tests 2018-08-30 14:58:22 +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 76ff4c9b2f Remove custom hashCode and equals from unsigned types
The generated ones are ok now (on JVM)
2018-08-30 14:58:16 +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
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