Ilya Gorbunov
5867d27fb7
[Standard Library] Take the javaClass deprecation back as its replacement is often inconvenient.
2017-02-22 17:27:20 +03:00
Alexander Udalov
1ee2053a16
Make callable references Serializable on JVM
...
#KT-11254 Fixed
2017-02-16 18:00:18 +03:00
Alexander Udalov
46bd64f59a
Rename FunctionImpl -> FunctionBase, restore abstract class FunctionImpl
...
This fixes the IncompatibleClassChangeError which happens when kotlin-reflect
1.0.x and kotlin-stdlib 1.1.x are in the classpath
#KT-16358 In Progress
2017-02-15 20:43:25 +03:00
Alexander Udalov
8e3cb912c7
Make Ref classes for shared vars Serializable
...
#KT-14566 Fixed
2017-02-15 10:46:48 +03:00
Alexander Udalov
6793861fd4
Add target FIELD for SinceKotlin, annotate CallableReference.receiver/NO_RECEIVER
2017-02-13 14:09:43 +03:00
Ilya Gorbunov
9a7405adc6
Make javaClass extension property inline to remove further references from Kotlin.
2017-02-09 22:15:25 +03:00
Alexander Udalov
845d6526b0
Annotate new API in runtime.jvm with SinceKotlin(1.1)
2017-02-08 13:05:27 +03:00
Ilya Gorbunov
b8de78dd43
Deprecate javaClass with replacement this::class.java.
...
Suppress deprecation in diagnostics tests.
2017-02-07 16:30:22 +03:00
Alexander Udalov
b784680fe2
Fix NPE on equals/hashCode for callable references without kotlin-reflect
...
#KT-11316 Fixed
#KT-15847 Fixed
2017-02-03 19:35:16 +03:00
Mikhael Bogdanov
5cffb3892d
Added intrinsics for nullable Double/Float equals check
2017-02-02 16:31:49 +01:00
Stanislav Erokhin
2aa2df75ae
Make property java available on KClass<T> where T is type parameter without upper bounds.
2017-01-28 03:25:43 +03:00
Denis Zharkov
0e132b9857
Move all coroutine-related declarations from built-ins to stdlib
...
Also move internal declarations from runtime.jvm module into new package
kotlin.coroutines.jvm.internal in stdlib
The necessity of these declarations being in built-ins is controversial,
but also it will complicate the migration of current coroutine runtime
to a separate jar if we ever need this
2017-01-27 23:24:13 +03:00
Alexander Udalov
78f2515e95
Introduce KProperty{0,1,2}.getDelegate
...
#KT-8384 In Progress
2017-01-23 12:25:35 +03:00
Denis Zharkov
85a3fefcc6
Get rid of SuspendFunctionX interfaces
...
Use a pair of effectively abstract methods in CoroutineImpl instead
2017-01-14 15:13:37 +03:00
Roman Elizarov
8d6a913cee
CoroutineContext and ContinuationInterceptor (instead of dispatcher)
2017-01-14 13:24:53 +03:00
Denis Zharkov
7837d736f7
Merge RestrictedCoroutineImpl into CoroutineImpl
2017-01-14 13:24:53 +03:00
Denis Zharkov
d487c1ef0f
Refine dispatching convention
...
Dispatching happens only via `suspendWithCurrentContinuation` calls
instead of each `resume` call
#KT-15657 Fixed
2017-01-14 13:24:53 +03:00
Denis Zharkov
2cb9d3a8ad
Move coroutine intrinsics to kotlin.coroutine.intrinsics package
...
Also rename val SUSPENDED to SUSPENDED_MARKER
#KT-15698 Fixed
2017-01-14 13:24:53 +03:00
Alexander Udalov
e860d620c6
Add script flag to kotlin.Metadata
...
This will allow to distinguish compiled scripts from ordinary classes in the
compiler, reflection, IDE, etc.
#KT-13382 Fixed
2017-01-11 19:28:51 +03:00
Mikhail Zarechenskiy
101ad11db5
Regenerate all automatically-generated data
2017-01-10 14:24:01 +03:00
Mikhael Bogdanov
2566a7a25e
Rename receiver$0 in CallableReference to receiver
...
#KT-15449 Fixed
2016-12-29 16:57:02 +01:00
Denis Zharkov
d0ba048342
Refine coroutine/suspend functions ABI
...
- `invoke` method must always start a suspend functions
- For creation of coroutine that has not been started yet, there are
two special internal interfaces `SuspendFunction0`/`SuspendFunction1`
2016-12-22 11:08:42 +03:00
Roman Elizarov
7b079bd1f7
Renaming after DM
2016-12-15 23:58:22 +03:00
Roman Elizarov
a70ac0160d
fixed runWithCurrentContinuation
2016-12-15 23:58:04 +03:00
Stanislav Erokhin
0132f3eea7
Remove kotlin.coroutine package from default imports.
2016-12-15 23:57:51 +03:00
Stanislav Erokhin
642ea81625
Remove annotation Suspend. Use modificator instead.
2016-12-15 23:57:47 +03:00
Denis Zharkov
72401efb9f
Update coroutine related runtime parts
2016-12-15 23:32:08 +03:00
Roman Elizarov
852a5ee064
New coroutine builder convention API
2016-12-15 23:32:07 +03:00
Ilya Gorbunov
3bedbfae33
Move kotlin.comparisons.Comparator to kotlin package and remove the former from default imports.
2016-12-15 13:39:10 +03:00
Alexander Udalov
1342743001
Add KotlinVersion.IS_PRE_RELEASE and a flag to kotlin/Metadata
2016-12-09 01:59:33 +03:00
Ilya Gorbunov
c3921d1e40
Docs: improve code formatting in PurelyImplements docs, fix MutableList fq-name in example.
2016-12-08 20:34:54 +03:00
Alexander Udalov
0d99801783
Revert "Add NonVolatileRef to runtime"
...
This reverts commit 1e9624901a .
For more information, see
https://discuss.kotlinlang.org/t/non-volatile-vs-volatile-captured-refs-by-default/
#KT-14746 Fixed
2016-12-06 14:59:15 +03:00
Alexander Udalov
04d4351e30
Revert "Make Ref fields volatile"
...
This reverts commit 6b348bfc6e .
For more information, see
https://discuss.kotlinlang.org/t/non-volatile-vs-volatile-captured-refs-by-default/
#KT-14746 In Progress
2016-12-06 14:59:14 +03:00
Dmitry Petrov
5879e201cd
Proper equality comparison for bound callable references represented as reflection objects
...
(including references to property accessors).
2016-11-25 14:49:24 +03:00
Dmitry Petrov
3dd0c9d1c7
Equality comparison for bound callable references takes into account bound receiver.
...
Fixed KT-14939: use expected receiver type when generating receiver code in get/set methods for bound property references.
Otherwise we have VerifyError for bound receiver 'null' of type 'Nothing?', which is mapped to 'java.lang.Void'.
TODO: proper equality comparison for property accessors ('x::prop.getter', 'x::prop.setter').
2016-11-25 14:49:24 +03:00
Ilya Gorbunov
03bbe875d4
Fix the links to the language docs from JvmStatic and JvmName annotations. Add a link from JvmField annotation.
...
#KT-14953 Fixed
2016-11-23 23:41:16 +03:00
Ilya Gorbunov
b556adf8db
Move/alias Appendable and StringBuilder to kotlin.text
...
#KT-2084
2016-11-16 18:47:42 +03:00
Alexander Udalov
7e82d139cf
Drop KFunction.isTailrec
...
The fate of this modifier seems unclear, and there doesn't seem to be any
valuable use cases for it in reflection
2016-11-15 11:01:16 +03:00
Denis Zharkov
50a5c08603
Optimize visibility for controller field in CoroutineImpl
...
While it's impossible to declare a property with protected field and public
getter we split these entities
- `_controller` field is used inside coroutines
- `controller` getter is used for accesing controller from noinline lambdas
(also it can be used to obtain controller from continuation by explicit cast)
2016-11-09 12:25:31 +03:00
Denis Zharkov
7e49db8768
Introduce CoroutineImpl as a common super class for coroutines
...
The main benefit are class-files sizes for them
(not repeating the same declaration for each coroutine)
Also it helped to simplify coroutine codegen code a little
Note that controller/label field become non-volatile (see KT-14636)
#KT-14636 In Progress
2016-11-09 12:25:31 +03:00
Ilya Ryzhenkov
f79116a6d8
Optimize reflection by using Class.getName instead of Class.getCanonicalName
2016-10-31 20:17:33 +03:00
Ilya Gorbunov
11b03ebbb3
Annotate type aliases in kotlin-runtime with SinceKotlin
2016-10-21 18:19:03 +03:00
Ilya Gorbunov
2a7717214b
Annotate new API with @SinceKotlin in kotlin-runtime except reflection and type aliases.
2016-10-13 08:37:31 +03:00
Ilya Chernikov
846797ff61
Switch to templates in the separate script runtime
2016-10-12 15:38:52 +02:00
Ilya Chernikov
bdaaf4fb09
Add more basic script templates to runtime
2016-10-12 15:37:51 +02:00
Ilya Gorbunov
3baf2f8942
Use fully-qualified references to exceptions in kotlin-runtime
2016-10-10 20:14:32 +03:00
Ilya Gorbunov
71af020beb
Use explicit public visibility in kotlin-runtime.
2016-09-20 17:38:51 +03:00
Mikhail Zarechenskiy
428763e886
Introduce default script template definition into runtime.jvm
2016-09-20 11:29:02 +03:00
Alexander Udalov
d128827a34
Inherit FunctionReference from CallableReference
...
This became possible now because FunctionImpl is no longer a class
2016-09-13 14:12:32 +03:00
Alexander Udalov
dcc66a6400
Drop KFunctionFromReferenceImpl, make FunctionImpl an interface
...
23 invokes in KFunctionFromReferenceImpl (and consequently, in FunctionImpl)
were needed before 1576160390 : a wrapped function
reference must have had the necessary invoke to be called as an instance of a
specific function type. After 1576160390 , this is
not needed anymore because KFunctionFromReferenceImpl is now an internal
implementation detail of reflection, and no invoke is ever called on it.
2016-09-13 14:12:30 +03:00