From d909a0345373373681e4f75dbc8c5fe28379f595 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Fri, 28 Mar 2014 21:23:37 +0400 Subject: [PATCH] Minor. ScriptNameUtil works on scripts, not files --- .../src/org/jetbrains/jet/codegen/KotlinCodegenFacade.java | 3 ++- .../jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java | 2 +- .../org/jetbrains/jet/lang/resolve/ScriptHeaderResolver.java | 2 +- .../src/org/jetbrains/jet/lang/resolve/ScriptNameUtil.java | 4 +++- .../jet/lang/resolve/lazy/descriptors/LazyScriptDescriptor.kt | 2 +- compiler/tests/org/jetbrains/jet/codegen/ScriptGenTest.java | 2 +- 6 files changed, 9 insertions(+), 6 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/KotlinCodegenFacade.java b/compiler/backend/src/org/jetbrains/jet/codegen/KotlinCodegenFacade.java index ce087f5a40d..0dcaf472f44 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/KotlinCodegenFacade.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/KotlinCodegenFacade.java @@ -38,9 +38,10 @@ public class KotlinCodegenFacade { for (JetFile file : state.getFiles()) { if (file.isScript()) { // SCRIPT: register class name for scripting from this file, move outside of this function - FqName name = ScriptNameUtil.classNameForScript(file); JetScript script = file.getScript(); assert script != null; + + FqName name = ScriptNameUtil.classNameForScript(script); Type type = AsmUtil.asmTypeByFqNameWithoutInnerClasses(name); registerClassNameForScript(state.getBindingTrace(), script, type); } diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java index ceae5ca3def..e1e34b6e01a 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java @@ -235,7 +235,7 @@ public class KotlinToJVMBytecodeCompiler { }, AllModules.class.getClassLoader()) ); - FqName nameForScript = ScriptNameUtil.classNameForScript(environment.getSourceFiles().get(0)); + FqName nameForScript = ScriptNameUtil.classNameForScript(environment.getSourceFiles().get(0).getScript()); return classLoader.loadClass(nameForScript.asString()); } catch (Exception e) { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptHeaderResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptHeaderResolver.java index b6f92c5f6c1..9d84e34ec38 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptHeaderResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptHeaderResolver.java @@ -70,7 +70,7 @@ public class ScriptHeaderResolver { Integer priority = getScriptPriority(script); - FqName nameForScript = ScriptNameUtil.classNameForScript((JetFile) script.getContainingFile()); + FqName nameForScript = ScriptNameUtil.classNameForScript(script); Name className = nameForScript.shortName(); ScriptDescriptorImpl scriptDescriptor = new ScriptDescriptorImpl(ns, priority, outerScope, className); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptNameUtil.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptNameUtil.java index 35f892e35d4..5bbfa1c911d 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptNameUtil.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptNameUtil.java @@ -21,6 +21,7 @@ import org.jetbrains.jet.lang.parsing.JetScriptDefinition; import org.jetbrains.jet.lang.parsing.JetScriptDefinitionProvider; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetPackageDirective; +import org.jetbrains.jet.lang.psi.JetScript; import org.jetbrains.jet.lang.resolve.name.FqName; public class ScriptNameUtil { @@ -28,7 +29,8 @@ public class ScriptNameUtil { } @NotNull - public static FqName classNameForScript(JetFile file) { + public static FqName classNameForScript(JetScript script) { + JetFile file = (JetFile) script.getContainingFile(); JetScriptDefinition scriptDefinition = JetScriptDefinitionProvider.getInstance(file.getProject()).findScriptDefinition(file); String name = file.getName(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyScriptDescriptor.kt b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyScriptDescriptor.kt index c1a4ad92063..d9719db39dd 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyScriptDescriptor.kt +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyScriptDescriptor.kt @@ -78,7 +78,7 @@ public class LazyScriptDescriptor( override fun getPriority() = _priority private val _classDescriptor = resolveSession.getStorageManager().createLazyValue { - val nameForScript = ScriptNameUtil.classNameForScript(jetScript.getContainingFile() as JetFile) + val nameForScript = ScriptNameUtil.classNameForScript(jetScript) val className = nameForScript.shortName() LazyClassDescriptor( resolveSession, diff --git a/compiler/tests/org/jetbrains/jet/codegen/ScriptGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/ScriptGenTest.java index 9fe0496592d..fcf79c112ff 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ScriptGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ScriptGenTest.java @@ -53,7 +53,7 @@ public class ScriptGenTest extends CodegenTestCase { loadFile(filename); try { - FqName fqName = ScriptNameUtil.classNameForScript(myFiles.getPsiFile()); + FqName fqName = ScriptNameUtil.classNameForScript(myFiles.getPsiFile().getScript()); Class scriptClass = generateClass(fqName.asString()); Constructor constructor = getConstructor(scriptClass);