From 202400cb973370d9ec4c9a6afc4a73dc57f7a517 Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Tue, 21 Jun 2016 15:33:51 +0300 Subject: [PATCH] KT-3008: remove unused code that handles anonymous modules, since there's no way to declare them via configuration --- .../kotlin/js/inline/FunctionReader.kt | 2 +- .../test/semantics/MultiModuleWrappersTest.kt | 6 +-- .../js/translate/context/StaticContext.java | 17 +------ .../general/ModuleWrapperTranslation.kt | 46 +++++++------------ 4 files changed, 22 insertions(+), 49 deletions(-) diff --git a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/FunctionReader.kt b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/FunctionReader.kt index 6afa46b140c..9e74a8b5781 100644 --- a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/FunctionReader.kt +++ b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/FunctionReader.kt @@ -160,7 +160,7 @@ class FunctionReader(private val context: TranslationContext) { private fun getRootPackage(): JsExpression { val rootName = context.program().rootScope.declareName(Namer.getRootPackageName()) - return JsAstUtils.fqnWithoutSideEffects(rootName, null) + return JsAstUtils.pureFqn(rootName, null) } } diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/MultiModuleWrappersTest.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/MultiModuleWrappersTest.kt index 0aef8385a96..6ee202921f2 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/MultiModuleWrappersTest.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/MultiModuleWrappersTest.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.js.test.WithModuleKind import org.jetbrains.kotlin.serialization.js.ModuleKind class MultiModuleWrappersTest() : MultipleModulesTranslationTest("multiModuleWrappers/") { - private var overridenTestName = "" + private var overriddenTestName = "" @WithModuleKind(ModuleKind.AMD) fun testAmd() { runTest("simple") @@ -56,11 +56,11 @@ class MultiModuleWrappersTest() : MultipleModulesTranslationTest("multiModuleWra } fun runTest(name: String) { - overridenTestName = name + overriddenTestName = name doTest("${pathToTestDir()}/cases/$name") } - override fun getTestName(lowercaseFirstLetter: Boolean) = overridenTestName + override fun getTestName(lowercaseFirstLetter: Boolean) = overriddenTestName override fun getOutputPath() = "${super.getOutputPath()}/${moduleKind.name.toLowerCase()}/" } diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/StaticContext.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/StaticContext.java index 30721c2b3b2..bbaee73d734 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/StaticContext.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/StaticContext.java @@ -546,20 +546,7 @@ public final class StaticContext { JsNameRef result = getQualifierForParentPackage(((PackageFragmentDescriptor) containingDescriptor).getFqName()); JsExpression moduleExpression = getModuleExpressionFor(descriptor); - if (moduleExpression == null) return result; - - if (LibrarySourcesConfig.UNKNOWN_EXTERNAL_MODULE_NAME.equals(moduleName)) { - return null; - } - - JsName moduleId = moduleName.equals(Namer.KOTLIN_LOWER_NAME) ? rootScope.declareName(Namer.KOTLIN_NAME) : - importedModules.get(moduleName); - if (moduleId == null) { - moduleId = rootScope.declareFreshName(Namer.LOCAL_MODULE_PREFIX + Namer.suggestedModuleName(moduleName)); - importedModules.put(moduleName, moduleId); - } - - return JsAstUtils.replaceRootReference(result, JsAstUtils.pureFqn(moduleId, null)); + return moduleExpression != null ? JsAstUtils.replaceRootReference(result, moduleExpression) : result; } }; Rule constructorOrCompanionObjectHasTheSameQualifierAsTheClass = new Rule() { @@ -667,7 +654,7 @@ public final class StaticContext { importedModules.put(moduleName, moduleId); } - return JsAstUtils.fqnWithoutSideEffects(moduleId, null); + return JsAstUtils.pureFqn(moduleId, null); } private static JsExpression applySideEffects(JsExpression expression, DeclarationDescriptor descriptor) { diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/general/ModuleWrapperTranslation.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/general/ModuleWrapperTranslation.kt index 0c41412157b..728fd0eefa3 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/general/ModuleWrapperTranslation.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/general/ModuleWrapperTranslation.kt @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.serialization.js.ModuleKind object ModuleWrapperTranslation { @JvmStatic fun wrapIfNecessary( - moduleId: String?, function: JsExpression, importedModules: List, + moduleId: String, function: JsExpression, importedModules: List, program: JsProgram, kind: ModuleKind ): List { return when (kind) { @@ -35,7 +35,7 @@ object ModuleWrapperTranslation { } private fun wrapUmd( - moduleId: String?, function: JsExpression, + moduleId: String, function: JsExpression, importedModules: List, program: JsProgram ): List { val scope = program.scope @@ -57,18 +57,13 @@ object ModuleWrapperTranslation { val commonJsBody = JsBlock(wrapCommonJs(factoryName.makeRef(), importedModules, program)) val plainInvocation = makePlainInvocation(factoryName.makeRef(), importedModules, program) - val plainExpr: JsExpression = if (moduleId != null) { - val lhs: JsExpression = if (Namer.requiresEscaping(moduleId)) { - JsArrayAccess(rootName.makeRef(), program.getStringLiteral(moduleId)) - } - else { - JsNameRef(scope.declareName(moduleId), rootName.makeRef()) - } - JsAstUtils.assignment(lhs, plainInvocation) + val lhs: JsExpression = if (Namer.requiresEscaping(moduleId)) { + JsArrayAccess(rootName.makeRef(), program.getStringLiteral(moduleId)) } else { - plainInvocation + JsNameRef(scope.declareName(moduleId), rootName.makeRef()) } + val plainExpr = JsAstUtils.assignment(lhs, plainInvocation) val selector = JsAstUtils.newJsIf(amdTest, amdBody, JsAstUtils.newJsIf(commonJsTest, commonJsBody, plainExpr.makeStmt())) adapterBody.statements += selector @@ -77,20 +72,16 @@ object ModuleWrapperTranslation { } private fun wrapAmd( - moduleId: String?,function: JsExpression, + moduleId: String,function: JsExpression, importedModules: List, program: JsProgram ): List { val scope = program.scope val defineName = scope.declareName("define") - val invocationArgs = mutableListOf() - - if (moduleId != null) { - invocationArgs += program.getStringLiteral(moduleId) - } - - val moduleNameList = importedModules.map { program.getStringLiteral(it) } - invocationArgs += JsArrayLiteral(moduleNameList) - invocationArgs += function + val invocationArgs = listOf( + program.getStringLiteral(moduleId), + JsArrayLiteral(importedModules.map { program.getStringLiteral(it) }), + function + ) val invocation = JsInvocation(defineName.makeRef(), invocationArgs) return listOf(invocation.makeStmt()) @@ -108,21 +99,16 @@ object ModuleWrapperTranslation { } private fun wrapPlain( - moduleId: String?, function: JsExpression, + moduleId: String, function: JsExpression, importedModules: List, program: JsProgram ): List { val invocation = makePlainInvocation(function, importedModules, program) - val statement = if (moduleId == null) { - invocation.makeStmt() + val statement = if (Namer.requiresEscaping(moduleId)) { + JsAstUtils.assignment(makePlainModuleRef(moduleId, program), invocation).makeStmt() } else { - if (Namer.requiresEscaping(moduleId)) { - JsAstUtils.assignment(makePlainModuleRef(moduleId, program), invocation).makeStmt() - } - else { - JsAstUtils.newVar(program.rootScope.declareName(moduleId), invocation) - } + JsAstUtils.newVar(program.rootScope.declareName(moduleId), invocation) } return listOf(statement)