Resolve annotations on Java constructors

Also add tests on custom annotations on fields and methods
This commit is contained in:
Alexander Udalov
2015-01-20 20:38:28 +03:00
parent 17c21dcaa2
commit ca8831097f
14 changed files with 143 additions and 43 deletions
@@ -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<java.util.Date!> {
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
@@ -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<java.util.Date!> {
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
@@ -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<java.util.Date!> {
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
@@ -0,0 +1,10 @@
package test;
public class AnnotatedConstructor {
public static @interface Anno {
String value();
}
@Anno("constructor")
public AnnotatedConstructor() { }
}
@@ -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
}
}
@@ -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;
}
@@ -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
}
@@ -1,6 +1,10 @@
package test;
public class AnnotatedMethod {
@Deprecated
public static @interface Anno {
int value();
}
@Anno(42)
public void f() { }
}
@@ -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
}
}
@@ -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<String> parameter) { }
}
@@ -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.String!>!): kotlin.Unit
public final annotation class Anno : kotlin.Annotation {
public constructor Anno(/*0*/ value: kotlin.String)
public abstract fun value(): kotlin.String
}
}
@@ -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");
@@ -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());
@@ -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())