diff --git a/compiler/testData/diagnostics/tests/MergePackagesWithJava.txt b/compiler/testData/diagnostics/tests/MergePackagesWithJava.txt index fa4b85aa6df..6e93e4d5052 100644 --- a/compiler/testData/diagnostics/tests/MergePackagesWithJava.txt +++ b/compiler/testData/diagnostics/tests/MergePackagesWithJava.txt @@ -1,4 +1,4 @@ -package +package package java { internal val c: java.lang.Class<*>? = null @@ -6926,16 +6926,16 @@ package java { public constructor String(/*0*/ p0: java.lang.StringBuilder!) public constructor String(/*0*/ p0: kotlin.ByteArray!) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: java.nio.charset.Charset!) - public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: java.nio.charset.Charset!) - public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.String!) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.String!) public constructor String(/*0*/ p0: kotlin.CharArray!) public/*package*/ constructor String(/*0*/ p0: kotlin.CharArray!, /*1*/ p1: kotlin.Boolean) public constructor String(/*0*/ p0: kotlin.CharArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) - public/*package*/ constructor String(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.CharArray!) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public/*package*/ constructor String(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.CharArray!) public constructor String(/*0*/ p0: kotlin.IntArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) public constructor String(/*0*/ p0: kotlin.String!) private final var hash: kotlin.Int @@ -8433,10 +8433,10 @@ package java { protected/*protected and package*/ constructor Socket(/*0*/ p0: [ERROR : Unresolved java classifier: SocketImpl]!) public constructor Socket(/*0*/ p0: java.net.InetAddress!, /*1*/ p1: kotlin.Int) public constructor Socket(/*0*/ p0: java.net.InetAddress!, /*1*/ p1: kotlin.Int, /*2*/ p2: java.net.InetAddress!, /*3*/ p3: kotlin.Int) - public constructor Socket(/*0*/ p0: java.net.InetAddress!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Boolean) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Socket(/*0*/ p0: java.net.InetAddress!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Boolean) public constructor Socket(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int) public constructor Socket(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int, /*2*/ p2: java.net.InetAddress!, /*3*/ p3: kotlin.Int) - public constructor Socket(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Boolean) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Socket(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Boolean) private final var bound: kotlin.Boolean private final var closeLock: kotlin.Any! private final var closed: kotlin.Boolean @@ -10653,7 +10653,7 @@ package java { } public open class Time : java.util.Date { - public constructor Time(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Time(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) public constructor Time(/*0*/ p0: kotlin.Long) invisible_fake final override /*1*/ /*fake_override*/ var cdate: sun.util.calendar.BaseCalendar.Date! invisible_fake final override /*1*/ /*fake_override*/ var fastTime: kotlin.Long @@ -10695,7 +10695,7 @@ package java { } public open class Timestamp : java.util.Date { - public constructor Timestamp(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int, /*5*/ p5: kotlin.Int, /*6*/ p6: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Timestamp(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int, /*5*/ p5: kotlin.Int, /*6*/ p6: kotlin.Int) public constructor Timestamp(/*0*/ p0: kotlin.Long) invisible_fake final override /*1*/ /*fake_override*/ var cdate: sun.util.calendar.BaseCalendar.Date! invisible_fake final override /*1*/ /*fake_override*/ var fastTime: kotlin.Long @@ -12767,11 +12767,11 @@ package java { public open class Date : java.io.Serializable, kotlin.Cloneable, kotlin.Comparable { public constructor Date() - public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) - public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int) - public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int, /*5*/ p5: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int, /*5*/ p5: kotlin.Int) public constructor Date(/*0*/ p0: kotlin.Long) - public constructor Date(/*0*/ p0: kotlin.String!) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Date(/*0*/ p0: kotlin.String!) private final var cdate: sun.util.calendar.BaseCalendar.Date! private final var fastTime: kotlin.Long public open fun after(/*0*/ p0: java.util.Date!): kotlin.Boolean diff --git a/compiler/testData/diagnostics/tests/imports/PackageLocalClassNotImportedWithDefaultImport.txt b/compiler/testData/diagnostics/tests/imports/PackageLocalClassNotImportedWithDefaultImport.txt index d7ace2c9d01..7d9a1632c9a 100644 --- a/compiler/testData/diagnostics/tests/imports/PackageLocalClassNotImportedWithDefaultImport.txt +++ b/compiler/testData/diagnostics/tests/imports/PackageLocalClassNotImportedWithDefaultImport.txt @@ -6941,16 +6941,16 @@ package java { public constructor String(/*0*/ p0: java.lang.StringBuilder!) public constructor String(/*0*/ p0: kotlin.ByteArray!) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: java.nio.charset.Charset!) - public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: java.nio.charset.Charset!) - public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.String!) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.String!) public constructor String(/*0*/ p0: kotlin.CharArray!) public/*package*/ constructor String(/*0*/ p0: kotlin.CharArray!, /*1*/ p1: kotlin.Boolean) public constructor String(/*0*/ p0: kotlin.CharArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) - public/*package*/ constructor String(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.CharArray!) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public/*package*/ constructor String(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.CharArray!) public constructor String(/*0*/ p0: kotlin.IntArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) public constructor String(/*0*/ p0: kotlin.String!) private final var hash: kotlin.Int @@ -8448,10 +8448,10 @@ package java { protected/*protected and package*/ constructor Socket(/*0*/ p0: [ERROR : Unresolved java classifier: SocketImpl]!) public constructor Socket(/*0*/ p0: java.net.InetAddress!, /*1*/ p1: kotlin.Int) public constructor Socket(/*0*/ p0: java.net.InetAddress!, /*1*/ p1: kotlin.Int, /*2*/ p2: java.net.InetAddress!, /*3*/ p3: kotlin.Int) - public constructor Socket(/*0*/ p0: java.net.InetAddress!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Boolean) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Socket(/*0*/ p0: java.net.InetAddress!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Boolean) public constructor Socket(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int) public constructor Socket(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int, /*2*/ p2: java.net.InetAddress!, /*3*/ p3: kotlin.Int) - public constructor Socket(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Boolean) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Socket(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Boolean) private final var bound: kotlin.Boolean private final var closeLock: kotlin.Any! private final var closed: kotlin.Boolean @@ -10668,7 +10668,7 @@ package java { } public open class Time : java.util.Date { - public constructor Time(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Time(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) public constructor Time(/*0*/ p0: kotlin.Long) invisible_fake final override /*1*/ /*fake_override*/ var cdate: sun.util.calendar.BaseCalendar.Date! invisible_fake final override /*1*/ /*fake_override*/ var fastTime: kotlin.Long @@ -10710,7 +10710,7 @@ package java { } public open class Timestamp : java.util.Date { - public constructor Timestamp(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int, /*5*/ p5: kotlin.Int, /*6*/ p6: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Timestamp(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int, /*5*/ p5: kotlin.Int, /*6*/ p6: kotlin.Int) public constructor Timestamp(/*0*/ p0: kotlin.Long) invisible_fake final override /*1*/ /*fake_override*/ var cdate: sun.util.calendar.BaseCalendar.Date! invisible_fake final override /*1*/ /*fake_override*/ var fastTime: kotlin.Long @@ -12782,11 +12782,11 @@ package java { public open class Date : java.io.Serializable, kotlin.Cloneable, kotlin.Comparable { public constructor Date() - public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) - public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int) - public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int, /*5*/ p5: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int, /*5*/ p5: kotlin.Int) public constructor Date(/*0*/ p0: kotlin.Long) - public constructor Date(/*0*/ p0: kotlin.String!) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Date(/*0*/ p0: kotlin.String!) private final var cdate: sun.util.calendar.BaseCalendar.Date! private final var fastTime: kotlin.Long public open fun after(/*0*/ p0: java.util.Date!): kotlin.Boolean diff --git a/compiler/testData/diagnostics/tests/scopes/kt955.txt b/compiler/testData/diagnostics/tests/scopes/kt955.txt index 68c6c71bdd7..7e0b4757b5b 100644 --- a/compiler/testData/diagnostics/tests/scopes/kt955.txt +++ b/compiler/testData/diagnostics/tests/scopes/kt955.txt @@ -1,4 +1,4 @@ -package +package internal val m: kotlin.Unit internal val r: kotlin.Unit @@ -6931,16 +6931,16 @@ package java { public constructor String(/*0*/ p0: java.lang.StringBuilder!) public constructor String(/*0*/ p0: kotlin.ByteArray!) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: java.nio.charset.Charset!) - public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: java.nio.charset.Charset!) - public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.String!) public constructor String(/*0*/ p0: kotlin.ByteArray!, /*1*/ p1: kotlin.String!) public constructor String(/*0*/ p0: kotlin.CharArray!) public/*package*/ constructor String(/*0*/ p0: kotlin.CharArray!, /*1*/ p1: kotlin.Boolean) public constructor String(/*0*/ p0: kotlin.CharArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) - public/*package*/ constructor String(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.CharArray!) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public/*package*/ constructor String(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.CharArray!) public constructor String(/*0*/ p0: kotlin.IntArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) public constructor String(/*0*/ p0: kotlin.String!) private final var hash: kotlin.Int @@ -8438,10 +8438,10 @@ package java { protected/*protected and package*/ constructor Socket(/*0*/ p0: [ERROR : Unresolved java classifier: SocketImpl]!) public constructor Socket(/*0*/ p0: java.net.InetAddress!, /*1*/ p1: kotlin.Int) public constructor Socket(/*0*/ p0: java.net.InetAddress!, /*1*/ p1: kotlin.Int, /*2*/ p2: java.net.InetAddress!, /*3*/ p3: kotlin.Int) - public constructor Socket(/*0*/ p0: java.net.InetAddress!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Boolean) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Socket(/*0*/ p0: java.net.InetAddress!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Boolean) public constructor Socket(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int) public constructor Socket(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int, /*2*/ p2: java.net.InetAddress!, /*3*/ p3: kotlin.Int) - public constructor Socket(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Boolean) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Socket(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Boolean) private final var bound: kotlin.Boolean private final var closeLock: kotlin.Any! private final var closed: kotlin.Boolean @@ -10658,7 +10658,7 @@ package java { } public open class Time : java.util.Date { - public constructor Time(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Time(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) public constructor Time(/*0*/ p0: kotlin.Long) invisible_fake final override /*1*/ /*fake_override*/ var cdate: sun.util.calendar.BaseCalendar.Date! invisible_fake final override /*1*/ /*fake_override*/ var fastTime: kotlin.Long @@ -10700,7 +10700,7 @@ package java { } public open class Timestamp : java.util.Date { - public constructor Timestamp(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int, /*5*/ p5: kotlin.Int, /*6*/ p6: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Timestamp(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int, /*5*/ p5: kotlin.Int, /*6*/ p6: kotlin.Int) public constructor Timestamp(/*0*/ p0: kotlin.Long) invisible_fake final override /*1*/ /*fake_override*/ var cdate: sun.util.calendar.BaseCalendar.Date! invisible_fake final override /*1*/ /*fake_override*/ var fastTime: kotlin.Long @@ -12773,11 +12773,11 @@ package java { public open class Date : java.io.Serializable, kotlin.Cloneable, kotlin.Comparable { public constructor Date() - public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) - public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int) - public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int, /*5*/ p5: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Date(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.Int, /*4*/ p4: kotlin.Int, /*5*/ p5: kotlin.Int) public constructor Date(/*0*/ p0: kotlin.Long) - public constructor Date(/*0*/ p0: kotlin.String!) + kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public constructor Date(/*0*/ p0: kotlin.String!) private final var cdate: sun.util.calendar.BaseCalendar.Date! private final var fastTime: kotlin.Long public open fun after(/*0*/ p0: java.util.Date!): kotlin.Boolean diff --git a/compiler/testData/loadJava/compiledJava/annotations/AnnotatedConstructor.java b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedConstructor.java new file mode 100644 index 00000000000..81b2a3f55a3 --- /dev/null +++ b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedConstructor.java @@ -0,0 +1,10 @@ +package test; + +public class AnnotatedConstructor { + public static @interface Anno { + String value(); + } + + @Anno("constructor") + public AnnotatedConstructor() { } +} diff --git a/compiler/testData/loadJava/compiledJava/annotations/AnnotatedConstructor.txt b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedConstructor.txt new file mode 100644 index 00000000000..23162eb75a9 --- /dev/null +++ b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedConstructor.txt @@ -0,0 +1,10 @@ +package test + +public open class AnnotatedConstructor { + test.AnnotatedConstructor.Anno(value = "constructor": kotlin.String) public constructor AnnotatedConstructor() + + public final annotation class Anno : kotlin.Annotation { + public constructor Anno(/*0*/ value: kotlin.String) + public abstract fun value(): kotlin.String + } +} diff --git a/compiler/testData/loadJava/compiledJava/annotations/AnnotatedField.java b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedField.java new file mode 100644 index 00000000000..62c22f1fd49 --- /dev/null +++ b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedField.java @@ -0,0 +1,13 @@ +package test; + +public class AnnotatedField { + public static @interface Anno { + String value(); + } + + @Anno("static") + public static final int x = 0; + + @Anno("member") + public final int y = 0; +} diff --git a/compiler/testData/loadJava/compiledJava/annotations/AnnotatedField.txt b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedField.txt new file mode 100644 index 00000000000..cd74a8014e8 --- /dev/null +++ b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedField.txt @@ -0,0 +1,14 @@ +package test + +public open class AnnotatedField { + public constructor AnnotatedField() + test.AnnotatedField.Anno(value = "member": kotlin.String) public final val y: kotlin.Int = 0 + + public final annotation class Anno : kotlin.Annotation { + public constructor Anno(/*0*/ value: kotlin.String) + public abstract fun value(): kotlin.String + } + + // Static members + test.AnnotatedField.Anno(value = "static": kotlin.String) public final val x: kotlin.Int = 0 +} diff --git a/compiler/testData/loadJava/compiledJava/annotations/AnnotatedMethod.java b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedMethod.java index f157ade3fd8..e3445039795 100644 --- a/compiler/testData/loadJava/compiledJava/annotations/AnnotatedMethod.java +++ b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedMethod.java @@ -1,6 +1,10 @@ package test; public class AnnotatedMethod { - @Deprecated + public static @interface Anno { + int value(); + } + + @Anno(42) public void f() { } } diff --git a/compiler/testData/loadJava/compiledJava/annotations/AnnotatedMethod.txt b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedMethod.txt index 8590bec62e7..3798d409c9f 100644 --- a/compiler/testData/loadJava/compiledJava/annotations/AnnotatedMethod.txt +++ b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedMethod.txt @@ -2,5 +2,10 @@ package test public open class AnnotatedMethod { public constructor AnnotatedMethod() - kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open fun f(): kotlin.Unit + test.AnnotatedMethod.Anno(value = 42: kotlin.Int) public open fun f(): kotlin.Unit + + public final annotation class Anno : kotlin.Annotation { + public constructor Anno(/*0*/ value: kotlin.Int) + public abstract fun value(): kotlin.Int + } } diff --git a/compiler/testData/loadJava/compiledJava/annotations/AnnotatedValueParameter.java b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedValueParameter.java new file mode 100644 index 00000000000..22f697b9645 --- /dev/null +++ b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedValueParameter.java @@ -0,0 +1,12 @@ +package test; + +import java.lang.String; +import java.util.List; + +public class AnnotatedValueParameter { + public static @interface Anno { + String value(); + } + + public void f(@Anno("non-empty") List parameter) { } +} diff --git a/compiler/testData/loadJava/compiledJava/annotations/AnnotatedValueParameter.txt b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedValueParameter.txt new file mode 100644 index 00000000000..ed12932d016 --- /dev/null +++ b/compiler/testData/loadJava/compiledJava/annotations/AnnotatedValueParameter.txt @@ -0,0 +1,11 @@ +package test + +public open class AnnotatedValueParameter { + public constructor AnnotatedValueParameter() + public open fun f(/*0*/ test.AnnotatedValueParameter.Anno(value = "non-empty": kotlin.String) p0: kotlin.(Mutable)List!): kotlin.Unit + + public final annotation class Anno : kotlin.Annotation { + public constructor Anno(/*0*/ value: kotlin.String) + public abstract fun value(): kotlin.String + } +} diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/LoadJavaTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/LoadJavaTestGenerated.java index c227fba8678..5afc73e5202 100644 --- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/LoadJavaTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/LoadJavaTestGenerated.java @@ -331,12 +331,30 @@ public class LoadJavaTestGenerated extends AbstractLoadJavaTest { doTestCompiledJava(fileName); } + @TestMetadata("AnnotatedConstructor.java") + public void testAnnotatedConstructor() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledJava/annotations/AnnotatedConstructor.java"); + doTestCompiledJava(fileName); + } + + @TestMetadata("AnnotatedField.java") + public void testAnnotatedField() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledJava/annotations/AnnotatedField.java"); + doTestCompiledJava(fileName); + } + @TestMetadata("AnnotatedMethod.java") public void testAnnotatedMethod() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledJava/annotations/AnnotatedMethod.java"); doTestCompiledJava(fileName); } + @TestMetadata("AnnotatedValueParameter.java") + public void testAnnotatedValueParameter() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledJava/annotations/AnnotatedValueParameter.java"); + doTestCompiledJava(fileName); + } + @TestMetadata("AnnotationInParam.java") public void testAnnotationInParam() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledJava/annotations/AnnotationInParam.java"); diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/descriptors/JavaConstructorDescriptor.java b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/descriptors/JavaConstructorDescriptor.java index c6b977de6e2..562e767dff2 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/descriptors/JavaConstructorDescriptor.java +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/descriptors/JavaConstructorDescriptor.java @@ -78,13 +78,15 @@ public class JavaConstructorDescriptor extends ConstructorDescriptorImpl impleme @NotNull Kind kind ) { if (kind != Kind.DECLARATION && kind != Kind.SYNTHESIZED) { - throw new IllegalStateException("Attempt at creating a constructor that is not a declaration: \n" + - "copy from: " + this + "\n" + - "newOwner: " + newOwner + "\n" + - "kind: " + kind); + throw new IllegalStateException( + "Attempt at creating a constructor that is not a declaration: \n" + + "copy from: " + this + "\n" + + "newOwner: " + newOwner + "\n" + + "kind: " + kind + ); } JavaConstructorDescriptor result = new JavaConstructorDescriptor( - (ClassDescriptor) newOwner, this, Annotations.EMPTY /* TODO */, isPrimary, kind, SourceElement.NO_SOURCE + (ClassDescriptor) newOwner, this, getAnnotations(), isPrimary, kind, SourceElement.NO_SOURCE ); result.setHasStableParameterNames(hasStableParameterNames()); result.setHasSynthesizedParameterNames(hasSynthesizedParameterNames()); diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt index 777b21bb924..432dfa46479 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt @@ -31,6 +31,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.descriptors.impl.EnumEntrySyntheticClassDescriptor import org.jetbrains.kotlin.types.TypeUtils import org.jetbrains.kotlin.descriptors.annotations.Annotations +import org.jetbrains.kotlin.load.java.lazy.resolveAnnotations import org.jetbrains.kotlin.load.java.JavaVisibilities import org.jetbrains.kotlin.load.java.descriptors.JavaConstructorDescriptor import org.jetbrains.kotlin.load.java.components.DescriptorResolverUtils @@ -106,7 +107,7 @@ public class LazyJavaClassMemberScope( val classDescriptor = getContainingDeclaration() val constructorDescriptor = JavaConstructorDescriptor.createJavaConstructor( - classDescriptor, Annotations.EMPTY, /* isPrimary = */ false, c.sourceElementFactory.source(constructor) + classDescriptor, c.resolveAnnotations(constructor), /* isPrimary = */ false, c.sourceElementFactory.source(constructor) ) val valueParameters = resolveValueParameters(c, constructorDescriptor, constructor.getValueParameters())