J2K: fixed duplicated open modifier generated

This commit is contained in:
Valentin Kipyatkov
2014-12-25 19:55:29 +03:00
parent 292cb9baa9
commit 1fda9ed29f
2 changed files with 6 additions and 6 deletions
@@ -33,7 +33,9 @@ enum class Modifier(val name: String) {
val ACCESS_MODIFIERS = setOf(Modifier.PUBLIC, Modifier.PROTECTED, Modifier.PRIVATE)
class Modifiers(val modifiers: Collection<Modifier>) : Element() {
class Modifiers(modifiers: Collection<Modifier>) : Element() {
val modifiers = modifiers.toSet()
override fun generateCode(builder: CodeBuilder) {
builder.append(modifiers.sortBy { it.ordinal() }.map { it.toKotlin() }.joinToString(" "))
}
@@ -44,10 +46,8 @@ class Modifiers(val modifiers: Collection<Modifier>) : Element() {
fun with(modifier: Modifier?): Modifiers = if (modifier != null) Modifiers(modifiers + listOf(modifier)).assignPrototypesFrom(this) else this
fun without(modifier: Modifier?): Modifiers {
if (modifier == null) return this
val set = HashSet(modifiers)
set.remove(modifier)
return Modifiers(set).assignPrototypesFrom(this)
if (modifier == null || !modifiers.contains(modifier)) return this
return Modifiers(modifiers.filter { it != modifier }).assignPrototypesFrom(this)
}
fun contains(modifier: Modifier): Boolean = modifiers.contains(modifier)
@@ -1,7 +1,7 @@
// !openByDefault: true
open class A {
open open fun foo1() {
open fun foo1() {
}
private fun foo2() {