[IR] Move IrDeclaration.isExpect to IrUtils

^KT-62292
This commit is contained in:
Pavel Kunyavskiy
2023-11-14 13:22:52 +01:00
committed by Space Team
parent 41098a2e34
commit e80d4b1d60
8 changed files with 12 additions and 30 deletions
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
import org.jetbrains.kotlin.ir.symbols.IrConstructorSymbol
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
import org.jetbrains.kotlin.ir.util.isExpect
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
/**
@@ -1,24 +0,0 @@
/*
* Copyright 2010-2019 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.backend.common.ir
import org.jetbrains.kotlin.ir.declarations.*
val IrDeclaration.isExpect
get() = this is IrClass && isExpect ||
this is IrFunction && isExpect ||
this is IrProperty && isExpect
// The original isExpect represents what user has written.
// This predicate means "there can possibly exist an 'actual' for the given declaration".
// Shouldn't it be incorporated to descriptor -> ir declaration psi2ir translation phase?
val IrDeclaration.isProperExpect: Boolean
get() = this is IrClass && isExpect ||
this is IrFunction && isExpect ||
this is IrProperty && isExpect ||
(this is IrClass || this is IrFunction || this is IrProperty || this is IrEnumEntry || this is IrTypeParameter)
&& (this.parent as? IrDeclaration)?.isProperExpect ?: false