[Swift export][KT-65672] Add SIR node for import declaration
This commit is contained in:
committed by
Space Team
parent
f5b273a6d9
commit
10e4d34868
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
// This file was generated automatically. See native/swift/sir/tree-generator/Readme.md.
|
||||
// DO NOT MODIFY IT MANUALLY.
|
||||
|
||||
package org.jetbrains.kotlin.sir
|
||||
|
||||
import org.jetbrains.kotlin.sir.visitors.SirTransformer
|
||||
import org.jetbrains.kotlin.sir.visitors.SirVisitor
|
||||
|
||||
/**
|
||||
* Generated from: [org.jetbrains.kotlin.sir.tree.generator.SwiftIrTree.import]
|
||||
*/
|
||||
abstract class SirImport : SirElementBase(), SirDeclaration {
|
||||
abstract override val origin: SirOrigin
|
||||
abstract override val visibility: SirVisibility
|
||||
abstract override var parent: SirDeclarationParent
|
||||
abstract val moduleName: String
|
||||
|
||||
override fun <R, D> accept(visitor: SirVisitor<R, D>, data: D): R =
|
||||
visitor.visitImport(this, data)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <E : SirElement, D> transform(transformer: SirTransformer<D>, data: D): E =
|
||||
transformer.transformImport(this, data) as E
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
// This file was generated automatically. See native/swift/sir/tree-generator/Readme.md.
|
||||
// DO NOT MODIFY IT MANUALLY.
|
||||
|
||||
@file:Suppress("DuplicatedCode", "unused")
|
||||
|
||||
package org.jetbrains.kotlin.sir.builder
|
||||
|
||||
import kotlin.contracts.*
|
||||
import org.jetbrains.kotlin.sir.SirBuilderDsl
|
||||
import org.jetbrains.kotlin.sir.SirImport
|
||||
import org.jetbrains.kotlin.sir.SirOrigin
|
||||
import org.jetbrains.kotlin.sir.SirVisibility
|
||||
import org.jetbrains.kotlin.sir.impl.SirImportImpl
|
||||
|
||||
@SirBuilderDsl
|
||||
class SirImportBuilder {
|
||||
var origin: SirOrigin = SirOrigin.Unknown
|
||||
var visibility: SirVisibility = SirVisibility.PUBLIC
|
||||
lateinit var moduleName: String
|
||||
|
||||
fun build(): SirImport {
|
||||
return SirImportImpl(
|
||||
origin,
|
||||
visibility,
|
||||
moduleName,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContracts::class)
|
||||
inline fun buildImport(init: SirImportBuilder.() -> Unit): SirImport {
|
||||
contract {
|
||||
callsInPlace(init, InvocationKind.EXACTLY_ONCE)
|
||||
}
|
||||
return SirImportBuilder().apply(init).build()
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContracts::class)
|
||||
inline fun buildImportCopy(original: SirImport, init: SirImportBuilder.() -> Unit): SirImport {
|
||||
contract {
|
||||
callsInPlace(init, InvocationKind.EXACTLY_ONCE)
|
||||
}
|
||||
val copyBuilder = SirImportBuilder()
|
||||
copyBuilder.origin = original.origin
|
||||
copyBuilder.visibility = original.visibility
|
||||
copyBuilder.moduleName = original.moduleName
|
||||
return copyBuilder.apply(init).build()
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
// This file was generated automatically. See native/swift/sir/tree-generator/Readme.md.
|
||||
// DO NOT MODIFY IT MANUALLY.
|
||||
|
||||
@file:Suppress("DuplicatedCode", "unused")
|
||||
|
||||
package org.jetbrains.kotlin.sir.impl
|
||||
|
||||
import org.jetbrains.kotlin.sir.SirDeclarationParent
|
||||
import org.jetbrains.kotlin.sir.SirImport
|
||||
import org.jetbrains.kotlin.sir.SirOrigin
|
||||
import org.jetbrains.kotlin.sir.SirVisibility
|
||||
import org.jetbrains.kotlin.sir.visitors.SirTransformer
|
||||
import org.jetbrains.kotlin.sir.visitors.SirVisitor
|
||||
|
||||
internal class SirImportImpl(
|
||||
override val origin: SirOrigin,
|
||||
override val visibility: SirVisibility,
|
||||
override val moduleName: String,
|
||||
) : SirImport() {
|
||||
override lateinit var parent: SirDeclarationParent
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: SirVisitor<R, D>, data: D) {
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: SirTransformer<D>, data: D) {
|
||||
}
|
||||
}
|
||||
@@ -150,4 +150,12 @@ abstract class SirTransformer<in D> : SirVisitor<SirElement, D>() {
|
||||
final override fun visitForeignVariable(variable: SirForeignVariable, data: D): SirDeclaration {
|
||||
return transformForeignVariable(variable, data)
|
||||
}
|
||||
|
||||
open fun transformImport(import: SirImport, data: D): SirDeclaration {
|
||||
return transformDeclaration(import, data)
|
||||
}
|
||||
|
||||
final override fun visitImport(import: SirImport, data: D): SirDeclaration {
|
||||
return transformImport(import, data)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,4 +115,10 @@ abstract class SirTransformerVoid : SirTransformer<Nothing?>() {
|
||||
|
||||
final override fun transformForeignVariable(variable: SirForeignVariable, data: Nothing?): SirDeclaration =
|
||||
transformForeignVariable(variable)
|
||||
|
||||
open fun transformImport(import: SirImport): SirDeclaration =
|
||||
transformDeclaration(import)
|
||||
|
||||
final override fun transformImport(import: SirImport, data: Nothing?): SirDeclaration =
|
||||
transformImport(import)
|
||||
}
|
||||
|
||||
@@ -64,4 +64,7 @@ abstract class SirVisitor<out R, in D> {
|
||||
|
||||
open fun visitForeignVariable(variable: SirForeignVariable, data: D): R =
|
||||
visitDeclaration(variable, data)
|
||||
|
||||
open fun visitImport(import: SirImport, data: D): R =
|
||||
visitDeclaration(import, data)
|
||||
}
|
||||
|
||||
@@ -149,4 +149,12 @@ abstract class SirVisitorVoid : SirVisitor<Unit, Nothing?>() {
|
||||
open fun visitForeignVariable(variable: SirForeignVariable) {
|
||||
visitDeclaration(variable)
|
||||
}
|
||||
|
||||
final override fun visitImport(import: SirImport, data: Nothing?) {
|
||||
visitImport(import)
|
||||
}
|
||||
|
||||
open fun visitImport(import: SirImport) {
|
||||
visitDeclaration(import)
|
||||
}
|
||||
}
|
||||
|
||||
+7
@@ -142,4 +142,11 @@ object SwiftIrTree : AbstractSwiftIrTreeBuilder() {
|
||||
|
||||
visitorParameterName = "variable"
|
||||
}
|
||||
|
||||
val import by element {
|
||||
customParentInVisitor = declaration
|
||||
parent(declaration)
|
||||
|
||||
+field("moduleName", string)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user