add export from kotlin into swift of class content #KT-65896 fixed

Merge-request: KT-MR-14624
Merged-by: Artem Olkov <artem.olkov@jetbrains.com>
This commit is contained in:
Artem Olkov
2024-02-29 18:37:38 +00:00
committed by Space Team
parent 078f0ff6e1
commit e16714fcf9
18 changed files with 299 additions and 54 deletions
@@ -19,7 +19,7 @@ sealed class SirAccessor : SirCallable() {
abstract override val visibility: SirVisibility
abstract override var parent: SirDeclarationParent
abstract override val kind: SirCallableKind
abstract var body: SirFunctionBody?
abstract override var body: SirFunctionBody?
override fun <R, D> accept(visitor: SirVisitor<R, D>, data: D): R =
visitor.visitAccessor(this, data)
@@ -19,6 +19,7 @@ sealed class SirCallable : SirElementBase(), SirDeclaration {
abstract override val visibility: SirVisibility
abstract override var parent: SirDeclarationParent
abstract val kind: SirCallableKind
abstract var body: SirFunctionBody?
override fun <R, D> accept(visitor: SirVisitor<R, D>, data: D): R =
visitor.visitCallable(this, data)
@@ -19,10 +19,10 @@ abstract class SirFunction : SirCallable() {
abstract override val visibility: SirVisibility
abstract override var parent: SirDeclarationParent
abstract override val kind: SirCallableKind
abstract override var body: SirFunctionBody?
abstract val name: String
abstract val parameters: List<SirParameter>
abstract val returnType: SirType
abstract var body: SirFunctionBody?
abstract var documentation: String?
override fun <R, D> accept(visitor: SirVisitor<R, D>, data: D): R =
@@ -19,10 +19,10 @@ class SirFunctionBuilder {
var origin: SirOrigin = SirOrigin.Unknown
var visibility: SirVisibility = SirVisibility.PUBLIC
lateinit var kind: SirCallableKind
var body: SirFunctionBody? = null
lateinit var name: String
val parameters: MutableList<SirParameter> = mutableListOf()
lateinit var returnType: SirType
var body: SirFunctionBody? = null
var documentation: String? = null
fun build(): SirFunction {
@@ -30,10 +30,10 @@ class SirFunctionBuilder {
origin,
visibility,
kind,
body,
name,
parameters,
returnType,
body,
documentation,
)
}
@@ -57,10 +57,10 @@ inline fun buildFunctionCopy(original: SirFunction, init: SirFunctionBuilder.()
copyBuilder.origin = original.origin
copyBuilder.visibility = original.visibility
copyBuilder.kind = original.kind
copyBuilder.body = original.body
copyBuilder.name = original.name
copyBuilder.parameters.addAll(original.parameters)
copyBuilder.returnType = original.returnType
copyBuilder.body = original.body
copyBuilder.documentation = original.documentation
return copyBuilder.apply(init).build()
}
@@ -18,10 +18,10 @@ internal class SirFunctionImpl(
override val origin: SirOrigin,
override val visibility: SirVisibility,
override val kind: SirCallableKind,
override var body: SirFunctionBody?,
override val name: String,
override val parameters: MutableList<SirParameter>,
override val returnType: SirType,
override var body: SirFunctionBody?,
override var documentation: String?,
) : SirFunction() {
override lateinit var parent: SirDeclarationParent
@@ -78,6 +78,7 @@ object SwiftIrTree : AbstractSwiftIrTreeBuilder() {
parent(declaration)
+field("kind", callableKind)
+field("body", functionBodyType, nullable = true, mutable = true)
}
val function by element {
@@ -87,7 +88,6 @@ object SwiftIrTree : AbstractSwiftIrTreeBuilder() {
+field("name", string)
+listField("parameters", parameterType)
+field("returnType", typeType)
+field("body", functionBodyType, nullable = true, mutable = true)
+field(name = "documentation", string, nullable = true, mutable = true)
}
@@ -95,8 +95,6 @@ object SwiftIrTree : AbstractSwiftIrTreeBuilder() {
val accessor by sealedElement {
customParentInVisitor = callable
parent(callable)
+field("body", functionBodyType, nullable = true, mutable = true)
}
val getter by element {