KT-1490 serialization of constructor parameters

This commit is contained in:
Stepan Koltsov
2012-03-02 20:43:47 +04:00
parent 3f1e63cd26
commit c15bd2f75d
4 changed files with 22 additions and 1 deletions
@@ -516,10 +516,12 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
}
for (ValueParameterDescriptor valueParameter : constructorDescriptor.getValueParameters()) {
JetValueParameterAnnotationWriter jetValueParameterAnnotation = JetValueParameterAnnotationWriter.visitParameterAnnotation(mv, i++);
JetValueParameterAnnotationWriter jetValueParameterAnnotation = JetValueParameterAnnotationWriter.visitParameterAnnotation(mv, i);
jetValueParameterAnnotation.writeName(valueParameter.getName());
jetValueParameterAnnotation.writeHasDefaultValue(valueParameter.hasDefaultValue());
jetValueParameterAnnotation.writeType(constructorMethod.getKotlinParameterType(i));
jetValueParameterAnnotation.visitEnd();
++i;
}
}
@@ -0,0 +1,5 @@
package test
import java.util.Collection
class TestingKotlinCollections(val arguments: Collection<String>)
@@ -0,0 +1,6 @@
namespace test
final class test.TestingKotlinCollections : jet.Any {
final /*constructor*/ fun <init>(/*0*/ arguments: java.util.Collection<jet.String>): test.TestingKotlinCollections
val arguments: java.util.Collection<jet.String>
}
@@ -0,0 +1,8 @@
import java.util.Collection
class TestingKotlinCollections(val arguments: Collection<String>)
// method: TestingKotlinCollections::<init>
// jvm signature: (Ljava/util/Collection;)V
// generic signature: (Ljava/util/Collection<Ljava/lang/String;>;)V
// kotlin signature: (Ljava/util/Collection<Ljava/lang/String;>;)null