diff --git a/src/org/jetbrains/jet/j2k/Converter.java b/src/org/jetbrains/jet/j2k/Converter.java index 6bd3d4b9c66..9ac7fb2082f 100644 --- a/src/org/jetbrains/jet/j2k/Converter.java +++ b/src/org/jetbrains/jet/j2k/Converter.java @@ -215,7 +215,7 @@ public class Converter { } @NotNull - private static String getDefaultInitializer(@NotNull Field f) { + public static String getDefaultInitializer(@NotNull Field f) { if (f.getType().isNullable()) return "null"; else { diff --git a/src/org/jetbrains/jet/j2k/ast/Field.java b/src/org/jetbrains/jet/j2k/ast/Field.java index 897d25867e6..d7afea9cddb 100644 --- a/src/org/jetbrains/jet/j2k/ast/Field.java +++ b/src/org/jetbrains/jet/j2k/ast/Field.java @@ -7,6 +7,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Set; +import static org.jetbrains.jet.j2k.Converter.getDefaultInitializer; + /** * @author ignatov */ @@ -65,7 +67,7 @@ public class Field extends Member { String modifier = modifiersToKotlin(); if (myInitializer.isEmpty()) - return modifier + myIdentifier.toKotlin() + SPACE + COLON + SPACE + myType.toKotlin(); + return modifier + myIdentifier.toKotlin() + SPACE + COLON + SPACE + myType.toKotlin() + SPACE + EQUAL + SPACE + getDefaultInitializer(this); return modifier + myIdentifier.toKotlin() + SPACE + COLON + SPACE + myType.toKotlin() + SPACE + EQUAL + SPACE + myInitializer.toKotlin(); diff --git a/testData/ast/anonymousBlock/file/oneAnonBlock.kt b/testData/ast/anonymousBlock/file/oneAnonBlock.kt index 01212e6bfa9..bf84ae34578 100644 --- a/testData/ast/anonymousBlock/file/oneAnonBlock.kt +++ b/testData/ast/anonymousBlock/file/oneAnonBlock.kt @@ -1,5 +1,5 @@ open class Test() { -var str : String? +var str : String? = null { str = "Ola" } diff --git a/testData/ast/anonymousBlock/file/oneStaticAnonBlock.kt b/testData/ast/anonymousBlock/file/oneStaticAnonBlock.kt index db002ff151b..5c8649fbcf0 100644 --- a/testData/ast/anonymousBlock/file/oneStaticAnonBlock.kt +++ b/testData/ast/anonymousBlock/file/oneStaticAnonBlock.kt @@ -1,5 +1,5 @@ open class Test() { -var str : String? +var str : String? = null class object { { str = "Ola" diff --git a/testData/ast/callChainExpression/file/libraryFieldCall.kt b/testData/ast/callChainExpression/file/libraryFieldCall.kt index 3de449db532..48516916f25 100644 --- a/testData/ast/callChainExpression/file/libraryFieldCall.kt +++ b/testData/ast/callChainExpression/file/libraryFieldCall.kt @@ -1,6 +1,6 @@ open class Library() { class object { -val ourOut : java.io.PrintStream? +val ourOut : java.io.PrintStream? = null } } open class User() { diff --git a/testData/ast/callChainExpression/file/libraryStringFieldCall.kt b/testData/ast/callChainExpression/file/libraryStringFieldCall.kt index bced464f750..9e0de14ec3c 100644 --- a/testData/ast/callChainExpression/file/libraryStringFieldCall.kt +++ b/testData/ast/callChainExpression/file/libraryStringFieldCall.kt @@ -1,5 +1,5 @@ open class Library() { -public val myString : String? +public val myString : String? = null } open class User() { open fun main() : Unit { diff --git a/testData/ast/class/class/abstractClassShape.kt b/testData/ast/class/class/abstractClassShape.kt index fff165180c7..d04de778464 100644 --- a/testData/ast/class/class/abstractClassShape.kt +++ b/testData/ast/class/class/abstractClassShape.kt @@ -1,5 +1,5 @@ abstract open class Shape() { -public var color : String? +public var color : String? = null open public fun setColor(c : String?) : Unit { color = c } diff --git a/testData/ast/class/class/classWithMultiplyFields.kt b/testData/ast/class/class/classWithMultiplyFields.kt index 03b2647a157..7f77e2e0cbd 100644 --- a/testData/ast/class/class/classWithMultiplyFields.kt +++ b/testData/ast/class/class/classWithMultiplyFields.kt @@ -1,5 +1,5 @@ class T() { -var a : String? -var b : String? +var a : String? = null +var b : String? = null var c : String? = "abc" } \ No newline at end of file diff --git a/testData/ast/constructors/file/allCallsPrimary2.kt b/testData/ast/constructors/file/allCallsPrimary2.kt index 37f361b89a9..26c6110374f 100644 --- a/testData/ast/constructors/file/allCallsPrimary2.kt +++ b/testData/ast/constructors/file/allCallsPrimary2.kt @@ -4,9 +4,9 @@ $myArg1 = arg1 $myArg2 = 0 $myArg3 = 0 } -val myArg1 : Int -var myArg2 : Int -var myArg3 : Int +val myArg1 : Int = 0 +var myArg2 : Int = 0 +var myArg3 : Int = 0 class object { open fun init(arg1 : Int, arg2 : Int, arg3 : Int) : C { val __ = C(arg1) diff --git a/testData/ast/constructors/file/customerBuilder.kt b/testData/ast/constructors/file/customerBuilder.kt index 6b3e9db1448..e76788b5cbb 100644 --- a/testData/ast/constructors/file/customerBuilder.kt +++ b/testData/ast/constructors/file/customerBuilder.kt @@ -6,8 +6,8 @@ $_firstName = first $_lastName = last doSmthAfter() } -public val _firstName : String? -public val _lastName : String? +public val _firstName : String? = null +public val _lastName : String? = null open public fun getFirstName() : String? { return _firstName } diff --git a/testData/ast/constructors/file/genericIdentifier.kt b/testData/ast/constructors/file/genericIdentifier.kt index 1c7c9cc77db..1808639264c 100644 --- a/testData/ast/constructors/file/genericIdentifier.kt +++ b/testData/ast/constructors/file/genericIdentifier.kt @@ -3,8 +3,8 @@ public open class Identifier(myName : T?, myHasDollar : Boolean) { $myName = myName $myHasDollar = myHasDollar } -private val myName : T? -private var myHasDollar : Boolean +private val myName : T? = null +private var myHasDollar : Boolean = false private var myNullable : Boolean = true open public fun getName() : T? { return myName diff --git a/testData/ast/constructors/file/identifier.kt b/testData/ast/constructors/file/identifier.kt index 200f6bd4ed3..1abada8ea1a 100644 --- a/testData/ast/constructors/file/identifier.kt +++ b/testData/ast/constructors/file/identifier.kt @@ -3,8 +3,8 @@ public open class Identifier(myName : String?, myHasDollar : Boolean) { $myName = myName $myHasDollar = myHasDollar } -private val myName : String? -private var myHasDollar : Boolean +private val myName : String? = null +private var myHasDollar : Boolean = false private var myNullable : Boolean = true open public fun getName() : String? { return myName diff --git a/testData/ast/constructors/file/withManyDefaultParams.kt b/testData/ast/constructors/file/withManyDefaultParams.kt index 7817a15545b..60b8812a882 100644 --- a/testData/ast/constructors/file/withManyDefaultParams.kt +++ b/testData/ast/constructors/file/withManyDefaultParams.kt @@ -9,14 +9,14 @@ $e = e $f = f $g = g } -private val myName : String? -private var a : Boolean -private var b : Double -private var c : Float -private var d : Long -private var e : Int -private var f : Short -private var g : Char +private val myName : String? = null +private var a : Boolean = false +private var b : Double = 0.dbl +private var c : Float = 0.flt +private var d : Long = 0 +private var e : Int = 0 +private var f : Short = 0 +private var g : Char = ' ' class object { open public fun init() : Test { val __ = Test(null, false, 0.dbl, 0.flt, 0, 0, 0, ' ') diff --git a/testData/ast/enum/class/enumWithNameField.kt b/testData/ast/enum/class/enumWithNameField.kt index eed3f7116a9..e8ad7b4cbe8 100644 --- a/testData/ast/enum/class/enumWithNameField.kt +++ b/testData/ast/enum/class/enumWithNameField.kt @@ -1,4 +1,4 @@ enum E { I -private var name : String? +private var name : String? = null } \ No newline at end of file diff --git a/testData/ast/enum/class/primaryPrivateConstructor.kt b/testData/ast/enum/class/primaryPrivateConstructor.kt index 6eb52b3fd81..814e3b48e83 100644 --- a/testData/ast/enum/class/primaryPrivateConstructor.kt +++ b/testData/ast/enum/class/primaryPrivateConstructor.kt @@ -2,7 +2,7 @@ enum Color(c : Int) { { $code = c } -private var code : Int +private var code : Int = 0 open public fun getCode() : Int { return code } diff --git a/testData/ast/field/file/classChildExtendsBase.kt b/testData/ast/field/file/classChildExtendsBase.kt index c262641b4ba..17681369b0b 100644 --- a/testData/ast/field/file/classChildExtendsBase.kt +++ b/testData/ast/field/file/classChildExtendsBase.kt @@ -1,6 +1,6 @@ open class Base() { -private var myFirst : String? +private var myFirst : String? = null } open class Child() : Base() { -private var mySecond : String? +private var mySecond : String? = null } \ No newline at end of file diff --git a/testData/ast/field/file/internalField.kt b/testData/ast/field/file/internalField.kt index e09da17755a..5cd1a6ac9a9 100644 --- a/testData/ast/field/file/internalField.kt +++ b/testData/ast/field/file/internalField.kt @@ -1,3 +1,3 @@ open class C() { -var f : Foo? +var f : Foo? = null } \ No newline at end of file diff --git a/testData/ast/field/file/privateField.kt b/testData/ast/field/file/privateField.kt index 2c742aff9e0..b2441bf0c24 100644 --- a/testData/ast/field/file/privateField.kt +++ b/testData/ast/field/file/privateField.kt @@ -1,3 +1,3 @@ open class C() { -private var f : Foo? +private var f : Foo? = null } \ No newline at end of file diff --git a/testData/ast/field/file/protectedField.kt b/testData/ast/field/file/protectedField.kt index 0e856b631cf..cba6200d896 100644 --- a/testData/ast/field/file/protectedField.kt +++ b/testData/ast/field/file/protectedField.kt @@ -1,3 +1,3 @@ open class C() { -protected var f : Foo? +protected var f : Foo? = null } \ No newline at end of file diff --git a/testData/ast/field/file/publicField.kt b/testData/ast/field/file/publicField.kt index 5767d6362dd..c79b38d6c5c 100644 --- a/testData/ast/field/file/publicField.kt +++ b/testData/ast/field/file/publicField.kt @@ -1,3 +1,3 @@ open class C() { -public var f : Foo? +public var f : Foo? = null } \ No newline at end of file diff --git a/testData/ast/field/file/varWithoutInit.kt b/testData/ast/field/file/varWithoutInit.kt index e09da17755a..5cd1a6ac9a9 100644 --- a/testData/ast/field/file/varWithoutInit.kt +++ b/testData/ast/field/file/varWithoutInit.kt @@ -1,3 +1,3 @@ open class C() { -var f : Foo? +var f : Foo? = null } \ No newline at end of file diff --git a/testData/ast/identifier/file/finalFieldReference.kt b/testData/ast/identifier/file/finalFieldReference.kt index 6f3df706c90..fca7102759a 100644 --- a/testData/ast/identifier/file/finalFieldReference.kt +++ b/testData/ast/identifier/file/finalFieldReference.kt @@ -6,7 +6,7 @@ open class `$$`(`$$$$` : `$$$$$`?) : `$`() { { $`$$$` = `$$$$` } -val `$$$` : `$$$$$`? +val `$$$` : `$$$$$`? = null open public fun `$$$$$$`() : `$$$$$`? { return `$$$` } diff --git a/testData/ast/inheritance/file/classOneExtendsBaseGeneric.kt b/testData/ast/inheritance/file/classOneExtendsBaseGeneric.kt index b9acbfbc541..640e5926e8f 100644 --- a/testData/ast/inheritance/file/classOneExtendsBaseGeneric.kt +++ b/testData/ast/inheritance/file/classOneExtendsBaseGeneric.kt @@ -4,5 +4,5 @@ open class One(name : T?, second : K?) : Base(name) { { $mySecond = second } -private var mySecond : K? +private var mySecond : K? = null } \ No newline at end of file diff --git a/testData/ast/inheritance/file/classOneExtendsBaseWithZeroParamsNonEmptyConstructor.kt b/testData/ast/inheritance/file/classOneExtendsBaseWithZeroParamsNonEmptyConstructor.kt index 6381bc4f634..37882b3a963 100644 --- a/testData/ast/inheritance/file/classOneExtendsBaseWithZeroParamsNonEmptyConstructor.kt +++ b/testData/ast/inheritance/file/classOneExtendsBaseWithZeroParamsNonEmptyConstructor.kt @@ -4,5 +4,5 @@ open class One(name : String?, second : String?) : Base(name) { { $mySecond = second } -private var mySecond : String? +private var mySecond : String? = null } \ No newline at end of file