From 45481b214a9c2d6efdfbe0cbfee48e47b62957ea Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Thu, 23 Apr 2020 15:27:25 +0300 Subject: [PATCH] Use kotlin.Throws in NativeThrowsChecker KT-35468 --- .../diagnostics/nativeTests/throws.kt | 14 +++- .../diagnostics/nativeTests/throws.txt | 81 ++++++++++--------- .../konan/diagnostics/NativeThrowsChecker.kt | 4 +- 3 files changed, 55 insertions(+), 44 deletions(-) diff --git a/compiler/testData/diagnostics/nativeTests/throws.kt b/compiler/testData/diagnostics/nativeTests/throws.kt index 70f94105ab2..70edb551462 100644 --- a/compiler/testData/diagnostics/nativeTests/throws.kt +++ b/compiler/testData/diagnostics/nativeTests/throws.kt @@ -1,7 +1,17 @@ -// FILE: annotation.kt +// FILE: throws.kt +package kotlin + +import kotlin.reflect.KClass + +@Target(AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CONSTRUCTOR) +@Retention(AnnotationRetention.SOURCE) +public annotation class Throws(vararg val exceptionClasses: KClass) + +// FILE: native.kt package kotlin.native -annotation class Throws(vararg val exceptionClasses: kotlin.reflect.KClass) +@Deprecated("") +public typealias Throws = kotlin.Throws // FILE: test.kt class Exception1 : Throwable() diff --git a/compiler/testData/diagnostics/nativeTests/throws.txt b/compiler/testData/diagnostics/nativeTests/throws.txt index d7ec2a99aa8..0e3d33776f5 100644 --- a/compiler/testData/diagnostics/nativeTests/throws.txt +++ b/compiler/testData/diagnostics/nativeTests/throws.txt @@ -1,6 +1,6 @@ package -@kotlin.native.Throws(exceptionClasses = {}) public fun foo(): kotlin.Unit +@kotlin.Throws(exceptionClasses = {}) public fun foo(): kotlin.Unit public fun withLocalClass(): kotlin.Unit public interface Base0 { @@ -12,42 +12,42 @@ public interface Base0 { public interface Base1 { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class}) public abstract fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class}) public abstract fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface Base2 { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception2::class}) public abstract fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception2::class}) public abstract fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface Base3 { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception3::class}) public abstract fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception3::class}) public abstract fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface Base4 { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class}) public abstract fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class}) public abstract fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface Base5 { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class, Exception2::class}) public abstract fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class, Exception2::class}) public abstract fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface Base6 { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception2::class, Exception1::class}) public abstract fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception2::class, Exception1::class}) public abstract fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } @@ -55,7 +55,7 @@ public interface Base6 { public final class DifferentThrowsOnOverride : Base1 { public constructor DifferentThrowsOnOverride() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception2::class}) public open override /*1*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception2::class}) public open override /*1*/ fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } @@ -90,14 +90,14 @@ public final class Exception3 : kotlin.Throwable { public final class HasThrowsWithEmptyListOnOverride : Base1 { public constructor HasThrowsWithEmptyListOnOverride() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {}) public open override /*1*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {}) public open override /*1*/ fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface IncompatibleThrowsOnFakeOverride : Base1, Base2 { public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class}) public abstract override /*2*/ /*fake_override*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class}) public abstract override /*2*/ /*fake_override*/ fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } @@ -185,7 +185,7 @@ public final class OverrideDifferentThrows4 : OverridesDifferentThrows3 { public final class OverrideDifferentThrows5 : OverridesDifferentThrows3 { public constructor OverrideDifferentThrows5() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception3::class}) public open override /*1*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception3::class}) public open override /*1*/ fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } @@ -193,7 +193,7 @@ public final class OverrideDifferentThrows5 : OverridesDifferentThrows3 { public final class OverrideDifferentThrows6 : OverridesDifferentThrows3 { public constructor OverrideDifferentThrows6() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class}) public open override /*1*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class}) public open override /*1*/ fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } @@ -201,7 +201,7 @@ public final class OverrideDifferentThrows6 : OverridesDifferentThrows3 { public final class OverrideDifferentThrows7 : Base1, Base4 { public constructor OverrideDifferentThrows7() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception2::class}) public open override /*2*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception2::class}) public open override /*2*/ fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } @@ -209,7 +209,7 @@ public final class OverrideDifferentThrows7 : Base1, Base4 { public final class OverrideDifferentThrows8 : Base1, Base3 { public constructor OverrideDifferentThrows8() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception2::class}) public open override /*2*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception2::class}) public open override /*2*/ fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } @@ -217,7 +217,7 @@ public final class OverrideDifferentThrows8 : Base1, Base3 { public final class OverrideDifferentThrowsOnFakeOverride : ThrowsOnFakeOverride { public constructor OverrideDifferentThrowsOnFakeOverride() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception2::class}) public open override /*1*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception2::class}) public open override /*1*/ fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } @@ -225,7 +225,7 @@ public final class OverrideDifferentThrowsOnFakeOverride : ThrowsOnFakeOverride public final class OverrideIncompatibleThrowsOnFakeOverride1 : IncompatibleThrowsOnFakeOverride { public constructor OverrideIncompatibleThrowsOnFakeOverride1() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class}) public open override /*1*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class}) public open override /*1*/ fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } @@ -233,7 +233,7 @@ public final class OverrideIncompatibleThrowsOnFakeOverride1 : IncompatibleThrow public final class OverrideIncompatibleThrowsOnFakeOverride2 : IncompatibleThrowsOnFakeOverride { public constructor OverrideIncompatibleThrowsOnFakeOverride2() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception2::class}) public open override /*1*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception2::class}) public open override /*1*/ fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } @@ -241,7 +241,7 @@ public final class OverrideIncompatibleThrowsOnFakeOverride2 : IncompatibleThrow public open class OverridesDifferentThrows1_1 : Base1, Base2 { public constructor OverridesDifferentThrows1_1() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class}) public open override /*2*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class}) public open override /*2*/ fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } @@ -249,7 +249,7 @@ public open class OverridesDifferentThrows1_1 : Base1, Base2 { public open class OverridesDifferentThrows1_2 : Base1, Base2 { public constructor OverridesDifferentThrows1_2() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception2::class}) public open override /*2*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception2::class}) public open override /*2*/ fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } @@ -257,7 +257,7 @@ public open class OverridesDifferentThrows1_2 : Base1, Base2 { public open class OverridesDifferentThrows1_3 : Base1, Base2 { public constructor OverridesDifferentThrows1_3() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class, Exception2::class}) public open override /*2*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class, Exception2::class}) public open override /*2*/ fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } @@ -265,7 +265,7 @@ public open class OverridesDifferentThrows1_3 : Base1, Base2 { public final class OverridesDifferentThrows2 : InheritsDifferentThrows1, Base3 { public constructor OverridesDifferentThrows2() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception3::class}) public open override /*2*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception3::class}) public open override /*2*/ fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } @@ -273,7 +273,7 @@ public final class OverridesDifferentThrows2 : InheritsDifferentThrows1, Base3 { public open class OverridesDifferentThrows3 : Base1, Base2 { public constructor OverridesDifferentThrows3() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception3::class}) public open override /*2*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception3::class}) public open override /*2*/ fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } @@ -281,7 +281,7 @@ public open class OverridesDifferentThrows3 : Base1, Base2 { public final class OverridesDifferentThrowsMultiple : Base5, Base6 { public constructor OverridesDifferentThrowsMultiple() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class}) public open override /*2*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class}) public open override /*2*/ fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } @@ -289,7 +289,7 @@ public final class OverridesDifferentThrowsMultiple : Base5, Base6 { public final class OverridesDifferentThrowsThroughSameClass1 : InheritsDifferentThrows1 { public constructor OverridesDifferentThrowsThroughSameClass1() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class}) public open override /*1*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class}) public open override /*1*/ fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } @@ -297,7 +297,7 @@ public final class OverridesDifferentThrowsThroughSameClass1 : InheritsDifferent public final class OverridesDifferentThrowsThroughSameClass2 : InheritsDifferentThrows1 { public constructor OverridesDifferentThrowsThroughSameClass2() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception2::class}) public open override /*1*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception2::class}) public open override /*1*/ fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } @@ -305,7 +305,7 @@ public final class OverridesDifferentThrowsThroughSameClass2 : InheritsDifferent public final class OverridesSameThrows : Base1, Base4 { public constructor OverridesSameThrows() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class}) public open override /*2*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class}) public open override /*2*/ fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } @@ -313,7 +313,7 @@ public final class OverridesSameThrows : Base1, Base4 { public final class OverridesSameThrowsMultiple1 : Base5, Base6 { public constructor OverridesSameThrowsMultiple1() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class, Exception2::class}) public open override /*2*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class, Exception2::class}) public open override /*2*/ fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } @@ -321,7 +321,7 @@ public final class OverridesSameThrowsMultiple1 : Base5, Base6 { public final class OverridesSameThrowsMultiple2 : Base5, Base6 { public constructor OverridesSameThrowsMultiple2() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception2::class, Exception1::class}) public open override /*2*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception2::class, Exception1::class}) public open override /*2*/ fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } @@ -329,7 +329,7 @@ public final class OverridesSameThrowsMultiple2 : Base5, Base6 { public final class OverridesThrowsAndNoThrows : Base0, Base1 { public constructor OverridesThrowsAndNoThrows() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class}) public open override /*2*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class}) public open override /*2*/ fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } @@ -337,14 +337,14 @@ public final class OverridesThrowsAndNoThrows : Base0, Base1 { public final class SameThrowsOnOverride : Base1 { public constructor SameThrowsOnOverride() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class}) public open override /*1*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class}) public open override /*1*/ fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface ThrowsOnFakeOverride : Base1 { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class}) public abstract override /*1*/ /*fake_override*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class}) public abstract override /*1*/ /*fake_override*/ fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } @@ -352,21 +352,22 @@ public interface ThrowsOnFakeOverride : Base1 { public final class ThrowsOnOverride : Base0 { public constructor ThrowsOnOverride() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @kotlin.native.Throws(exceptionClasses = {Exception1::class}) public open override /*1*/ fun foo(): kotlin.Unit + @kotlin.Throws(exceptionClasses = {Exception1::class}) public open override /*1*/ fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } package kotlin { - package kotlin.native { + @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CONSTRUCTOR}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) public final annotation class Throws : kotlin.Annotation { + public constructor Throws(/*0*/ vararg exceptionClasses: kotlin.reflect.KClass /*kotlin.Array>*/) + public final val exceptionClasses: kotlin.Array> + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + } - public final annotation class Throws : kotlin.Annotation { - public constructor Throws(/*0*/ vararg exceptionClasses: kotlin.reflect.KClass /*kotlin.Array>*/) - public final val exceptionClasses: kotlin.Array> - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - } + package kotlin.native { + @kotlin.Deprecated(message = "") public typealias Throws = kotlin.Throws } } diff --git a/native/frontend/src/org/jetbrains/kotlin/resolve/konan/diagnostics/NativeThrowsChecker.kt b/native/frontend/src/org/jetbrains/kotlin/resolve/konan/diagnostics/NativeThrowsChecker.kt index 54062b9acea..42a2e722df5 100644 --- a/native/frontend/src/org/jetbrains/kotlin/resolve/konan/diagnostics/NativeThrowsChecker.kt +++ b/native/frontend/src/org/jetbrains/kotlin/resolve/konan/diagnostics/NativeThrowsChecker.kt @@ -9,10 +9,10 @@ package org.jetbrains.kotlin.resolve.konan.diagnostics import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor -import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils +import org.jetbrains.kotlin.resolve.annotations.KOTLIN_THROWS_ANNOTATION_FQ_NAME import org.jetbrains.kotlin.resolve.checkers.DeclarationChecker import org.jetbrains.kotlin.resolve.checkers.DeclarationCheckerContext import org.jetbrains.kotlin.resolve.constants.ArrayValue @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.firstArgument import org.jetbrains.kotlin.utils.DFS object NativeThrowsChecker : DeclarationChecker { - private val throwsFqName = FqName("kotlin.native.Throws") + private val throwsFqName = KOTLIN_THROWS_ANNOTATION_FQ_NAME override fun check(declaration: KtDeclaration, descriptor: DeclarationDescriptor, context: DeclarationCheckerContext) { val throwsAnnotation = descriptor.annotations.findAnnotation(throwsFqName)