Commit Graph

2159 Commits

Author SHA1 Message Date
Ilmir Usmanov 4a7703ed66 Implement correct is check for SuspendFunction
Let callable references implement SuspendFunction
Do not generate CHECKCAST SuspendFunction when LV is 1.2

 #KT-25825: Fixed
2018-08-22 16:21:27 +03:00
Roman Elizarov 4fe2730f4a SuccessOrFailure.getOrDefault 2018-08-21 17:07:20 +03:00
Denis Zharkov d35e73d29b Get rid of COROUTINE_SUSPENDED replacement in SuspendFunction wrappers 2018-08-21 13:46:01 +03:00
Denis Zharkov ca39cc47c9 Support calling experimental coroutines API in JVM
The support is very limited, though

 #KT-25683 Fixed
2018-08-21 13:46:01 +03:00
Denis Zharkov 20c7a97bcd Make experimental/release COROUTINE_SUSPENDED reference the same instance
It's necessary when mixing experimental/release coroutines together

 #KT-25683 In Progress
2018-08-21 13:44:02 +03:00
Denis Zharkov db34555800 Use package property COROUTINE_SUSPENDED instead of enum entry
For sake of encapsulation: actual property content might be
different from the entry
2018-08-21 13:44:02 +03:00
Ilya Gorbunov ed53983e1e Add support for CASE_INSENSITIVE_ORDER in JS and common
#KT-18067
2018-08-15 21:28:54 +03:00
Ilya Gorbunov 6866f5d19a Move test and cover more cases of string comparison
#KT-18067
2018-08-15 21:28:50 +03:00
Ilya Gorbunov 27dde5f730 String.compareTo: SinceKotlin in JS and common, restore default parameter value in JVM
Default parameter is required to generate docs with Dokka for now.

#KT-18067
2018-08-15 21:28:47 +03:00
Toshiaki Kameyama f05a19aafb JS stdlib: implement String.compareTo with ignoreCase
#KT-18067 Fixed
2018-08-15 21:28:44 +03:00
Svyatoslav Kuzmich 392ad521fd [JS IR BE] Reflection support 2018-08-15 13:35:14 +03:00
Alexander Udalov c011bf61fe Support multiple version requirements on single element 2018-08-13 11:02:35 +02:00
Ilya Gorbunov 7c996dc218 Improve padStart/padEnd samples 2018-08-09 04:38:22 +03:00
Gen a90b72ffd8 KT-20357 Add samples for padStart() and padEnd() 2018-08-09 04:38:22 +03:00
Roman Artemev c62e4b4fcf [JS IR BE] Support coroutines
* Move FinallyBlockLowering to common part
* Fix catching of dynamic exception
* Fix bridges for suspend functions
* Disable explicit cast to Unit
* Run lowering per module
* Update some test data
2018-08-08 18:33:39 +03:00
Dmitry Savvinov a8e1a6a2a1 Add contract for 'synchronized'
^KT-25962 Fixed
2018-08-08 12:53:09 +03:00
Dmitry Savvinov a81fc9e9bc Add contract to checkNotNull overload without message
^KT-25303 Fixed
2018-08-08 12:50:38 +03:00
takasy 76a98c8e67 KT-20357 Add sample code for Pair/Triple.toList 2018-08-07 21:27:16 +03:00
Svyatoslav Kuzmich a1c10956cb [JS IR BE] Support super calls for methods of Any 2018-08-07 14:41:50 +03:00
Yan Zhulanow 769a0d7701 Pill: Add extra stdlib jars as dist libraries 2018-08-07 11:55:23 +03:00
Bloder f89803fe8f Create samples for String.toLowerCase/toUpperCase
* Create toLowerCase method sample
* Create toUpperCase method sample
* Create toUpperCase sample reference in StringsJVM
* Create sample ref and doc of js impl toUpperCase
* Create sample ref and docs of js toLowerCase
* Add sample ref in toLowerCase expect fun
* Add sample ref in toUpperCase expect fun
2018-08-06 15:34:57 +03:00
Artem Zinnatullin 58becffb1f Add documentation for @JvmSynthetic 2018-08-02 08:53:47 +03:00
Zalim Bashorov 0da14e4189 [JS IR BE] Support calls, property accesses and most of operators on expressions with dynamic type 2018-07-31 11:28:38 +03:00
Alexander Udalov 3323fd5a11 Check "kotlin" package usage when compiling common code
#KT-25369 Fixed
2018-07-26 17:10:33 +02:00
Zalim Bashorov a6cd552a71 [JS IR BE] Implement Long.rangeTo and unmute tests 2018-07-25 14:51:08 +03:00
Svyatoslav Kuzmich 625983b28a [JS IR BE] Enum class lowering 2018-07-23 15:08:18 +03:00
Roman Elizarov 819ffe7117 Remove suspending function migration adapters for 1.3-M1 2018-07-20 16:57:42 +03:00
Roman Elizarov f5193802fc Uncommented coroutines tests that were failing due to inline class bugs 2018-07-19 10:32:55 +03:00
Roman Elizarov 20c255948a Coroutines migration adapters 2018-07-18 12:29:17 +03:00
Svyatoslav Kuzmich 1abb4f42ac [JS IR BE] Add ranges to runtime, rangeTo for primitive numbers 2018-07-17 20:18:29 +03:00
Ilmir Usmanov 991b4251f3 Remove redundant RequireKotlin annotations from coroutines' stdlib. 2018-07-17 17:31:03 +03:00
Roman Elizarov 2236049341 Wrapper for suspend fun main and @Test suspend fun testXXX functions. 2018-07-17 12:15:02 +03:00
Roman Elizarov d33d21907d SuccessOrFailure test on JVM added 2018-07-17 12:15:01 +03:00
Roman Elizarov 0b59061bfe Coroutines debug probes 2018-07-17 12:15:01 +03:00
Roman Elizarov 78192ea712 Fixed createCoroutineFromSuspendFunction
Passes an object that extends BaseContinuationImpl to the
suspend function invocation, so that it can use .intercepted on it.
This requires implementation to track its state via label variable.
2018-07-17 12:14:59 +03:00
Roman Elizarov d3982472a4 Explanatory comment to createCoroutineFromSuspendFunction 2018-07-17 11:28:48 +03:00
Roman Elizarov 96b5bb1b31 Fixed JVM Serialization problems:
* EmptyCoroutineContext readResolve fixed
* CombinedContext.writeReplace serializes all context elements
2018-07-17 11:28:38 +03:00
Roman Elizarov e0f6165f10 Updated SuccessOrFailure:
* Parameter names for lambda
* getOrElse takes exception parameters
* fold added
* Improved docs
2018-07-17 11:26:49 +03:00
Mikhael Bogdanov 1d283d243e Support @JvmField on interface properties
#KT-15807 Fixed
2018-07-16 16:13:15 +02:00
Anton Bannykh 99ac43eb84 JS: implement release coroutines in stdlib 2018-07-12 14:18:34 +03:00
Anton Bannykh 9e9b27fe79 JS IR: bug fixes 2018-07-11 14:49:36 +03:00
Anton Bannykh 9233e6c176 JS IR: char (always boxed for now) 2018-07-11 14:49:36 +03:00
Ilmir Usmanov 6ba2baa9da Deserialize constructors and properties with version requirement 1.3
if they have suspend function type in their descriptors.
Also, review fixes.

 #KT-25256: Fixed
2018-07-11 14:20:46 +03:00
Ilmir Usmanov 5b7e099842 Read old suspend functions in 1.3 2018-07-11 14:20:41 +03:00
Svyatoslav Kuzmich 77ad97a39e [JS IR BE] Bridges construction 2018-07-10 14:11:09 +03:00
Svyatoslav Kuzmich a2f89cc711 [JS IR BE] Eqeq operator lowering. IntrinsicifyCallsLowering.kt refactoring 2018-07-10 14:11:08 +03:00
Anton Bannykh 65846d783d JS IR: Long 2018-07-10 13:34:19 +03:00
Ilya Gorbunov b7d3382f13 Report more diagnostics when JDK8PlatformImplementations can't be cast to base type
#EA-120914 - CCE: PlatformImplementationsKt.<clinit>
2018-07-09 22:13:57 +03:00
Ilya Gorbunov be8cb94105 Add failing tests for overflow in empty progressions KT-24204 2018-07-09 22:08:01 +03:00
Dmitry Savvinov 668bd209f2 Use -Xallow-kotlin-package while compiling common sources
K2MetadataCompiler doesn't perform explicit check of compilation of
'kotlin' package, thus stdlib build wasn't passing '-Xallow-kotlin-package'.

However, we have special hack for compiling stdlib with contracts: if
'-Xallow-kotlin-package' is passed, then allow compiling contracts for
custom functions. We have to do it this way, because we don't want
stdlib artifacts to be marked with pre-release flag, even though
contracts for custom functions are not enabled yet
(see eae9923dbe).

Therefore, it's crucial to pass -Xallow-kotlin-package properly for that
side-effect.
2018-07-09 18:57:58 +03:00