[JS IR BE] Minor refactoring

This commit is contained in:
Roman Artemev
2018-10-24 17:29:46 +03:00
committed by romanart
parent 080e1ad5b5
commit ffdfec4815
9 changed files with 20 additions and 24 deletions
@@ -322,4 +322,11 @@ object SetDeclarationsParentVisitor : IrElementVisitor<Unit, IrDeclarationParent
declaration.parent = data
super.visitDeclaration(declaration, data)
}
}
}
val IrFunction.isStatic: Boolean
get() = parent is IrClass && dispatchReceiverParameter == null
val IrDeclaration.isTopLevel: Boolean
get() = parent is IrPackageFragment
@@ -5,19 +5,14 @@
package org.jetbrains.kotlin.backend.common.utils
import org.jetbrains.kotlin.backend.common.descriptors.isFunctionOrKFunctionType
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.isBuiltinFunctionalTypeOrSubtype
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.types.toIrType
import org.jetbrains.kotlin.ir.types.toKotlinType
import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.types.CommonSupertypes
import org.jetbrains.kotlin.types.isNullable
import org.jetbrains.kotlin.types.typeUtil.isInterface
import org.jetbrains.kotlin.types.typeUtil.isSubtypeOf
import org.jetbrains.kotlin.types.typeUtil.isTypeParameter
// TODO: implement pure Ir-based function (see IrTypeUtils.kt)