@@ -502,9 +502,7 @@ open class KotlinUsesExtractor(
502502 val length = tw.getLabelFor<DbField >(" @\" field;{$it };length\" " )
503503 val intTypeIds = useType(pluginContext.irBuiltIns.intType)
504504 tw.writeFields(length, " length" , intTypeIds.javaResult.id, intTypeIds.kotlinResult.id, it, length)
505- // TODO: modifiers
506- // tw.writeHasModifier(length, getModifierKey("public"))
507- // tw.writeHasModifier(length, getModifierKey("final"))
505+ addModifiers(length, " public" , " final" )
508506
509507 // Note we will only emit one `clone()` method per Java array type, so we choose `Array<C?>` as its Kotlin
510508 // return type, where C is the component type with any nested arrays themselves invariant and nullable.
@@ -513,8 +511,7 @@ open class KotlinUsesExtractor(
513511
514512 val clone = tw.getLabelFor<DbMethod >(" @\" callable;{$it }.clone(){$it }\" " )
515513 tw.writeMethods(clone, " clone" , " clone()" , it, kotlinCloneReturnTypeLabel, it, clone)
516- // TODO: modifiers
517- // tw.writeHasModifier(clone, getModifierKey("public"))
514+ addModifiers(clone, " public" )
518515 }
519516
520517 val javaResult = TypeResult (
@@ -815,9 +812,12 @@ class X {
815812 return id
816813 }
817814
815+ fun addModifiers (modifiable : Label <out DbModifiable >, vararg modifiers : String ) =
816+ modifiers.forEach { tw.writeHasModifier(modifiable, extractModifier(it)) }
817+
818818 fun extractClassModifiers (c : IrClass , id : Label <out DbClassorinterface >) {
819819 if (c.modality == Modality .ABSTRACT ) {
820- tw.writeHasModifier (id, extractModifier( " abstract" ) )
820+ addModifiers (id, " abstract" )
821821 }
822822 }
823823
@@ -1074,9 +1074,7 @@ open class KotlinFileExtractor(
10741074 val type = useSimpleTypeClass(c, emptyList(), false )
10751075 tw.writeFields(instance.id, instance.name, type.javaResult.id, type.kotlinResult.id, id, instance.id)
10761076 tw.writeHasLocation(instance.id, locId)
1077- tw.writeHasModifier(instance.id, extractModifier(" public" ))
1078- tw.writeHasModifier(instance.id, extractModifier(" static" ))
1079- tw.writeHasModifier(instance.id, extractModifier(" final" ))
1077+ addModifiers(instance.id, " public" , " static" , " final" )
10801078 @Suppress(" UNCHECKED_CAST" )
10811079 tw.writeClass_companion_object(parentId as Label <DbClass >, instance.id, id as Label <DbClass >)
10821080 }
@@ -1096,9 +1094,7 @@ open class KotlinFileExtractor(
10961094 val type = useSimpleTypeClass(c, emptyList(), false )
10971095 tw.writeFields(instance.id, instance.name, type.javaResult.id, type.kotlinResult.id, id, instance.id)
10981096 tw.writeHasLocation(instance.id, locId)
1099- tw.writeHasModifier(instance.id, extractModifier(" public" ))
1100- tw.writeHasModifier(instance.id, extractModifier(" static" ))
1101- tw.writeHasModifier(instance.id, extractModifier(" final" ))
1097+ addModifiers(instance.id, " public" , " static" , " final" )
11021098 @Suppress(" UNCHECKED_CAST" )
11031099 tw.writeClass_object(id as Label <DbClass >, instance.id)
11041100 }
0 commit comments