From ad24092fd1fde862e8845ef435e3a3898e736685 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Wed, 20 Jan 2016 19:04:13 +0300 Subject: [PATCH] Move InlineOnly to kotlin.internal package --- .../kotlin/resolve/AnnotationUtil.kt | 2 +- .../codegen/bytecodeListing/inlineOnly.kt | 4 ++-- .../codegen/bytecodeListing/inlineOnly.txt | 4 ++-- .../stdlib/src/kotlin/internal/Annotations.kt | 9 +++++++- .../src/kotlin/jvm/internal/Annotations.kt | 21 ------------------- 5 files changed, 13 insertions(+), 27 deletions(-) delete mode 100644 libraries/stdlib/src/kotlin/jvm/internal/Annotations.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnnotationUtil.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnnotationUtil.kt index ca3c379490a..5f36281bc10 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnnotationUtil.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnnotationUtil.kt @@ -65,7 +65,7 @@ fun AnnotationDescriptor.argumentValue(parameterName: String): Any? { return constant.value } -private val INLINE_ONLY_ANNOTATION_FQ_NAME = FqName("kotlin.jvm.internal.InlineOnly") +private val INLINE_ONLY_ANNOTATION_FQ_NAME = FqName("kotlin.internal.InlineOnly") fun MemberDescriptor.isInlineOnly(): Boolean { if (this !is FunctionDescriptor) return false diff --git a/compiler/testData/codegen/bytecodeListing/inlineOnly.kt b/compiler/testData/codegen/bytecodeListing/inlineOnly.kt index 34006bfa683..e65e3f817e2 100644 --- a/compiler/testData/codegen/bytecodeListing/inlineOnly.kt +++ b/compiler/testData/codegen/bytecodeListing/inlineOnly.kt @@ -1,5 +1,5 @@ @Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") -@kotlin.jvm.internal.InlineOnly +@kotlin.internal.InlineOnly inline fun foo() { } inline fun bar() { } @@ -8,7 +8,7 @@ inline fun baz() {} class Foo { @Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") - @kotlin.jvm.internal.InlineOnly + @kotlin.internal.InlineOnly inline fun foo() { } inline fun bar() { } diff --git a/compiler/testData/codegen/bytecodeListing/inlineOnly.txt b/compiler/testData/codegen/bytecodeListing/inlineOnly.txt index 355583b230f..f230d9cb182 100644 --- a/compiler/testData/codegen/bytecodeListing/inlineOnly.txt +++ b/compiler/testData/codegen/bytecodeListing/inlineOnly.txt @@ -4,7 +4,7 @@ public final class Foo { public method (): void public final method bar(): void private final method baz(): void - private final @kotlin.jvm.internal.InlineOnly method foo(): void + private final @kotlin.internal.InlineOnly method foo(): void } @kotlin.Metadata @@ -12,5 +12,5 @@ public final class Foo { public final class InlineOnlyKt { public final static method bar(): void private final static method baz(): void - private final static @kotlin.jvm.internal.InlineOnly method foo(): void + private final static @kotlin.internal.InlineOnly method foo(): void } diff --git a/libraries/stdlib/src/kotlin/internal/Annotations.kt b/libraries/stdlib/src/kotlin/internal/Annotations.kt index ed31c96b3f2..a8c0c065788 100644 --- a/libraries/stdlib/src/kotlin/internal/Annotations.kt +++ b/libraries/stdlib/src/kotlin/internal/Annotations.kt @@ -50,4 +50,11 @@ internal annotation class HidesMembers */ @Target(AnnotationTarget.TYPE_PARAMETER) @Retention(AnnotationRetention.BINARY) -internal annotation class OnlyInputTypes \ No newline at end of file +internal annotation class OnlyInputTypes + +/** + * Specifies that this function should not be called directly without inlining + */ +@Target(AnnotationTarget.FUNCTION) +@Retention(AnnotationRetention.BINARY) +internal annotation class InlineOnly diff --git a/libraries/stdlib/src/kotlin/jvm/internal/Annotations.kt b/libraries/stdlib/src/kotlin/jvm/internal/Annotations.kt deleted file mode 100644 index b359890358d..00000000000 --- a/libraries/stdlib/src/kotlin/jvm/internal/Annotations.kt +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2010-2016 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package kotlin.jvm.internal - -@Target(AnnotationTarget.FUNCTION) -@Retention(AnnotationRetention.BINARY) -internal annotation class InlineOnly