KJS: don't export inline functions with InlineOnly annotation and inline functions with reified generic parameter

This commit is contained in:
Zalim Bashorov
2017-01-25 20:32:23 +03:00
parent 16405d080d
commit 487419e762
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.js.translate.context
import org.jetbrains.kotlin.js.backend.ast.metadata.staticRef
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.annotations.isInlineOnlyOrReifiable
import org.jetbrains.kotlin.js.backend.ast.*
import org.jetbrains.kotlin.js.translate.utils.AnnotationsUtils
import org.jetbrains.kotlin.js.translate.utils.AnnotationsUtils.isLibraryObject
@@ -39,6 +40,7 @@ internal class DeclarationExporter(val context: StaticContext) {
if (exportedDeclarations.contains(descriptor)) return
if (descriptor is ConstructorDescriptor && descriptor.isPrimary) return
if (isNativeObject(descriptor) || isLibraryObject(descriptor)) return
if (descriptor.isInlineOnlyOrReifiable()) return
val suggestedName = context.nameSuggestion.suggest(descriptor) ?: return