diff --git a/compiler/testData/builtin-classes.txt b/compiler/testData/builtin-classes.txt index 096c237057e..54390b2a61c 100644 --- a/compiler/testData/builtin-classes.txt +++ b/compiler/testData/builtin-classes.txt @@ -607,22 +607,6 @@ public final enum class InlineOption : kotlin.Enum { public final /*synthesized*/ fun values(): kotlin.Array } -public final enum class InlineStrategy : kotlin.Enum { - enum entry AS_FUNCTION - - enum entry IN_PLACE - - /*primary*/ private constructor InlineStrategy() - protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any - public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: kotlin.InlineStrategy): kotlin.Int - public final override /*1*/ /*fake_override*/ fun name(): kotlin.String - public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int - - // Static members - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): kotlin.InlineStrategy - public final /*synthesized*/ fun values(): kotlin.Array -} - public final class Int : kotlin.Number, kotlin.Comparable { /*primary*/ private constructor Int() public final fun and(/*0*/ other: kotlin.Int): kotlin.Int @@ -1277,9 +1261,7 @@ kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION, Annotation } kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) kotlin.annotation.Retention(value = AnnotationRetention.RUNTIME) kotlin.annotation.MustBeDocumented() kotlin.annotation.annotation() public final class inline : kotlin.Annotation { - /*primary*/ public constructor inline(/*0*/ strategy: kotlin.InlineStrategy = ...) - public final val strategy: kotlin.InlineStrategy - public final fun (): kotlin.InlineStrategy + /*primary*/ public constructor inline() } kotlin.annotation.Target(allowedTargets = {AnnotationTarget.VALUE_PARAMETER}) kotlin.annotation.Retention(value = AnnotationRetention.RUNTIME) kotlin.annotation.MustBeDocumented() kotlin.annotation.annotation() public final class inlineOptions : kotlin.Annotation { diff --git a/compiler/testData/loadJava/compiledKotlin/inline/inlineFunction.kt b/compiler/testData/loadJava/compiledKotlin/inline/inlineFunction.kt index 7479e56870d..87211fc54a6 100644 --- a/compiler/testData/loadJava/compiledKotlin/inline/inlineFunction.kt +++ b/compiler/testData/loadJava/compiledKotlin/inline/inlineFunction.kt @@ -3,8 +3,8 @@ package test inline fun a() {} -inline(InlineStrategy.AS_FUNCTION) fun b() {} +inline fun b() {} -inline(InlineStrategy.IN_PLACE) fun c() {} +inline fun c() {} -inline(strategy = InlineStrategy.IN_PLACE) fun d() {} \ No newline at end of file +inline fun d() {} \ No newline at end of file diff --git a/compiler/testData/loadJava/compiledKotlin/inline/inlineFunction.txt b/compiler/testData/loadJava/compiledKotlin/inline/inlineFunction.txt index e1551eb89c4..dcf07d9a6fd 100644 --- a/compiler/testData/loadJava/compiledKotlin/inline/inlineFunction.txt +++ b/compiler/testData/loadJava/compiledKotlin/inline/inlineFunction.txt @@ -1,6 +1,6 @@ package test kotlin.inline() public fun a(): kotlin.Unit -kotlin.inline(strategy = InlineStrategy.AS_FUNCTION) public fun b(): kotlin.Unit -kotlin.inline(strategy = InlineStrategy.IN_PLACE) public fun c(): kotlin.Unit -kotlin.inline(strategy = InlineStrategy.IN_PLACE) public fun d(): kotlin.Unit +kotlin.inline() public fun b(): kotlin.Unit +kotlin.inline() public fun c(): kotlin.Unit +kotlin.inline() public fun d(): kotlin.Unit diff --git a/core/builtins/src/kotlin/Inline.kt b/core/builtins/src/kotlin/Inline.kt index 1e5be53d2e1..5a7a9698080 100644 --- a/core/builtins/src/kotlin/Inline.kt +++ b/core/builtins/src/kotlin/Inline.kt @@ -31,33 +31,13 @@ public annotation class noinline * functions can contain non-local returns. * See the [Kotlin language documentation](http://kotlinlang.org/docs/reference/inline-functions.html) for more information. * - * @property strategy the [InlineStrategy] to use for inlining this function. - * * @see noinline * @see inlineOptions */ @Target(AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY) @Retention(AnnotationRetention.RUNTIME) @MustBeDocumented -public annotation class inline(public val strategy: InlineStrategy = InlineStrategy.AS_FUNCTION) - -/** - * Specifies the strategy for code generation for an inline function. - */ -public enum class InlineStrategy { - /** - * Specifies that the body of the inline function together with the bodies of the lambdas passed to it - * is generated as a separate method invoked from the calling function. - */ - AS_FUNCTION, - - /** - * Specifies that the body of the inline function together with the bodies of the lambdas passed to it - * is inlined directly into the calling function. - */ - IN_PLACE -} - +public annotation class inline /** * Specifies options for allowed control flow in inlined lambdas. Lambdas which are invoked directly by the