JS: Fix local aliases
Local aliases can be copied as-is to a different fragment now. Before this change we would have had to extract the local alias tag (if any) from the source fragment and add to the destination fragment name bindings.
This commit is contained in:
+2
-1
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.descriptors.impl.TypeAliasConstructorDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.impl.ValueParameterDescriptorImpl;
|
||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation;
|
||||
import org.jetbrains.kotlin.js.backend.ast.*;
|
||||
import org.jetbrains.kotlin.js.backend.ast.metadata.LocalAlias;
|
||||
import org.jetbrains.kotlin.js.backend.ast.metadata.MetadataProperties;
|
||||
import org.jetbrains.kotlin.js.backend.ast.metadata.SpecialFunction;
|
||||
import org.jetbrains.kotlin.js.config.JsConfig;
|
||||
@@ -315,7 +316,7 @@ public class TranslationContext {
|
||||
|
||||
JsName result = JsScope.declareTemporaryName(StaticContext.getSuggestedName(descriptor));
|
||||
if (isFromCurrentModule(descriptor) && !AnnotationsUtils.isNativeObject(descriptor)) {
|
||||
MetadataProperties.setLocalAlias(result, getInnerNameForDescriptor(descriptor));
|
||||
MetadataProperties.setLocalAlias(result, new LocalAlias(getInnerNameForDescriptor(descriptor), staticContext.getTag(descriptor)));
|
||||
}
|
||||
MetadataProperties.setDescriptor(result, descriptor);
|
||||
MetadataProperties.setStaticRef(result, imported);
|
||||
|
||||
@@ -18,10 +18,7 @@ package org.jetbrains.kotlin.js.translate.general
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.js.backend.ast.*
|
||||
import org.jetbrains.kotlin.js.backend.ast.metadata.coroutineMetadata
|
||||
import org.jetbrains.kotlin.js.backend.ast.metadata.exportedPackage
|
||||
import org.jetbrains.kotlin.js.backend.ast.metadata.exportedTag
|
||||
import org.jetbrains.kotlin.js.backend.ast.metadata.localAlias
|
||||
import org.jetbrains.kotlin.js.backend.ast.metadata.*
|
||||
import org.jetbrains.kotlin.js.translate.context.Namer
|
||||
import org.jetbrains.kotlin.js.translate.utils.JsAstUtils
|
||||
import org.jetbrains.kotlin.js.translate.utils.createPrototypeStatements
|
||||
@@ -187,7 +184,7 @@ class Merger(
|
||||
if (node is HasName) {
|
||||
val oldName = node.name
|
||||
node.name = oldName?.let { rename(it) }
|
||||
node.name?.localAlias = oldName?.localAlias?.let { rename(it) }
|
||||
node.name?.localAlias = oldName?.localAlias?.let { it.copy(name = rename(it.name)) }
|
||||
}
|
||||
if (node is JsFunction) {
|
||||
val coroutineMetadata = node.coroutineMetadata
|
||||
|
||||
Reference in New Issue
Block a user