[SIR] Use shorter parameter names for some elements in visitor methods

This commit is contained in:
Sergej Jaskiewicz
2023-12-11 20:11:02 +01:00
committed by Space Team
parent e8459793b7
commit dada4a60bd
7 changed files with 49 additions and 44 deletions
@@ -30,18 +30,18 @@ public class ForeignIntoSwiftFunctionTranslationPass : SirPass<SirElement, Nothi
return element
}
override fun transformForeignFunction(foreignFunction: SirForeignFunction): SirDeclaration {
val kotlinOrigin = (foreignFunction.origin as? SirOrigin.ForeignEntity)?.entity as? KotlinFunction
?: return foreignFunction
override fun transformForeignFunction(function: SirForeignFunction): SirDeclaration {
val kotlinOrigin = (function.origin as? SirOrigin.ForeignEntity)?.entity as? KotlinFunction
?: return function
return buildFunction {
origin = foreignFunction.origin
visibility = foreignFunction.visibility
origin = function.origin
visibility = function.visibility
name = kotlinOrigin.fqName.last()
kotlinOrigin.parameters.mapTo(parameters) { it.toSir() }
returnType = kotlinOrigin.returnType.toSir()
}.apply {
parent = foreignFunction.parent
parent = function.parent
}
}
}
@@ -50,8 +50,8 @@ abstract class SirTransformer<in D> : SirVisitor<SirElement, D>() {
return transformDeclaration(foreignDeclaration, data)
}
final override fun visitForeignDeclaration(foreignDeclaration: SirForeignDeclaration, data: D): SirDeclaration {
return transformForeignDeclaration(foreignDeclaration, data)
final override fun visitForeignDeclaration(declaration: SirForeignDeclaration, data: D): SirDeclaration {
return transformForeignDeclaration(declaration, data)
}
@@ -59,8 +59,8 @@ abstract class SirTransformer<in D> : SirVisitor<SirElement, D>() {
return transformDeclaration(namedDeclaration, data)
}
final override fun visitNamedDeclaration(namedDeclaration: SirNamedDeclaration, data: D): SirDeclaration {
return transformNamedDeclaration(namedDeclaration, data)
final override fun visitNamedDeclaration(declaration: SirNamedDeclaration, data: D): SirDeclaration {
return transformNamedDeclaration(declaration, data)
}
open fun transformEnum(enum: SirEnum, data: D): SirDeclaration {
@@ -99,7 +99,7 @@ abstract class SirTransformer<in D> : SirVisitor<SirElement, D>() {
return transformCallable(foreignFunction, data)
}
final override fun visitForeignFunction(foreignFunction: SirForeignFunction, data: D): SirDeclaration {
return transformForeignFunction(foreignFunction, data)
final override fun visitForeignFunction(function: SirForeignFunction, data: D): SirDeclaration {
return transformForeignFunction(function, data)
}
}
@@ -38,17 +38,17 @@ abstract class SirTransformerVoid : SirTransformer<Nothing?>() {
final override fun transformDeclaration(declaration: SirDeclaration, data: Nothing?): SirDeclaration =
transformDeclaration(declaration)
open fun transformForeignDeclaration(foreignDeclaration: SirForeignDeclaration): SirDeclaration =
transformDeclaration(foreignDeclaration)
open fun transformForeignDeclaration(declaration: SirForeignDeclaration): SirDeclaration =
transformDeclaration(declaration)
final override fun transformForeignDeclaration(foreignDeclaration: SirForeignDeclaration, data: Nothing?): SirDeclaration =
transformForeignDeclaration(foreignDeclaration)
final override fun transformForeignDeclaration(declaration: SirForeignDeclaration, data: Nothing?): SirDeclaration =
transformForeignDeclaration(declaration)
open fun transformNamedDeclaration(namedDeclaration: SirNamedDeclaration): SirDeclaration =
transformDeclaration(namedDeclaration)
open fun transformNamedDeclaration(declaration: SirNamedDeclaration): SirDeclaration =
transformDeclaration(declaration)
final override fun transformNamedDeclaration(namedDeclaration: SirNamedDeclaration, data: Nothing?): SirDeclaration =
transformNamedDeclaration(namedDeclaration)
final override fun transformNamedDeclaration(declaration: SirNamedDeclaration, data: Nothing?): SirDeclaration =
transformNamedDeclaration(declaration)
open fun transformEnum(enum: SirEnum): SirDeclaration =
transformNamedDeclaration(enum)
@@ -74,9 +74,9 @@ abstract class SirTransformerVoid : SirTransformer<Nothing?>() {
final override fun transformFunction(function: SirFunction, data: Nothing?): SirDeclaration =
transformFunction(function)
open fun transformForeignFunction(foreignFunction: SirForeignFunction): SirDeclaration =
transformCallable(foreignFunction)
open fun transformForeignFunction(function: SirForeignFunction): SirDeclaration =
transformCallable(function)
final override fun transformForeignFunction(foreignFunction: SirForeignFunction, data: Nothing?): SirDeclaration =
transformForeignFunction(foreignFunction)
final override fun transformForeignFunction(function: SirForeignFunction, data: Nothing?): SirDeclaration =
transformForeignFunction(function)
}
@@ -26,11 +26,11 @@ abstract class SirVisitor<out R, in D> {
open fun visitDeclaration(declaration: SirDeclaration, data: D): R =
visitElement(declaration, data)
open fun visitForeignDeclaration(foreignDeclaration: SirForeignDeclaration, data: D): R =
visitDeclaration(foreignDeclaration, data)
open fun visitForeignDeclaration(declaration: SirForeignDeclaration, data: D): R =
visitDeclaration(declaration, data)
open fun visitNamedDeclaration(namedDeclaration: SirNamedDeclaration, data: D): R =
visitDeclaration(namedDeclaration, data)
open fun visitNamedDeclaration(declaration: SirNamedDeclaration, data: D): R =
visitDeclaration(declaration, data)
open fun visitEnum(enum: SirEnum, data: D): R =
visitNamedDeclaration(enum, data)
@@ -44,6 +44,6 @@ abstract class SirVisitor<out R, in D> {
open fun visitFunction(function: SirFunction, data: D): R =
visitCallable(function, data)
open fun visitForeignFunction(foreignFunction: SirForeignFunction, data: D): R =
visitCallable(foreignFunction, data)
open fun visitForeignFunction(function: SirForeignFunction, data: D): R =
visitCallable(function, data)
}
@@ -46,20 +46,20 @@ abstract class SirVisitorVoid : SirVisitor<Unit, Nothing?>() {
visitElement(declaration)
}
final override fun visitForeignDeclaration(foreignDeclaration: SirForeignDeclaration, data: Nothing?) {
visitForeignDeclaration(foreignDeclaration)
final override fun visitForeignDeclaration(declaration: SirForeignDeclaration, data: Nothing?) {
visitForeignDeclaration(declaration)
}
open fun visitForeignDeclaration(foreignDeclaration: SirForeignDeclaration) {
visitDeclaration(foreignDeclaration)
open fun visitForeignDeclaration(declaration: SirForeignDeclaration) {
visitDeclaration(declaration)
}
final override fun visitNamedDeclaration(namedDeclaration: SirNamedDeclaration, data: Nothing?) {
visitNamedDeclaration(namedDeclaration)
final override fun visitNamedDeclaration(declaration: SirNamedDeclaration, data: Nothing?) {
visitNamedDeclaration(declaration)
}
open fun visitNamedDeclaration(namedDeclaration: SirNamedDeclaration) {
visitDeclaration(namedDeclaration)
open fun visitNamedDeclaration(declaration: SirNamedDeclaration) {
visitDeclaration(declaration)
}
final override fun visitEnum(enum: SirEnum, data: Nothing?) {
@@ -94,11 +94,11 @@ abstract class SirVisitorVoid : SirVisitor<Unit, Nothing?>() {
visitCallable(function)
}
final override fun visitForeignFunction(foreignFunction: SirForeignFunction, data: Nothing?) {
visitForeignFunction(foreignFunction)
final override fun visitForeignFunction(function: SirForeignFunction, data: Nothing?) {
visitForeignFunction(function)
}
open fun visitForeignFunction(foreignFunction: SirForeignFunction) {
visitCallable(foreignFunction)
open fun visitForeignFunction(function: SirForeignFunction) {
visitCallable(function)
}
}
@@ -43,6 +43,8 @@ object SwiftIrTree : AbstractSwiftIrTreeBuilder() {
val foreignDeclaration by sealedElement {
parent(declaration)
visitorParameterName = "declaration"
}
val named by sealedElement {
@@ -53,6 +55,8 @@ object SwiftIrTree : AbstractSwiftIrTreeBuilder() {
customParentInVisitor = declaration
parent(declaration)
parent(named)
visitorParameterName = "declaration"
}
val enum: Element by element {
@@ -86,5 +90,7 @@ object SwiftIrTree : AbstractSwiftIrTreeBuilder() {
customParentInVisitor = callable
parent(callable)
parent(foreignDeclaration)
visitorParameterName = "function"
}
}
@@ -20,8 +20,7 @@ class Element(name: String, override val propertyName: String) : AbstractElement
override val otherParents: MutableList<ClassRef<*>> = mutableListOf()
override val visitorParameterName: String
get() = safeDecapitalizedName
override var visitorParameterName: String = safeDecapitalizedName
override val hasAcceptMethod: Boolean
get() = true