From 99249c65da6107449010da5d7d0d9000cf2ce1ae Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Fri, 2 Mar 2012 20:49:13 +0400 Subject: [PATCH] properly read constructor with default params from bytecode --- .../src/org/jetbrains/jet/codegen/FunctionCodegen.java | 2 +- .../constructor/Constructor1WithParamDefaultValue.kt | 3 +++ .../constructor/Constructor1WithParamDefaultValue.txt | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 compiler/testData/readKotlinBinaryClass/constructor/Constructor1WithParamDefaultValue.kt create mode 100644 compiler/testData/readKotlinBinaryClass/constructor/Constructor1WithParamDefaultValue.txt diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java index b7a3ec1aba1..b33dedadfba 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java @@ -312,7 +312,7 @@ public class FunctionCodegen { jvmSignature = new Method(jvmSignature.getName(), correctedDescr); } - int flags = ACC_PUBLIC; // TODO. + int flags = ACC_PUBLIC | ACC_SYNTHETIC; // TODO. String ownerInternalName = contextClass instanceof NamespaceDescriptor ? NamespaceCodegen.getJVMClassName(DescriptorUtils.getFQName(contextClass), true) : diff --git a/compiler/testData/readKotlinBinaryClass/constructor/Constructor1WithParamDefaultValue.kt b/compiler/testData/readKotlinBinaryClass/constructor/Constructor1WithParamDefaultValue.kt new file mode 100644 index 00000000000..21545d6cc2d --- /dev/null +++ b/compiler/testData/readKotlinBinaryClass/constructor/Constructor1WithParamDefaultValue.kt @@ -0,0 +1,3 @@ +package test + +class ClassWithConstructorWithValueParamWithDefaultValue(p: Int = 1) diff --git a/compiler/testData/readKotlinBinaryClass/constructor/Constructor1WithParamDefaultValue.txt b/compiler/testData/readKotlinBinaryClass/constructor/Constructor1WithParamDefaultValue.txt new file mode 100644 index 00000000000..7bda41ff97d --- /dev/null +++ b/compiler/testData/readKotlinBinaryClass/constructor/Constructor1WithParamDefaultValue.txt @@ -0,0 +1,5 @@ +namespace test + +final class test.ClassWithConstructorWithValueParamWithDefaultValue : jet.Any { + final /*constructor*/ fun (/*0*/ p: jet.Int = ?): test.ClassWithConstructorWithValueParamWithDefaultValue +}