diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/StripTypeAliasDeclarationsLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/StripTypeAliasDeclarationsLowering.kt index bd92c60caac..a9d2fc433de 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/StripTypeAliasDeclarationsLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/StripTypeAliasDeclarationsLowering.kt @@ -5,40 +5,13 @@ package org.jetbrains.kotlin.backend.common.lower -import org.jetbrains.kotlin.backend.common.FileLoweringPass -import org.jetbrains.kotlin.ir.IrElement -import org.jetbrains.kotlin.ir.declarations.IrClass -import org.jetbrains.kotlin.ir.declarations.IrFile +import org.jetbrains.kotlin.backend.common.DeclarationTransformer +import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.declarations.IrTypeAlias -import org.jetbrains.kotlin.ir.expressions.IrContainerExpression -import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid -import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid -import org.jetbrains.kotlin.ir.visitors.acceptVoid -class StripTypeAliasDeclarationsLowering : - IrElementVisitorVoid, - FileLoweringPass { +class StripTypeAliasDeclarationsLowering : DeclarationTransformer { - override fun lower(irFile: IrFile) { - irFile.acceptVoid(this) - } - - override fun visitElement(element: IrElement) { - element.acceptChildrenVoid(this) - } - - override fun visitFile(declaration: IrFile) { - declaration.acceptChildrenVoid(this) - declaration.declarations.removeAll { it is IrTypeAlias } - } - - override fun visitClass(declaration: IrClass) { - declaration.acceptChildrenVoid(this) - declaration.declarations.removeAll { it is IrTypeAlias } - } - - override fun visitContainerExpression(expression: IrContainerExpression) { - expression.acceptChildrenVoid(this) - expression.statements.removeAll { it is IrTypeAlias } + override fun transformFlat(declaration: IrDeclaration): List? { + return if (declaration is IrTypeAlias) listOf() else null } } \ No newline at end of file