Make IrField be IrDeclarationParent

* fix parent in TypeOperatorLowering
This commit is contained in:
Roman Artemev
2018-11-29 15:46:56 +03:00
committed by romanart
parent ce70e5850f
commit eff81525d3
2 changed files with 4 additions and 11 deletions
@@ -12,10 +12,7 @@ import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.backend.js.JsIrBackendContext
import org.jetbrains.kotlin.ir.backend.js.ir.JsIrArithBuilder
import org.jetbrains.kotlin.ir.backend.js.ir.JsIrBuilder
import org.jetbrains.kotlin.ir.declarations.IrClass
import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent
import org.jetbrains.kotlin.ir.declarations.IrFile
import org.jetbrains.kotlin.ir.declarations.IrFunction
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrExpression
import org.jetbrains.kotlin.ir.expressions.IrExpressionWithCopy
import org.jetbrains.kotlin.ir.expressions.IrTypeOperator
@@ -68,12 +65,8 @@ class TypeOperatorLowering(val context: JsIrBackendContext) : FileLoweringPass {
override fun lower(irFile: IrFile) {
irFile.transformChildren(object : IrElementTransformer<IrDeclarationParent> {
override fun visitFunction(declaration: IrFunction, data: IrDeclarationParent) =
super.visitFunction(declaration, declaration)
override fun visitClass(declaration: IrClass, data: IrDeclarationParent): IrStatement {
return super.visitClass(declaration, declaration)
}
override fun visitDeclaration(declaration: IrDeclaration, data: IrDeclarationParent) =
super.visitDeclaration(declaration, declaration as? IrDeclarationParent ?: data)
override fun visitTypeOperator(expression: IrTypeOperatorCall, data: IrDeclarationParent): IrExpression {
super.visitTypeOperator(expression, data)
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol
import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.name.Name
interface IrField : IrSymbolDeclaration<IrFieldSymbol>, IrOverridableDeclaration<IrFieldSymbol>, IrDeclarationWithVisibility {
interface IrField : IrSymbolDeclaration<IrFieldSymbol>, IrOverridableDeclaration<IrFieldSymbol>, IrDeclarationWithVisibility, IrDeclarationParent {
override val descriptor: PropertyDescriptor
val name: Name