rra/ilgonmic/more-tests-for-internal-export

[JS IR] Add single file test

[JS IR] isExportedMember considers only public API

[JS IR] Add case with non default accessor

Merge-request: KT-MR-6008
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com>

^KT-50504 fixed
This commit is contained in:
Ilya Goncharov
2022-04-05 15:45:41 +00:00
committed by Space
parent 002d62de89
commit e2766e402c
5 changed files with 70 additions and 5 deletions
@@ -5,16 +5,18 @@
package org.jetbrains.kotlin.ir.backend.js.utils
import org.jetbrains.kotlin.descriptors.isInterface
import org.jetbrains.kotlin.descriptors.isClass
import org.jetbrains.kotlin.descriptors.isInterface
import org.jetbrains.kotlin.ir.declarations.IrClass
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
import org.jetbrains.kotlin.ir.declarations.IrDeclarationWithVisibility
import org.jetbrains.kotlin.ir.expressions.IrReturn
import org.jetbrains.kotlin.ir.symbols.IrReturnableBlockSymbol
import org.jetbrains.kotlin.ir.util.parentClassOrNull
fun IrDeclaration.isExportedMember() =
parentClassOrNull.let { it is IrClass && it.isJsExport() }
(this is IrDeclarationWithVisibility && visibility.isPublicAPI) &&
parentClassOrNull.let { it is IrClass && it.isJsExport() }
fun IrDeclaration?.isExportedClass() =
this is IrClass && kind.isClass && isJsExport()