From 2c1e4c17694448b3cace383d3dc5f22cf14bde12 Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Thu, 5 Nov 2020 02:44:15 +0300 Subject: [PATCH] [IR] Use more specific type (IrSimpleFunction) for accessors in IrLocalDelegatedProperty --- .../impl/IrLocalDelegatedPropertyImpl.kt | 19 ++++----------- .../PersistentIrLocalDelegatedProperty.kt | 23 +++++-------------- .../carriers/LocalDelegatedPropertyCarrier.kt | 12 +++++----- .../declarations/IrLocalDelegatedProperty.kt | 23 +++++-------------- 4 files changed, 22 insertions(+), 55 deletions(-) diff --git a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrLocalDelegatedPropertyImpl.kt b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrLocalDelegatedPropertyImpl.kt index dd648146127..7756426f808 100644 --- a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrLocalDelegatedPropertyImpl.kt +++ b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrLocalDelegatedPropertyImpl.kt @@ -1,17 +1,6 @@ /* - * Copyright 2010-2016 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2010-2020 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. */ package org.jetbrains.kotlin.ir.declarations.impl @@ -49,9 +38,9 @@ class IrLocalDelegatedPropertyImpl( override lateinit var delegate: IrVariable - override lateinit var getter: IrFunction + override lateinit var getter: IrSimpleFunction - override var setter: IrFunction? = null + override var setter: IrSimpleFunction? = null override var metadata: MetadataSource? = null } diff --git a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrLocalDelegatedProperty.kt b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrLocalDelegatedProperty.kt index ce438dc803c..39691ae9e8f 100644 --- a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrLocalDelegatedProperty.kt +++ b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrLocalDelegatedProperty.kt @@ -1,17 +1,6 @@ /* - * Copyright 2010-2016 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2010-2020 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. */ package org.jetbrains.kotlin.ir.declarations.persistent @@ -78,9 +67,9 @@ internal class PersistentIrLocalDelegatedProperty( } } - override var getterField: IrFunction? = null + override var getterField: IrSimpleFunction? = null - override var getter: IrFunction + override var getter: IrSimpleFunction get() = getCarrier().getterField!! set(v) { if (getCarrier().getterField !== v) { @@ -88,9 +77,9 @@ internal class PersistentIrLocalDelegatedProperty( } } - override var setterField: IrFunction? = null + override var setterField: IrSimpleFunction? = null - override var setter: IrFunction? + override var setter: IrSimpleFunction? get() = getCarrier().setterField set(v) { if (setter !== v) { diff --git a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/carriers/LocalDelegatedPropertyCarrier.kt b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/carriers/LocalDelegatedPropertyCarrier.kt index 3b297d33827..12d76ac24e1 100644 --- a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/carriers/LocalDelegatedPropertyCarrier.kt +++ b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/carriers/LocalDelegatedPropertyCarrier.kt @@ -1,6 +1,6 @@ /* - * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. + * Copyright 2010-2020 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. */ package org.jetbrains.kotlin.ir.declarations.persistent.carriers @@ -12,8 +12,8 @@ import org.jetbrains.kotlin.ir.types.IrType internal interface LocalDelegatedPropertyCarrier : DeclarationCarrier { var typeField: IrType var delegateField: IrVariable? - var getterField: IrFunction? - var setterField: IrFunction? + var getterField: IrSimpleFunction? + var setterField: IrSimpleFunction? var metadataField: MetadataSource? override fun clone(): LocalDelegatedPropertyCarrier { @@ -38,7 +38,7 @@ internal class LocalDelegatedPropertyCarrierImpl( override var annotationsField: List, override var typeField: IrType, override var delegateField: IrVariable?, - override var getterField: IrFunction?, - override var setterField: IrFunction?, + override var getterField: IrSimpleFunction?, + override var setterField: IrSimpleFunction?, override var metadataField: MetadataSource? ) : LocalDelegatedPropertyCarrier diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrLocalDelegatedProperty.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrLocalDelegatedProperty.kt index 178e6f39ecc..11944e4b798 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrLocalDelegatedProperty.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrLocalDelegatedProperty.kt @@ -1,17 +1,6 @@ /* - * Copyright 2010-2016 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2010-2020 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. */ package org.jetbrains.kotlin.ir.declarations @@ -37,8 +26,8 @@ abstract class IrLocalDelegatedProperty : abstract val isVar: Boolean abstract var delegate: IrVariable - abstract var getter: IrFunction - abstract var setter: IrFunction? + abstract var getter: IrSimpleFunction + abstract var setter: IrSimpleFunction? override fun accept(visitor: IrElementVisitor, data: D): R = visitor.visitLocalDelegatedProperty(this, data) @@ -51,7 +40,7 @@ abstract class IrLocalDelegatedProperty : override fun transformChildren(transformer: IrElementTransformer, data: D) { delegate = delegate.transform(transformer, data) as IrVariable - getter = getter.transform(transformer, data) as IrFunction - setter = setter?.transform(transformer, data) as? IrFunction + getter = getter.transform(transformer, data) as IrSimpleFunction + setter = setter?.transform(transformer, data) as? IrSimpleFunction } }