Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6391484

Browse files
smowtonigfoo
authored andcommitted
Add modifiers to array built-in functions
1 parent b33f2d9 commit 6391484

1 file changed

Lines changed: 8 additions & 12 deletions

File tree

java/kotlin-extractor/src/main/kotlin/KotlinExtractorExtension.kt

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -501,9 +501,7 @@ open class KotlinUsesExtractor(
501501
val length = tw.getLabelFor<DbField>("@\"field;{$it};length\"")
502502
val intTypeIds = useType(pluginContext.irBuiltIns.intType)
503503
tw.writeFields(length, "length", intTypeIds.javaResult.id, intTypeIds.kotlinResult.id, it, length)
504-
// TODO: modifiers
505-
// tw.writeHasModifier(length, getModifierKey("public"))
506-
// tw.writeHasModifier(length, getModifierKey("final"))
504+
addModifiers(length, "public", "final")
507505

508506
// Note we will only emit one `clone()` method per Java array type, so we choose `Array<C?>` as its Kotlin
509507
// return type, where C is the component type with any nested arrays themselves invariant and nullable.
@@ -512,8 +510,7 @@ open class KotlinUsesExtractor(
512510

513511
val clone = tw.getLabelFor<DbMethod>("@\"callable;{$it}.clone(){$it}\"")
514512
tw.writeMethods(clone, "clone", "clone()", it, kotlinCloneReturnTypeLabel, it, clone)
515-
// TODO: modifiers
516-
// tw.writeHasModifier(clone, getModifierKey("public"))
513+
addModifiers(clone, "public")
517514
}
518515

519516
val javaResult = TypeResult(
@@ -814,9 +811,12 @@ class X {
814811
return id
815812
}
816813

814+
fun addModifiers(modifiable: Label<out DbModifiable>, vararg modifiers: String) =
815+
modifiers.forEach { tw.writeHasModifier(modifiable, extractModifier(it)) }
816+
817817
fun extractClassModifiers(c: IrClass, id: Label<out DbClassorinterface>) {
818818
if (c.modality == Modality.ABSTRACT) {
819-
tw.writeHasModifier(id, extractModifier("abstract"))
819+
addModifiers(id, "abstract")
820820
}
821821
}
822822

@@ -1073,9 +1073,7 @@ open class KotlinFileExtractor(
10731073
val type = useSimpleTypeClass(c, emptyList(), false)
10741074
tw.writeFields(instance.id, instance.name, type.javaResult.id, type.kotlinResult.id, id, instance.id)
10751075
tw.writeHasLocation(instance.id, locId)
1076-
tw.writeHasModifier(instance.id, extractModifier("public"))
1077-
tw.writeHasModifier(instance.id, extractModifier("static"))
1078-
tw.writeHasModifier(instance.id, extractModifier("final"))
1076+
addModifiers(instance.id, "public", "static", "final")
10791077
@Suppress("UNCHECKED_CAST")
10801078
tw.writeClass_companion_object(parentId as Label<DbClass>, instance.id, id as Label<DbClass>)
10811079
}
@@ -1095,9 +1093,7 @@ open class KotlinFileExtractor(
10951093
val type = useSimpleTypeClass(c, emptyList(), false)
10961094
tw.writeFields(instance.id, instance.name, type.javaResult.id, type.kotlinResult.id, id, instance.id)
10971095
tw.writeHasLocation(instance.id, locId)
1098-
tw.writeHasModifier(instance.id, extractModifier("public"))
1099-
tw.writeHasModifier(instance.id, extractModifier("static"))
1100-
tw.writeHasModifier(instance.id, extractModifier("final"))
1096+
addModifiers(instance.id, "public", "static", "final")
11011097
@Suppress("UNCHECKED_CAST")
11021098
tw.writeClass_object(id as Label<DbClass>, instance.id)
11031099
}

0 commit comments

Comments
 (0)