diff --git a/j2k/src/org/jetbrains/jet/j2k/ast/Function.kt b/j2k/src/org/jetbrains/jet/j2k/ast/Function.kt index 9febe8d4508..fd6dcddcb77 100644 --- a/j2k/src/org/jetbrains/jet/j2k/ast/Function.kt +++ b/j2k/src/org/jetbrains/jet/j2k/ast/Function.kt @@ -49,33 +49,34 @@ public open class Function(val converter: Converter, } private fun modifiersToKotlin(): String { - val modifierList = ArrayList() + val resultingModifiers = ArrayList() + val isOverride = modifiers.contains(Modifier.OVERRIDE) + if (isOverride) { + resultingModifiers.add(Modifier.OVERRIDE) + } + val accessModifier = accessModifier() - if (accessModifier != null) { - modifierList.add(accessModifier) + if (accessModifier != null && !isOverride) { + resultingModifiers.add(accessModifier) } if (isAbstract()) { - modifierList.add(Modifier.ABSTRACT) - } - - if (modifiers.contains(Modifier.OVERRIDE)) { - modifierList.add(Modifier.OVERRIDE) + resultingModifiers.add(Modifier.ABSTRACT) } if (converter.settings.openByDefault && !modifiers.contains(Modifier.ABSTRACT) && - !modifiers.contains(Modifier.OVERRIDE) && + !isOverride && !modifiers.contains(Modifier.FINAL) && !modifiers.contains(Modifier.PRIVATE)) { - modifierList.add(Modifier.OPEN) + resultingModifiers.add(Modifier.OPEN) } if (modifiers.contains(Modifier.NOT_OPEN)) { - modifierList.remove(Modifier.OPEN) + resultingModifiers.remove(Modifier.OPEN) } - return modifierList.toKotlin() + return resultingModifiers.toKotlin() } private fun returnTypeToKotlin() = if (!`type`.isUnit()) " : " + `type`.toKotlin() + " " else " " diff --git a/j2k/tests/testData/ast/enum/runnableImplementation.ide.kt b/j2k/tests/testData/ast/enum/runnableImplementation.ide.kt index fc94882b3c6..5b5d8706441 100644 --- a/j2k/tests/testData/ast/enum/runnableImplementation.ide.kt +++ b/j2k/tests/testData/ast/enum/runnableImplementation.ide.kt @@ -4,7 +4,7 @@ BLACK RED YELLOW BLUE -public override fun run() { +override fun run() { System.out.println("name()=" + name() + ", toString()=" + toString()) } } \ No newline at end of file diff --git a/j2k/tests/testData/ast/enum/runnableImplementation.kt b/j2k/tests/testData/ast/enum/runnableImplementation.kt index caec2f9cd4f..2ac136950c5 100644 --- a/j2k/tests/testData/ast/enum/runnableImplementation.kt +++ b/j2k/tests/testData/ast/enum/runnableImplementation.kt @@ -4,7 +4,7 @@ BLACK RED YELLOW BLUE -public override fun run() { +override fun run() { System.out?.println("name()=" + name() + ", toString()=" + toString()) } } \ No newline at end of file diff --git a/j2k/tests/testData/ast/function/extendsBaseWhichExtendsObject.ide.kt b/j2k/tests/testData/ast/function/extendsBaseWhichExtendsObject.ide.kt index bdcdbe7d8e0..611aa115710 100644 --- a/j2k/tests/testData/ast/function/extendsBaseWhichExtendsObject.ide.kt +++ b/j2k/tests/testData/ast/function/extendsBaseWhichExtendsObject.ide.kt @@ -1,18 +1,18 @@ package test class Test() : Base() { -public override fun hashCode() : Int { +override fun hashCode() : Int { return super.hashCode() } -public override fun equals(o : Any) : Boolean { +override fun equals(o : Any) : Boolean { return super.equals(o) } -protected override fun clone() : Any { +override fun clone() : Any { return super.clone() } -public override fun toString() : String { +override fun toString() : String { return super.toString() } -protected override fun finalize() { +override fun finalize() { super.finalize() } } diff --git a/j2k/tests/testData/ast/function/extendsBaseWhichExtendsObject.kt b/j2k/tests/testData/ast/function/extendsBaseWhichExtendsObject.kt index 49fd1e9a776..24c3ab863ca 100644 --- a/j2k/tests/testData/ast/function/extendsBaseWhichExtendsObject.kt +++ b/j2k/tests/testData/ast/function/extendsBaseWhichExtendsObject.kt @@ -1,18 +1,18 @@ package test open class Test() : Base() { -public override fun hashCode() : Int { +override fun hashCode() : Int { return super.hashCode() } -public override fun equals(o : Any?) : Boolean { +override fun equals(o : Any?) : Boolean { return super.equals(o) } -protected override fun clone() : Any? { +override fun clone() : Any? { return super.clone() } -public override fun toString() : String? { +override fun toString() : String? { return super.toString() } -protected override fun finalize() { +override fun finalize() { super.finalize() } } diff --git a/j2k/tests/testData/ast/issues/kt-696.ide.kt b/j2k/tests/testData/ast/issues/kt-696.ide.kt index c2a006b66f4..e684d6d2294 100644 --- a/j2k/tests/testData/ast/issues/kt-696.ide.kt +++ b/j2k/tests/testData/ast/issues/kt-696.ide.kt @@ -11,13 +11,13 @@ return getJavaClass.getName() + '@' + Integer.toHexString(hashCode()) } } class Child() : Base() { -public override fun hashCode() : Int { +override fun hashCode() : Int { return super.hashCode() } -public override fun equals(o : Any) : Boolean { +override fun equals(o : Any) : Boolean { return super.equals(o) } -public override fun toString() : String { +override fun toString() : String { return super.toString() } } \ No newline at end of file diff --git a/j2k/tests/testData/ast/issues/kt-696.kt b/j2k/tests/testData/ast/issues/kt-696.kt index 173b4205ee4..dedcc48e291 100644 --- a/j2k/tests/testData/ast/issues/kt-696.kt +++ b/j2k/tests/testData/ast/issues/kt-696.kt @@ -11,13 +11,13 @@ return getJavaClass.getName() + '@' + Integer.toHexString(hashCode()) } } open class Child() : Base() { -public override fun hashCode() : Int { +override fun hashCode() : Int { return super.hashCode() } -public override fun equals(o : Any?) : Boolean { +override fun equals(o : Any?) : Boolean { return super.equals(o) } -public override fun toString() : String? { +override fun toString() : String? { return super.toString() } } \ No newline at end of file diff --git a/j2k/tests/testData/ast/issues/kt-836.ide.kt b/j2k/tests/testData/ast/issues/kt-836.ide.kt index 81d7931deff..ee309b5da2b 100644 --- a/j2k/tests/testData/ast/issues/kt-836.ide.kt +++ b/j2k/tests/testData/ast/issues/kt-836.ide.kt @@ -2,7 +2,7 @@ package com.voltvoodoo.saplo4j.model import java.io.Serializable public class Language(code : String) : Serializable { protected var code : String = 0 -public override fun toString() : String { +override fun toString() : String { return this.code } { diff --git a/j2k/tests/testData/ast/issues/kt-836.kt b/j2k/tests/testData/ast/issues/kt-836.kt index f3f8e836907..be6f2359ae0 100644 --- a/j2k/tests/testData/ast/issues/kt-836.kt +++ b/j2k/tests/testData/ast/issues/kt-836.kt @@ -2,7 +2,7 @@ package com.voltvoodoo.saplo4j.model import java.io.Serializable public open class Language(code : String?) : Serializable { protected var code : String? = null -public override fun toString() : String? { +override fun toString() : String? { return this.code } { diff --git a/j2k/tests/testData/ast/kotlinExclusion/kt-656.ide.kt b/j2k/tests/testData/ast/kotlinExclusion/kt-656.ide.kt index 23d60e397eb..5e868bbe9ea 100644 --- a/j2k/tests/testData/ast/kotlinExclusion/kt-656.ide.kt +++ b/j2k/tests/testData/ast/kotlinExclusion/kt-656.ide.kt @@ -1,6 +1,6 @@ package demo class Test() : java.lang.Iterable { -public override fun iterator() : java.util.Iterator { +override fun iterator() : java.util.Iterator { return null } public fun push(i : java.util.Iterator) : java.util.Iterator { @@ -9,7 +9,7 @@ return j } } class FullTest() : java.lang.Iterable { -public override fun iterator() : java.util.Iterator { +override fun iterator() : java.util.Iterator { return null } public fun push(i : java.util.Iterator) : java.util.Iterator { diff --git a/j2k/tests/testData/ast/kotlinExclusion/kt-656.kt b/j2k/tests/testData/ast/kotlinExclusion/kt-656.kt index d42a74320de..22dcdd133c9 100644 --- a/j2k/tests/testData/ast/kotlinExclusion/kt-656.kt +++ b/j2k/tests/testData/ast/kotlinExclusion/kt-656.kt @@ -1,6 +1,6 @@ package demo open class Test() : java.lang.Iterable { -public override fun iterator() : java.util.Iterator? { +override fun iterator() : java.util.Iterator? { return null } public open fun push(i : java.util.Iterator?) : java.util.Iterator? { @@ -9,7 +9,7 @@ return j } } open class FullTest() : java.lang.Iterable { -public override fun iterator() : java.util.Iterator? { +override fun iterator() : java.util.Iterator? { return null } public open fun push(i : java.util.Iterator?) : java.util.Iterator? { diff --git a/j2k/tests/testData/ast/newClassExpression/newClassWithAnonymousScope.ide.kt b/j2k/tests/testData/ast/newClassExpression/newClassWithAnonymousScope.ide.kt index 1d55c7127a2..fd3ea1afc0d 100644 --- a/j2k/tests/testData/ast/newClassExpression/newClassWithAnonymousScope.ide.kt +++ b/j2k/tests/testData/ast/newClassExpression/newClassWithAnonymousScope.ide.kt @@ -1,5 +1,5 @@ object : Runnable() { -public override fun run() { +override fun run() { System.out.println("Run") } } \ No newline at end of file diff --git a/j2k/tests/testData/ast/newClassExpression/newClassWithAnonymousScope.kt b/j2k/tests/testData/ast/newClassExpression/newClassWithAnonymousScope.kt index 450032ead94..1f0937f42a6 100644 --- a/j2k/tests/testData/ast/newClassExpression/newClassWithAnonymousScope.kt +++ b/j2k/tests/testData/ast/newClassExpression/newClassWithAnonymousScope.kt @@ -1,5 +1,5 @@ object : Runnable() { -public override fun run() { +override fun run() { System.out?.println("Run") } } \ No newline at end of file diff --git a/j2k/tests/testData/ast/objectLiteral/MyFrame.ide.kt b/j2k/tests/testData/ast/objectLiteral/MyFrame.ide.kt index e2f34d9f251..a19666c864d 100644 --- a/j2k/tests/testData/ast/objectLiteral/MyFrame.ide.kt +++ b/j2k/tests/testData/ast/objectLiteral/MyFrame.ide.kt @@ -6,12 +6,12 @@ public fun windowClosing() { public class Client() : Frame() { { val a = object : WindowAdapter() { -public override fun windowClosing() { +override fun windowClosing() { } } addWindowListener(a) addWindowListener(object : WindowAdapter() { -public override fun windowClosing() { +override fun windowClosing() { } }) } diff --git a/j2k/tests/testData/ast/objectLiteral/MyFrame.kt b/j2k/tests/testData/ast/objectLiteral/MyFrame.kt index 92383217435..d779bcdbc16 100644 --- a/j2k/tests/testData/ast/objectLiteral/MyFrame.kt +++ b/j2k/tests/testData/ast/objectLiteral/MyFrame.kt @@ -6,12 +6,12 @@ public open fun windowClosing() { public class Client() : Frame() { { var a : WindowAdapter? = object : WindowAdapter() { -public override fun windowClosing() { +override fun windowClosing() { } } addWindowListener(a) addWindowListener(object : WindowAdapter() { -public override fun windowClosing() { +override fun windowClosing() { } }) }