From 366e28775f9febd6b17a548363263e49b98a5d99 Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Wed, 19 Apr 2017 18:01:39 +0300 Subject: [PATCH] Added @FixmeInline and commented some inline functions --- runtime/src/main/kotlin/konan/Annotations.kt | 2 ++ .../kotlin/coroutines/experimental/intrinsics/Intrinsics.kt | 6 ++++-- runtime/src/main/kotlin/kotlin/text/Strings.kt | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/runtime/src/main/kotlin/konan/Annotations.kt b/runtime/src/main/kotlin/konan/Annotations.kt index b20002f2279..0c62455c14a 100644 --- a/runtime/src/main/kotlin/konan/Annotations.kt +++ b/runtime/src/main/kotlin/konan/Annotations.kt @@ -80,6 +80,8 @@ public annotation class FixmeReflection */ public annotation class FixmeConcurrency +public annotation class FixmeInline + /** * Need to be fixed. */ diff --git a/runtime/src/main/kotlin/kotlin/coroutines/experimental/intrinsics/Intrinsics.kt b/runtime/src/main/kotlin/kotlin/coroutines/experimental/intrinsics/Intrinsics.kt index 8867a619b00..b5f3288037d 100644 --- a/runtime/src/main/kotlin/kotlin/coroutines/experimental/intrinsics/Intrinsics.kt +++ b/runtime/src/main/kotlin/kotlin/coroutines/experimental/intrinsics/Intrinsics.kt @@ -90,9 +90,11 @@ public fun (suspend R.() -> T).createCoroutineUnchecked( (this.create(receiver, completion) as CoroutineImpl).facade // INTERNAL DEFINITIONS -private inline fun buildContinuationByInvokeCall( +// TODO: uncomment as soon as inlining works for stdlib. +@FixmeInline +private /*inline*/ fun buildContinuationByInvokeCall( completion: Continuation, - crossinline block: () -> Any? + /*crossinline*/ block: () -> Any? ): Continuation { val continuation = object : Continuation { diff --git a/runtime/src/main/kotlin/kotlin/text/Strings.kt b/runtime/src/main/kotlin/kotlin/text/Strings.kt index 7a32ded565d..53d5925f2aa 100644 --- a/runtime/src/main/kotlin/kotlin/text/Strings.kt +++ b/runtime/src/main/kotlin/kotlin/text/Strings.kt @@ -314,7 +314,7 @@ public inline fun String.subSequence(start: Int, end: Int): CharSequence = subSe * @param endIndex the end index (exclusive). If not specified, the length of the char sequence is used. */ // TODO: uncomment as soon as inlining works for stdlib. -@Fixme +@FixmeInline @kotlin.internal.InlineOnly public /*inline*/ fun CharSequence.substring(startIndex: Int, endIndex: Int = length): String = subSequence(startIndex, endIndex).toString()