From 03398e60256f742747e504b7e871f3919d155b28 Mon Sep 17 00:00:00 2001 From: Anton Bannykh Date: Fri, 20 Dec 2019 14:33:52 +0300 Subject: [PATCH] Make StripTypeAliasDeclarationsLowering a DeclarationTransformer --- .../StripTypeAliasDeclarationsLowering.kt | 37 +++---------------- 1 file changed, 5 insertions(+), 32 deletions(-) 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