Minor. Parametrize MainFunctionDetector with LanguageVersionSettings

This commit is contained in:
Denis Zharkov
2018-09-07 12:13:55 +03:00
parent bc722f9c5f
commit 38be1f6947
15 changed files with 46 additions and 19 deletions
+1
View File
@@ -30,6 +30,7 @@ dependencies {
compile(project(":compiler:light-classes")) { isTransitive = false }
compile(project(":compiler:frontend")) { isTransitive = false }
compile(project(":compiler:frontend.java")) { isTransitive = false }
compile(project(":compiler:util")) { isTransitive = false }
compile(project(":js:js.frontend")) { isTransitive = false }
compile(projectClasses(":idea"))
compile(project(":idea:idea-jvm")) { isTransitive = false }
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.idea.js.asJsModule
import org.jetbrains.kotlin.idea.js.jsProductionOutputFilePath
import org.jetbrains.kotlin.idea.nodejs.TestElementPath
import org.jetbrains.kotlin.idea.nodejs.getNodeJsEnvironmentVars
import org.jetbrains.kotlin.idea.project.languageVersionSettings
import org.jetbrains.kotlin.idea.run.addBuildTask
import org.jetbrains.kotlin.psi.KtNamedDeclaration
import org.jetbrains.kotlin.psi.KtNamedFunction
@@ -52,7 +53,7 @@ private class KotlinNodeJsRunConfigurationProducer :
val jsFilePath = module.jsProductionOutputFilePath ?: return null
val declaration = element.getNonStrictParentOfType<KtNamedDeclaration>()
if (declaration is KtNamedFunction) {
val detector = MainFunctionDetector { it.resolveToDescriptorIfAny() }
val detector = MainFunctionDetector(declaration.languageVersionSettings) { it.resolveToDescriptorIfAny() }
if (!detector.isMain(declaration, false)) return null
} else if (!TestElementPath.isModuleAssociatedDir(element, module)) return null
return NodeJsConfigData(element, module, jsFilePath)
@@ -81,4 +82,4 @@ private class KotlinNodeJsRunConfigurationProducer :
val configData = getConfigurationData(context) ?: return false
return configuration.inputPath == configData.jsOutputFilePath
}
}
}