diff --git a/compiler/testData/diagnostics/tests/PackageInTypePosition.txt b/compiler/testData/diagnostics/tests/PackageInTypePosition.txt index 2040d6a0607..16148e12ad9 100644 --- a/compiler/testData/diagnostics/tests/PackageInTypePosition.txt +++ b/compiler/testData/diagnostics/tests/PackageInTypePosition.txt @@ -1,6 +1,6 @@ package -@[ERROR : foo]() public fun bar(/*0*/ p: [ERROR : foo]): [ERROR : foo] +@[ERROR : foo]() /* annotation class not found */ public fun bar(/*0*/ p: [ERROR : foo]): [ERROR : foo] package foo { } diff --git a/compiler/testData/diagnostics/tests/annotations/AmbigiousAnnotationConstructor.txt b/compiler/testData/diagnostics/tests/annotations/AmbigiousAnnotationConstructor.txt index 4303a2de1ec..1c6313399eb 100644 --- a/compiler/testData/diagnostics/tests/annotations/AmbigiousAnnotationConstructor.txt +++ b/compiler/testData/diagnostics/tests/annotations/AmbigiousAnnotationConstructor.txt @@ -2,4 +2,4 @@ package @java.lang.Deprecated() public fun a(): kotlin.Unit @java.util.ArrayList() public fun b(): kotlin.Unit -@[ERROR : Xoo]() public fun c(): kotlin.Unit +@[ERROR : Xoo]() /* annotation class not found */ public fun c(): kotlin.Unit diff --git a/compiler/testData/diagnostics/tests/annotations/AnnotationForObject.txt b/compiler/testData/diagnostics/tests/annotations/AnnotationForObject.txt index 946a6700f79..1585470cf15 100644 --- a/compiler/testData/diagnostics/tests/annotations/AnnotationForObject.txt +++ b/compiler/testData/diagnostics/tests/annotations/AnnotationForObject.txt @@ -1,6 +1,6 @@ package -@[ERROR : someErrorAnnotation]() public object Test { +@[ERROR : someErrorAnnotation]() /* annotation class not found */ public object Test { private constructor Test() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int diff --git a/compiler/testData/diagnostics/tests/annotations/UnresolvedAnnotationOnObject.txt b/compiler/testData/diagnostics/tests/annotations/UnresolvedAnnotationOnObject.txt index a5130af0767..d067ab203b8 100644 --- a/compiler/testData/diagnostics/tests/annotations/UnresolvedAnnotationOnObject.txt +++ b/compiler/testData/diagnostics/tests/annotations/UnresolvedAnnotationOnObject.txt @@ -3,7 +3,7 @@ package package test { public val some: test.SomeObject - @[ERROR : BadAnnotation]() public object SomeObject { + @[ERROR : BadAnnotation]() /* annotation class not found */ public object SomeObject { private constructor SomeObject() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int diff --git a/compiler/testData/diagnostics/tests/annotations/kt1860-negative.txt b/compiler/testData/diagnostics/tests/annotations/kt1860-negative.txt index 99781faada0..3f2bbb28904 100644 --- a/compiler/testData/diagnostics/tests/annotations/kt1860-negative.txt +++ b/compiler/testData/diagnostics/tests/annotations/kt1860-negative.txt @@ -2,10 +2,10 @@ package public var bar: kotlin.Int public val x: (kotlin.Int) -> kotlin.Int -public fun foo(/*0*/ @[ERROR : varargs]() f: kotlin.Int): kotlin.Unit +public fun foo(/*0*/ @[ERROR : varargs]() /* annotation class not found */ f: kotlin.Int): kotlin.Unit public final class Hello { - public constructor Hello(/*0*/ @[ERROR : varargs]() args: kotlin.Any) + public constructor Hello(/*0*/ @[ERROR : varargs]() /* annotation class not found */ args: kotlin.Any) 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 diff --git a/compiler/testData/diagnostics/tests/annotations/typeParameterAsAnnotation.txt b/compiler/testData/diagnostics/tests/annotations/typeParameterAsAnnotation.txt index eab87624903..778a8df5168 100644 --- a/compiler/testData/diagnostics/tests/annotations/typeParameterAsAnnotation.txt +++ b/compiler/testData/diagnostics/tests/annotations/typeParameterAsAnnotation.txt @@ -3,7 +3,7 @@ package public final class Bar { public constructor Bar() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @[ERROR : Not an annotation: T]() public final fun foo(): kotlin.Int + @[ERROR : Not an annotation: T]() /* annotation class not found */ public final fun foo(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } @@ -11,7 +11,7 @@ public final class Bar { public final class Foo { public constructor Foo() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @[ERROR : Not an annotation: T]() public final fun foo(): kotlin.Int + @[ERROR : Not an annotation: T]() /* annotation class not found */ public final fun foo(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } diff --git a/compiler/testData/diagnostics/tests/annotations/unresolvedReferenceRange.txt b/compiler/testData/diagnostics/tests/annotations/unresolvedReferenceRange.txt index 102dd469cc9..eaebc04e480 100644 --- a/compiler/testData/diagnostics/tests/annotations/unresolvedReferenceRange.txt +++ b/compiler/testData/diagnostics/tests/annotations/unresolvedReferenceRange.txt @@ -1,34 +1,34 @@ package -@[ERROR : Ann]() public final class A { +@[ERROR : Ann]() /* annotation class not found */ public final class A { public constructor A() 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 } -@[ERROR : Ann]() public final class B { +@[ERROR : Ann]() /* annotation class not found */ public final class B { public constructor B() 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 } -@[ERROR : Ann]() public final class C { +@[ERROR : Ann]() /* annotation class not found */ public final class C { public constructor C() 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 } -@[ERROR : kotlin.Ann]() public final class D { +@[ERROR : kotlin.Ann]() /* annotation class not found */ public final class D { public constructor D() 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 } -@[ERROR : kotlin.annotation.Ann]() public final class E { +@[ERROR : kotlin.annotation.Ann]() /* annotation class not found */ public final class E { public constructor E() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int diff --git a/compiler/testData/diagnostics/tests/inner/selfAnnotationForClassObject.txt b/compiler/testData/diagnostics/tests/inner/selfAnnotationForClassObject.txt index ca324a6c3f3..5cfacf3b553 100644 --- a/compiler/testData/diagnostics/tests/inner/selfAnnotationForClassObject.txt +++ b/compiler/testData/diagnostics/tests/inner/selfAnnotationForClassObject.txt @@ -6,7 +6,7 @@ public final class Test { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - @[ERROR : ClassObjectAnnotation]() @Test.NestedAnnotation() public companion object Companion { + @[ERROR : ClassObjectAnnotation]() /* annotation class not found */ @Test.NestedAnnotation() public companion object Companion { private constructor Companion() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int diff --git a/compiler/testData/diagnostics/tests/j+k/annotationWithArgumentsMissingDependencies.txt b/compiler/testData/diagnostics/tests/j+k/annotationWithArgumentsMissingDependencies.txt index 7e9b5d313ff..d8c6700b56f 100644 --- a/compiler/testData/diagnostics/tests/j+k/annotationWithArgumentsMissingDependencies.txt +++ b/compiler/testData/diagnostics/tests/j+k/annotationWithArgumentsMissingDependencies.txt @@ -2,10 +2,10 @@ package public fun main(): kotlin.Unit -@missing.Ann() public open class A { +@missing.Ann() /* annotation class not found */ public open class A { public constructor A() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - @missing.Ann() public open fun foo(): kotlin.String! + @missing.Ann() /* annotation class not found */ public open fun foo(): kotlin.String! public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } diff --git a/compiler/testData/diagnostics/tests/platformTypes/noAnnotationInClassPath.txt b/compiler/testData/diagnostics/tests/platformTypes/noAnnotationInClassPath.txt index e5bb47b5c19..0c1976f1bd3 100644 --- a/compiler/testData/diagnostics/tests/platformTypes/noAnnotationInClassPath.txt +++ b/compiler/testData/diagnostics/tests/platformTypes/noAnnotationInClassPath.txt @@ -5,7 +5,7 @@ public fun test(): kotlin.Unit public interface A { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public abstract fun foo(/*0*/ @javax.annotation.Nullable() y: T?): kotlin.Boolean + public abstract fun foo(/*0*/ @javax.annotation.Nullable() /* annotation class not found */ y: T?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } diff --git a/compiler/testData/diagnostics/tests/regressions/ea65509.txt b/compiler/testData/diagnostics/tests/regressions/ea65509.txt index 5ca99c559fe..49cd925289b 100644 --- a/compiler/testData/diagnostics/tests/regressions/ea65509.txt +++ b/compiler/testData/diagnostics/tests/regressions/ea65509.txt @@ -2,7 +2,7 @@ package public final class ClassB { public constructor ClassB() - @[ERROR : ClassA]() public final fun (): kotlin.Unit + @[ERROR : ClassA]() /* annotation class not found */ public final fun (): kotlin.Unit 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 diff --git a/compiler/testData/diagnostics/tests/regressions/kt1639-JFrame.txt b/compiler/testData/diagnostics/tests/regressions/kt1639-JFrame.txt index 98a45956172..628d3792e9c 100644 --- a/compiler/testData/diagnostics/tests/regressions/kt1639-JFrame.txt +++ b/compiler/testData/diagnostics/tests/regressions/kt1639-JFrame.txt @@ -293,10 +293,10 @@ package test { invisible_fake final override /*1*/ /*fake_override*/ fun getFocusTraversalKeys_NoIDCheck(/*0*/ p0: kotlin.Int): kotlin.collections.(Mutable)Set<(raw) kotlin.Any?>! public open override /*1*/ /*fake_override*/ fun getFocusTraversalPolicy(): [ERROR : Unresolved java classifier: FocusTraversalPolicy]! public open override /*1*/ /*fake_override*/ fun getFocusableWindowState(): kotlin.Boolean - @java.beans.Transient() public open override /*1*/ /*fake_override*/ fun getFont(): [ERROR : Unresolved java classifier: Font]! + @java.beans.Transient() /* annotation class not found */ public open override /*1*/ /*fake_override*/ fun getFont(): [ERROR : Unresolved java classifier: Font]! public open override /*1*/ /*fake_override*/ fun getFontMetrics(/*0*/ p0: [ERROR : Unresolved java classifier: Font]!): [ERROR : Unresolved java classifier: FontMetrics]! invisible_fake final override /*1*/ /*fake_override*/ fun getFont_NoClientCode(): [ERROR : Unresolved java classifier: Font]! - @java.beans.Transient() public open override /*1*/ /*fake_override*/ fun getForeground(): [ERROR : Unresolved java classifier: Color]! + @java.beans.Transient() /* annotation class not found */ public open override /*1*/ /*fake_override*/ fun getForeground(): [ERROR : Unresolved java classifier: Color]! public open override /*1*/ /*fake_override*/ fun getGlassPane(): java.awt.Component! public open override /*1*/ /*fake_override*/ fun getGraphics(): [ERROR : Unresolved java classifier: Graphics]! public open override /*1*/ /*fake_override*/ fun getGraphicsConfiguration(): [ERROR : Unresolved java classifier: GraphicsConfiguration]! @@ -450,7 +450,7 @@ package test { public open override /*1*/ /*fake_override*/ fun isUndecorated(): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun isValid(): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun isValidateRoot(): kotlin.Boolean - @java.beans.Transient() public open override /*1*/ /*fake_override*/ fun isVisible(): kotlin.Boolean + @java.beans.Transient() /* annotation class not found */ public open override /*1*/ /*fake_override*/ fun isVisible(): kotlin.Boolean invisible_fake final override /*1*/ /*fake_override*/ fun isVisible_NoClientCode(): kotlin.Boolean @kotlin.Deprecated(message = "Deprecated in Java") public open override /*1*/ /*fake_override*/ fun keyDown(/*0*/ p0: [ERROR : Unresolved java classifier: Event]!, /*1*/ p1: kotlin.Int): kotlin.Boolean @kotlin.Deprecated(message = "Deprecated in Java") public open override /*1*/ /*fake_override*/ fun keyUp(/*0*/ p0: [ERROR : Unresolved java classifier: Event]!, /*1*/ p1: kotlin.Int): kotlin.Boolean diff --git a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt index a354b1e5af7..6081fa9594b 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt @@ -374,9 +374,13 @@ internal class DescriptorRendererImpl( if (target != null) { append(target.renderName + ":") } - append(renderType(annotation.type)) + val annotationType = annotation.type + append(renderType(annotationType)) if (verbose) { renderAndSortAnnotationArguments(annotation).joinTo(this, ", ", "(", ")") + if (annotationType.isError) { + append(" /* annotation class not found */") + } } } }