Alexander Udalov
49de52e7ef
Fix kotlinFunction for inline reified methods in reflection
...
Inline functions with reified type parameters are generated as private (see
AsmUtil.specialCaseVisibility), so we should treat them as "declared" in
reflection to look them up via getDeclaredMethod, not getMethod
#KT-14721 Fixed
2016-12-16 13:12:41 +03:00
Alexander Udalov
3a0100f604
Minor, move isInlineOnlyOrReified to module descriptors
2016-12-16 13:12:40 +03:00
Ilya Gorbunov
b2ccea87f3
Temporary workaround to generate functions with optional parameters with bodies in common code.
2016-12-16 04:36:30 +03:00
Ilya Gorbunov
b72e5c038d
Generate common headers to common/src/generated
2016-12-16 04:36:29 +03:00
Ilya Gorbunov
4f2593fb99
Add preprocessed JVM stdlib sources as common sources
2016-12-16 04:36:27 +03:00
Ilya Gorbunov
88a14056b7
Add hand-written headers for common stdlib
2016-12-16 04:36:25 +03:00
Ilya Gorbunov
d381b56d47
Add module for common stdlib
2016-12-16 04:36:23 +03:00
Ilya Gorbunov
75992173b6
Unify Array.plus and plusElements function templates between JVM and JS.
2016-12-16 04:36:21 +03:00
Ilya Gorbunov
202cd81134
Unify Array.copyOf and copyOfRange function templates between JVM and JS.
2016-12-16 04:36:20 +03:00
Ilya Gorbunov
572a63f0e2
Unify Array.sort and sortWith function templates between JVM and JS.
...
Introduce new inline-only overload Array<out T: Comparable<T>>.sort().
2016-12-16 04:36:18 +03:00
Ilya Gorbunov
e890cb137f
Unify MutableList.reverse function template between JVM and JS
2016-12-16 04:36:16 +03:00
Ilya Gorbunov
085f476d22
Unify content[ToString, Equals, HashCode] function templates between JVM and JS
2016-12-16 04:36:14 +03:00
Ilya Gorbunov
f3df648f4a
Unify toTypedArray and asList templates between JVM and JS
2016-12-16 04:36:12 +03:00
Ilya Gorbunov
3d7e6e1996
Refactor stdlib generator: introduce platform-specialized properties.
...
Use Kotlin 1.1-M03 to utilize new language features.
2016-12-16 04:31:07 +03:00
Ilya Gorbunov
c097f326fb
Generate common headers of stdlib functions. What constitutes the header is yet to be decided.
2016-12-16 04:31:07 +03:00
Ilya Gorbunov
6ea1cde449
Generate additional sources for JS instead of copying them from JVM
2016-12-16 04:31:07 +03:00
Ilya Gorbunov
bc2d7dda2c
kotlin-stdlib-generator: Allow to generate top-level functions by specifying empty custom receiver. Allow to parametrize primitive specialization bodies with the type of primitive.
2016-12-16 04:31:07 +03:00
Ilya Gorbunov
236333e475
Update public API dump for coroutines rev. 2
2016-12-16 04:28:32 +03:00
Stanislav Erokhin
d7566d84d0
Fixed testdata.
2016-12-16 02:01:12 +03:00
Stanislav Erokhin
ab53978793
Allowed ast access for some tests.
2016-12-16 00:57:04 +03:00
Alexey Andreev
bba5c16653
JS: change how coroutine start intrinsic gets detected
2016-12-16 00:57:02 +03:00
Alexey Tsvetkov
3af0840512
Test coroutines setting in Gradle plugin
2016-12-15 23:58:32 +03:00
Alexey Tsvetkov
3e1edf006f
Set coroutines setting for JS in Gradle plugin
2016-12-15 23:58:31 +03:00
Mikhail Zarechenskiy
c0a3d3568a
Add test on using kotlin.coroutines property in gradle
2016-12-15 23:58:30 +03:00
Mikhail Zarechenskiy
6697c902fc
Attempt to add property go kotlin gradle plugin
2016-12-15 23:58:29 +03:00
Stanislav Erokhin
957af61464
Regenerate test generated.
2016-12-15 23:58:28 +03:00
Denis Zharkov
f0cda8ac8d
Fix indexing of suspend function types
2016-12-15 23:58:27 +03:00
Stanislav Erokhin
b527a4d158
Global rename in test data for coroutines
...
(cherry picked from commit 132f97b)
2016-12-15 23:58:26 +03:00
Stanislav Erokhin
8968bc3dd6
RestrictSuspension -> RestrictsSuspendExtensions
...
(cherry picked from commit 9e0c733)
2016-12-15 23:58:24 +03:00
Denis Zharkov
c73b0d7b76
Move coroutine intrinsics to object (backend's)
2016-12-15 23:58:23 +03:00
Roman Elizarov
7b079bd1f7
Renaming after DM
2016-12-15 23:58:22 +03:00
Denis Zharkov
31081c6702
Minor. Revert some hacks that became unnecessary after interceptResume removal
2016-12-15 23:58:21 +03:00
Alexey Andreev
e2d969d8b0
JS: implement new coroutine convention
2016-12-15 23:58:20 +03:00
Dmitry Petrov
9fd1ac72a9
Purge remaining traces of @AllowSuspendExtensions.
2016-12-15 23:58:19 +03:00
Stanislav Erokhin
5a353412e4
Fixed KeywordCompletionTests.
2016-12-15 23:58:18 +03:00
Mikhail Zarechenskiy
2ff04f2bc5
Import kotlin.coroutines property from gradle to facet
2016-12-15 23:58:17 +03:00
Dmitry Petrov
f19581dc4d
Suspend lambdas can't have value parameters (UNSUPPORTED in M04).
2016-12-15 23:58:16 +03:00
Stanislav Erokhin
c5aeaae8e6
Support explicit this receiver (this.foo()) for RestrictSuspension function call.
2016-12-15 23:58:15 +03:00
Dmitry Petrov
8e3fd0efc3
If the last argument of a function is a suspend function,
...
suggest trailing lambda variant in completion.
2016-12-15 23:58:14 +03:00
Stanislav Erokhin
f9d550732e
Minor. remove useless call.
2016-12-15 23:58:13 +03:00
Mikhail Zarechenskiy
4b892b1c9c
Report corresponding diagnostic on suspend lambda
2016-12-15 23:58:13 +03:00
Stanislav Erokhin
b88c8ea2e7
Support checks for annotation RestrictSuspension.
2016-12-15 23:58:12 +03:00
Mikhail Zarechenskiy
d1a3c4c48b
Fix description of -Xcoroutines key
2016-12-15 23:58:11 +03:00
Mikhail Zarechenskiy
feefe8d6ff
Propagate coroutine settings support from facet into the language version settings
2016-12-15 23:58:10 +03:00
Mikhail Zarechenskiy
091756b221
Adapt facet, map coroutine settings on three keys
2016-12-15 23:58:09 +03:00
Alexey Sedunov
9460426d26
Kotlin Facet: Add coroutine support setting
2016-12-15 23:58:08 +03:00
Mikhail Zarechenskiy
664485f4bb
Introduce keys to control applicability of coroutines
...
By default now we produce warnings on coroutines
2016-12-15 23:58:07 +03:00
Dmitry Petrov
30710955dc
Minor: 'vararg' is a modifier on value parameters of functional types.
2016-12-15 23:58:06 +03:00
Dmitry Petrov
80bd916f5d
'SuspendFunction$n' should not be visible in member scopes (should be unresolved).
...
'SuspendFunction$n' class descriptors are created on demand by KotlinBuiltIns (and cached).
On serialization, types constructed with 'SuspendFunction$n' are written as 'Function$n' with extra flag (SUSPEND_TYPE).
On deserialization, corresponding 'SuspendFunction$n' classes are used.
2016-12-15 23:58:05 +03:00
Roman Elizarov
a70ac0160d
fixed runWithCurrentContinuation
2016-12-15 23:58:04 +03:00