From bd70481bea4fcbc2713e2d2fbf054d36d22701fb Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Mon, 30 May 2016 14:01:36 +0200 Subject: [PATCH] Convert ScriptTest to Kotlin - phase 2 - convert --- .../jetbrains/kotlin/scripts/ScriptTest.kt | 124 ++++++++---------- 1 file changed, 58 insertions(+), 66 deletions(-) diff --git a/compiler/tests/org/jetbrains/kotlin/scripts/ScriptTest.kt b/compiler/tests/org/jetbrains/kotlin/scripts/ScriptTest.kt index da4da6bcca4..70b6ea35c6a 100644 --- a/compiler/tests/org/jetbrains/kotlin/scripts/ScriptTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/scripts/ScriptTest.kt @@ -14,96 +14,88 @@ * limitations under the License. */ -package org.jetbrains.kotlin.scripts; +package org.jetbrains.kotlin.scripts -import com.intellij.openapi.Disposable; -import com.intellij.openapi.util.Disposer; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.kotlin.builtins.DefaultBuiltIns; -import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys; -import org.jetbrains.kotlin.cli.common.messages.*; -import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles; -import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment; -import org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler; -import org.jetbrains.kotlin.codegen.CompilationException; -import org.jetbrains.kotlin.config.CompilerConfiguration; -import org.jetbrains.kotlin.config.ContentRootsKt; -import org.jetbrains.kotlin.config.JVMConfigurationKeys; -import org.jetbrains.kotlin.name.Name; -import org.jetbrains.kotlin.script.KotlinScriptDefinition; -import org.jetbrains.kotlin.script.ScriptParameter; -import org.jetbrains.kotlin.test.ConfigurationKind; -import org.jetbrains.kotlin.test.KotlinTestUtils; -import org.jetbrains.kotlin.test.TestJdkKind; -import org.jetbrains.kotlin.utils.KotlinPaths; -import org.jetbrains.kotlin.utils.PathUtil; -import org.junit.Assert; -import org.junit.Test; +import com.intellij.openapi.util.Disposer +import org.jetbrains.kotlin.builtins.DefaultBuiltIns +import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys +import org.jetbrains.kotlin.cli.common.messages.* +import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles +import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment +import org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler +import org.jetbrains.kotlin.codegen.CompilationException +import org.jetbrains.kotlin.config.JVMConfigurationKeys +import org.jetbrains.kotlin.config.addKotlinSourceRoot +import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.script.KotlinScriptDefinition +import org.jetbrains.kotlin.script.ScriptParameter +import org.jetbrains.kotlin.test.ConfigurationKind +import org.jetbrains.kotlin.test.KotlinTestUtils +import org.jetbrains.kotlin.test.TestJdkKind +import org.jetbrains.kotlin.utils.PathUtil +import org.junit.Assert +import org.junit.Test -import java.util.Collections; -import java.util.List; - -public class ScriptTest { +class ScriptTest { @Test - public void testScript() throws Exception { - Class aClass = compileScript("fib.kts", new TestScriptDefinition(".kts", numIntParam())); - Assert.assertNotNull(aClass); - aClass.getConstructor(int.class).newInstance(4); + @Throws(Exception::class) + fun testScript() { + val aClass = compileScript("fib.kts", TestScriptDefinition(".kts", numIntParam())) + Assert.assertNotNull(aClass) + aClass!!.getConstructor(Integer.TYPE).newInstance(4) } @Test - public void testScriptWithPackage() throws Exception { - Class aClass = compileScript("fib.pkg.kts", new TestScriptDefinition(".kts", numIntParam())); - Assert.assertNotNull(aClass); - aClass.getConstructor(int.class).newInstance(4); + @Throws(Exception::class) + fun testScriptWithPackage() { + val aClass = compileScript("fib.pkg.kts", TestScriptDefinition(".kts", numIntParam())) + Assert.assertNotNull(aClass) + aClass!!.getConstructor(Integer.TYPE).newInstance(4) } @Test - public void testScriptWithScriptDefinition() throws Exception { - Class aClass = compileScript("fib.fib.kt", new TestScriptDefinition(".fib.kt", numIntParam())); - Assert.assertNotNull(aClass); - aClass.getConstructor(int.class).newInstance(4); + @Throws(Exception::class) + fun testScriptWithScriptDefinition() { + val aClass = compileScript("fib.fib.kt", TestScriptDefinition(".fib.kt", numIntParam())) + Assert.assertNotNull(aClass) + aClass!!.getConstructor(Integer.TYPE).newInstance(4) } - @Nullable - private static Class compileScript( - @NotNull String scriptPath, - @NotNull KotlinScriptDefinition scriptDefinition - ) { - KotlinPaths paths = PathUtil.getKotlinPathsForDistDirectory(); - MessageCollector messageCollector = new PrintingMessageCollector(System.err, MessageRenderer.PLAIN_FULL_PATHS, false); + private fun compileScript( + scriptPath: String, + scriptDefinition: KotlinScriptDefinition): Class<*>? { + val paths = PathUtil.getKotlinPathsForDistDirectory() + val messageCollector = PrintingMessageCollector(System.err, MessageRenderer.PLAIN_FULL_PATHS, false) - Disposable rootDisposable = Disposer.newDisposable(); + val rootDisposable = Disposer.newDisposable() try { - CompilerConfiguration configuration = KotlinTestUtils.newConfiguration(ConfigurationKind.JDK_ONLY, TestJdkKind.FULL_JDK); - configuration.put(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, messageCollector); - ContentRootsKt.addKotlinSourceRoot(configuration, "compiler/testData/script/" + scriptPath); - configuration.add(JVMConfigurationKeys.SCRIPT_DEFINITIONS, scriptDefinition); + val configuration = KotlinTestUtils.newConfiguration(ConfigurationKind.JDK_ONLY, TestJdkKind.FULL_JDK) + configuration.put(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, messageCollector) + configuration.addKotlinSourceRoot("compiler/testData/script/" + scriptPath) + configuration.add(JVMConfigurationKeys.SCRIPT_DEFINITIONS, scriptDefinition) - KotlinCoreEnvironment environment = - KotlinCoreEnvironment.createForProduction(rootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES); + val environment = KotlinCoreEnvironment.createForProduction(rootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES) try { - return KotlinToJVMBytecodeCompiler.INSTANCE.compileScript(environment, paths); + return KotlinToJVMBytecodeCompiler.compileScript(environment, paths) } - catch (CompilationException e) { + catch (e: CompilationException) { messageCollector.report(CompilerMessageSeverity.EXCEPTION, OutputMessageUtil.renderException(e), - MessageUtil.psiElementToMessageLocation(e.getElement())); - return null; + MessageUtil.psiElementToMessageLocation(e.element)) + return null } - catch (Throwable t) { - MessageCollectorUtil.reportException(messageCollector, t); - return null; + catch (t: Throwable) { + MessageCollectorUtil.reportException(messageCollector, t) + return null } + } finally { - Disposer.dispose(rootDisposable); + Disposer.dispose(rootDisposable) } } - @NotNull - private static List numIntParam() { - return Collections.singletonList(new ScriptParameter(Name.identifier("num"), DefaultBuiltIns.getInstance().getIntType())); + private fun numIntParam(): List { + return listOf(ScriptParameter(Name.identifier("num"), DefaultBuiltIns.Instance.intType)) } }