From 98c54f39bb679d196870164b3a777665c67918d3 Mon Sep 17 00:00:00 2001 From: Ilya Ryzhenkov Date: Wed, 19 Mar 2014 11:14:03 +0400 Subject: [PATCH] Unify script file extensions to "kts" so that IDEA, compiler and tests agree when to parse as SCRIPT. Include kt* files into formatter test generation, to test scripting formatting --- .../cli/jvm/compiler/JetCoreEnvironment.java | 3 +- .../jet/cli/jvm/repl/ReplInterpreter.java | 3 +- .../jetbrains/jet/lang/parsing/JetParser.java | 4 +-- .../jet/lang/parsing/JetParserDefinition.java | 3 +- .../parsing/JetScriptDefinitionProvider.java | 4 +-- .../cli/jvm/{hello.ktscript => hello.kts} | 0 compiler/testData/cli/jvm/printArguments.args | 2 +- compiler/testData/cli/jvm/printArguments.out | 2 +- compiler/testData/cli/jvm/script.args | 2 +- .../cli/jvm/{script.ktscript => script.kts} | 0 .../script/{empty.ktscript => empty.kts} | 0 .../{fibwprunner.ktscript => fibwprunner.kts} | 0 .../{helloWorld.ktscript => helloWorld.kts} | 0 .../{parameter.ktscript => parameter.kts} | 0 ...meterArray.ktscript => parameterArray.kts} | 0 ...rClosure.ktscript => parameterClosure.kts} | 0 ...rameterLong.ktscript => parameterLong.kts} | 0 ...ction.ktscript => secondLevelFunction.kts} | 0 ...tscript => secondLevelFunctionClosure.kts} | 0 ...ndLevelVal.ktscript => secondLevelVal.kts} | 0 .../script/{string.ktscript => string.kts} | 0 ...Function.ktscript => topLevelFunction.kts} | 0 ...e.ktscript => topLevelFunctionClosure.kts} | 0 ...Property.ktscript => topLevelProperty.kts} | 0 ...t => AccessForwardDeclarationInScript.kts} | 0 ...mplexScript.ktscript => ComplexScript.kts} | 0 ...SimpleScript.ktscript => SimpleScript.kts} | 0 .../script/{imports.ktscript => imports.kts} | 0 ...mplexScript.ktscript => ComplexScript.kts} | 0 .../testData/psi/script/ComplexScript.txt | 2 +- .../script/{Import.ktscript => Import.kts} | 0 compiler/testData/psi/script/Import.txt | 2 +- .../script/{Shebang.ktscript => Shebang.kts} | 0 compiler/testData/psi/script/Shebang.txt | 2 +- ...ncorrect.ktscript => ShebangIncorrect.kts} | 0 .../testData/psi/script/ShebangIncorrect.txt | 2 +- ...SimpleScript.ktscript => SimpleScript.kts} | 0 compiler/testData/psi/script/SimpleScript.txt | 2 +- compiler/testData/repl/analyzeErrors.repl | 2 +- compiler/testData/repl/syntaxErrors.repl | 4 +-- .../testData/script/{fib.ktscript => fib.kts} | 0 .../script/{fib.pkg.ktscript => fib.pkg.kts} | 0 .../org/jetbrains/jet/JetTestCaseBuilder.java | 2 +- .../tests/org/jetbrains/jet/ScriptTest.java | 4 +-- .../checkers/JetDiagnosticsTestGenerated.java | 18 ++++++------ .../jetbrains/jet/codegen/ScriptGenTest.java | 28 +++++++++---------- .../AbstractLazyResolveDiagnosticsTest.java | 2 +- .../jet/generators/tests/GenerateTests.kt | 6 ++-- .../formatter/JetFormatterTestGenerated.java | 11 ++++++-- 49 files changed, 58 insertions(+), 52 deletions(-) rename compiler/testData/cli/jvm/{hello.ktscript => hello.kts} (100%) rename compiler/testData/cli/jvm/{script.ktscript => script.kts} (100%) rename compiler/testData/codegen/script/{empty.ktscript => empty.kts} (100%) rename compiler/testData/codegen/script/{fibwprunner.ktscript => fibwprunner.kts} (100%) rename compiler/testData/codegen/script/{helloWorld.ktscript => helloWorld.kts} (100%) rename compiler/testData/codegen/script/{parameter.ktscript => parameter.kts} (100%) rename compiler/testData/codegen/script/{parameterArray.ktscript => parameterArray.kts} (100%) rename compiler/testData/codegen/script/{parameterClosure.ktscript => parameterClosure.kts} (100%) rename compiler/testData/codegen/script/{parameterLong.ktscript => parameterLong.kts} (100%) rename compiler/testData/codegen/script/{secondLevelFunction.ktscript => secondLevelFunction.kts} (100%) rename compiler/testData/codegen/script/{secondLevelFunctionClosure.ktscript => secondLevelFunctionClosure.kts} (100%) rename compiler/testData/codegen/script/{secondLevelVal.ktscript => secondLevelVal.kts} (100%) rename compiler/testData/codegen/script/{string.ktscript => string.kts} (100%) rename compiler/testData/codegen/script/{topLevelFunction.ktscript => topLevelFunction.kts} (100%) rename compiler/testData/codegen/script/{topLevelFunctionClosure.ktscript => topLevelFunctionClosure.kts} (100%) rename compiler/testData/codegen/script/{topLevelProperty.ktscript => topLevelProperty.kts} (100%) rename compiler/testData/diagnostics/tests/script/{AccessForwardDeclarationInScript.ktscript => AccessForwardDeclarationInScript.kts} (100%) rename compiler/testData/diagnostics/tests/script/{ComplexScript.ktscript => ComplexScript.kts} (100%) rename compiler/testData/diagnostics/tests/script/{SimpleScript.ktscript => SimpleScript.kts} (100%) rename compiler/testData/diagnostics/tests/script/{imports.ktscript => imports.kts} (100%) rename compiler/testData/psi/script/{ComplexScript.ktscript => ComplexScript.kts} (100%) rename compiler/testData/psi/script/{Import.ktscript => Import.kts} (100%) rename compiler/testData/psi/script/{Shebang.ktscript => Shebang.kts} (100%) rename compiler/testData/psi/script/{ShebangIncorrect.ktscript => ShebangIncorrect.kts} (100%) rename compiler/testData/psi/script/{SimpleScript.ktscript => SimpleScript.kts} (100%) rename compiler/testData/script/{fib.ktscript => fib.kts} (100%) rename compiler/testData/script/{fib.pkg.ktscript => fib.pkg.kts} (100%) diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/JetCoreEnvironment.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/JetCoreEnvironment.java index 2ca4ab293c9..29908780f6e 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/JetCoreEnvironment.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/JetCoreEnvironment.java @@ -144,9 +144,8 @@ public class JetCoreEnvironment { applicationEnvironment.registerFileType(PlainTextFileType.INSTANCE, "xml"); applicationEnvironment.registerFileType(JetFileType.INSTANCE, "kt"); - applicationEnvironment.registerFileType(JetFileType.INSTANCE, "kts"); applicationEnvironment.registerFileType(JetFileType.INSTANCE, "ktm"); - applicationEnvironment.registerFileType(JetFileType.INSTANCE, JetParserDefinition.KTSCRIPT_FILE_SUFFIX); // should be renamed to kts + applicationEnvironment.registerFileType(JetFileType.INSTANCE, JetParserDefinition.STD_SCRIPT_SUFFIX); // should be renamed to kts applicationEnvironment.registerParserDefinition(new JavaParserDefinition()); applicationEnvironment.registerParserDefinition(new JetParserDefinition()); diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java index 306fda6b5f9..83745cce09c 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java @@ -47,6 +47,7 @@ import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm; import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl; import org.jetbrains.jet.lang.descriptors.ScriptDescriptor; import org.jetbrains.jet.lang.descriptors.impl.PackageLikeBuilderDummy; +import org.jetbrains.jet.lang.parsing.JetParserDefinition; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetScript; import org.jetbrains.jet.lang.resolve.*; @@ -209,7 +210,7 @@ public class ReplInterpreter { } fullText.append(line); - LightVirtualFile virtualFile = new LightVirtualFile("line" + lineNumber + ".ktscript", JetLanguage.INSTANCE, fullText.toString()); + LightVirtualFile virtualFile = new LightVirtualFile("line" + lineNumber + JetParserDefinition.STD_SCRIPT_EXT, JetLanguage.INSTANCE, fullText.toString()); virtualFile.setCharset(CharsetToolkit.UTF8_CHARSET); JetFile psiFile = (JetFile) ((PsiFileFactoryImpl) PsiFileFactory.getInstance(jetCoreEnvironment.getProject())).trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParser.java b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParser.java index ba3556879da..a7702d673e6 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParser.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParser.java @@ -26,7 +26,6 @@ import org.jetbrains.annotations.NotNull; public class JetParser implements PsiParser { - public static final String STD_SCRIPT_EXT = "." + JetParserDefinition.KTSCRIPT_FILE_SUFFIX; private final JetScriptDefinitionProvider scriptDefinitionProvider; public JetParser(Project project) { @@ -43,7 +42,8 @@ public class JetParser implements PsiParser { @NotNull public ASTNode parse(IElementType iElementType, PsiBuilder psiBuilder, PsiFile psiFile) { JetParsing jetParsing = JetParsing.createForTopLevel(new SemanticWhitespaceAwarePsiBuilderImpl(psiBuilder)); - if (scriptDefinitionProvider != null && scriptDefinitionProvider.isScript(psiFile) || psiFile.getName().endsWith(STD_SCRIPT_EXT)) { + if (scriptDefinitionProvider != null && scriptDefinitionProvider.isScript(psiFile) + || psiFile.getName().endsWith(JetParserDefinition.STD_SCRIPT_EXT)) { jetParsing.parseScript(); } else { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParserDefinition.java b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParserDefinition.java index 893ecaeceae..eec764ff0cd 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParserDefinition.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParserDefinition.java @@ -40,7 +40,8 @@ import org.jetbrains.jet.lexer.JetTokens; import org.jetbrains.jet.plugin.JetLanguage; public class JetParserDefinition implements ParserDefinition { - public static final String KTSCRIPT_FILE_SUFFIX = "ktscript"; + public static final String STD_SCRIPT_SUFFIX = "kts"; + public static final String STD_SCRIPT_EXT = "." + STD_SCRIPT_SUFFIX; public JetParserDefinition() { //todo: ApplicationManager.getApplication() is null during JetParsingTest setting up diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetScriptDefinitionProvider.java b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetScriptDefinitionProvider.java index f5df9a1848e..89ac6f8db20 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetScriptDefinitionProvider.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetScriptDefinitionProvider.java @@ -29,10 +29,10 @@ public class JetScriptDefinitionProvider { private final HashMap scripts = new HashMap(); private final HashSet scriptsFiles = new HashSet(); - private static final JetScriptDefinition standardScript = new JetScriptDefinition(".ktscript", Collections.emptyList()); + private static final JetScriptDefinition standardScript = new JetScriptDefinition(JetParserDefinition.STD_SCRIPT_EXT, Collections.emptyList()); public JetScriptDefinitionProvider() { - // .ktscript will take analyzer parameters explicitly specified on compilation + // .kts will take analyzer parameters explicitly specified on compilation addScriptDefinition(standardScript); } diff --git a/compiler/testData/cli/jvm/hello.ktscript b/compiler/testData/cli/jvm/hello.kts similarity index 100% rename from compiler/testData/cli/jvm/hello.ktscript rename to compiler/testData/cli/jvm/hello.kts diff --git a/compiler/testData/cli/jvm/printArguments.args b/compiler/testData/cli/jvm/printArguments.args index ceb04a4ed2c..a32d2e7c5ba 100644 --- a/compiler/testData/cli/jvm/printArguments.args +++ b/compiler/testData/cli/jvm/printArguments.args @@ -1,3 +1,3 @@ -printArgs -script -$TESTDATA_DIR$/hello.ktscript \ No newline at end of file +$TESTDATA_DIR$/hello.kts \ No newline at end of file diff --git a/compiler/testData/cli/jvm/printArguments.out b/compiler/testData/cli/jvm/printArguments.out index 19331bb7737..cac7a47734a 100644 --- a/compiler/testData/cli/jvm/printArguments.out +++ b/compiler/testData/cli/jvm/printArguments.out @@ -1,3 +1,3 @@ -INFO: Invoking compiler org.jetbrains.jet.cli.jvm.K2JVMCompiler with arguments -printArgs -script compiler/testData/cli/jvm/hello.ktscript +INFO: Invoking compiler org.jetbrains.jet.cli.jvm.K2JVMCompiler with arguments -printArgs -script compiler/testData/cli/jvm/hello.kts hello OK diff --git a/compiler/testData/cli/jvm/script.args b/compiler/testData/cli/jvm/script.args index 1430ed2a05d..1f3bc38ff29 100644 --- a/compiler/testData/cli/jvm/script.args +++ b/compiler/testData/cli/jvm/script.args @@ -1,4 +1,4 @@ -script -$TESTDATA_DIR$/script.ktscript +$TESTDATA_DIR$/script.kts hi there \ No newline at end of file diff --git a/compiler/testData/cli/jvm/script.ktscript b/compiler/testData/cli/jvm/script.kts similarity index 100% rename from compiler/testData/cli/jvm/script.ktscript rename to compiler/testData/cli/jvm/script.kts diff --git a/compiler/testData/codegen/script/empty.ktscript b/compiler/testData/codegen/script/empty.kts similarity index 100% rename from compiler/testData/codegen/script/empty.ktscript rename to compiler/testData/codegen/script/empty.kts diff --git a/compiler/testData/codegen/script/fibwprunner.ktscript b/compiler/testData/codegen/script/fibwprunner.kts similarity index 100% rename from compiler/testData/codegen/script/fibwprunner.ktscript rename to compiler/testData/codegen/script/fibwprunner.kts diff --git a/compiler/testData/codegen/script/helloWorld.ktscript b/compiler/testData/codegen/script/helloWorld.kts similarity index 100% rename from compiler/testData/codegen/script/helloWorld.ktscript rename to compiler/testData/codegen/script/helloWorld.kts diff --git a/compiler/testData/codegen/script/parameter.ktscript b/compiler/testData/codegen/script/parameter.kts similarity index 100% rename from compiler/testData/codegen/script/parameter.ktscript rename to compiler/testData/codegen/script/parameter.kts diff --git a/compiler/testData/codegen/script/parameterArray.ktscript b/compiler/testData/codegen/script/parameterArray.kts similarity index 100% rename from compiler/testData/codegen/script/parameterArray.ktscript rename to compiler/testData/codegen/script/parameterArray.kts diff --git a/compiler/testData/codegen/script/parameterClosure.ktscript b/compiler/testData/codegen/script/parameterClosure.kts similarity index 100% rename from compiler/testData/codegen/script/parameterClosure.ktscript rename to compiler/testData/codegen/script/parameterClosure.kts diff --git a/compiler/testData/codegen/script/parameterLong.ktscript b/compiler/testData/codegen/script/parameterLong.kts similarity index 100% rename from compiler/testData/codegen/script/parameterLong.ktscript rename to compiler/testData/codegen/script/parameterLong.kts diff --git a/compiler/testData/codegen/script/secondLevelFunction.ktscript b/compiler/testData/codegen/script/secondLevelFunction.kts similarity index 100% rename from compiler/testData/codegen/script/secondLevelFunction.ktscript rename to compiler/testData/codegen/script/secondLevelFunction.kts diff --git a/compiler/testData/codegen/script/secondLevelFunctionClosure.ktscript b/compiler/testData/codegen/script/secondLevelFunctionClosure.kts similarity index 100% rename from compiler/testData/codegen/script/secondLevelFunctionClosure.ktscript rename to compiler/testData/codegen/script/secondLevelFunctionClosure.kts diff --git a/compiler/testData/codegen/script/secondLevelVal.ktscript b/compiler/testData/codegen/script/secondLevelVal.kts similarity index 100% rename from compiler/testData/codegen/script/secondLevelVal.ktscript rename to compiler/testData/codegen/script/secondLevelVal.kts diff --git a/compiler/testData/codegen/script/string.ktscript b/compiler/testData/codegen/script/string.kts similarity index 100% rename from compiler/testData/codegen/script/string.ktscript rename to compiler/testData/codegen/script/string.kts diff --git a/compiler/testData/codegen/script/topLevelFunction.ktscript b/compiler/testData/codegen/script/topLevelFunction.kts similarity index 100% rename from compiler/testData/codegen/script/topLevelFunction.ktscript rename to compiler/testData/codegen/script/topLevelFunction.kts diff --git a/compiler/testData/codegen/script/topLevelFunctionClosure.ktscript b/compiler/testData/codegen/script/topLevelFunctionClosure.kts similarity index 100% rename from compiler/testData/codegen/script/topLevelFunctionClosure.ktscript rename to compiler/testData/codegen/script/topLevelFunctionClosure.kts diff --git a/compiler/testData/codegen/script/topLevelProperty.ktscript b/compiler/testData/codegen/script/topLevelProperty.kts similarity index 100% rename from compiler/testData/codegen/script/topLevelProperty.ktscript rename to compiler/testData/codegen/script/topLevelProperty.kts diff --git a/compiler/testData/diagnostics/tests/script/AccessForwardDeclarationInScript.ktscript b/compiler/testData/diagnostics/tests/script/AccessForwardDeclarationInScript.kts similarity index 100% rename from compiler/testData/diagnostics/tests/script/AccessForwardDeclarationInScript.ktscript rename to compiler/testData/diagnostics/tests/script/AccessForwardDeclarationInScript.kts diff --git a/compiler/testData/diagnostics/tests/script/ComplexScript.ktscript b/compiler/testData/diagnostics/tests/script/ComplexScript.kts similarity index 100% rename from compiler/testData/diagnostics/tests/script/ComplexScript.ktscript rename to compiler/testData/diagnostics/tests/script/ComplexScript.kts diff --git a/compiler/testData/diagnostics/tests/script/SimpleScript.ktscript b/compiler/testData/diagnostics/tests/script/SimpleScript.kts similarity index 100% rename from compiler/testData/diagnostics/tests/script/SimpleScript.ktscript rename to compiler/testData/diagnostics/tests/script/SimpleScript.kts diff --git a/compiler/testData/diagnostics/tests/script/imports.ktscript b/compiler/testData/diagnostics/tests/script/imports.kts similarity index 100% rename from compiler/testData/diagnostics/tests/script/imports.ktscript rename to compiler/testData/diagnostics/tests/script/imports.kts diff --git a/compiler/testData/psi/script/ComplexScript.ktscript b/compiler/testData/psi/script/ComplexScript.kts similarity index 100% rename from compiler/testData/psi/script/ComplexScript.ktscript rename to compiler/testData/psi/script/ComplexScript.kts diff --git a/compiler/testData/psi/script/ComplexScript.txt b/compiler/testData/psi/script/ComplexScript.txt index 22bd52a6ce9..796104d4afd 100644 --- a/compiler/testData/psi/script/ComplexScript.txt +++ b/compiler/testData/psi/script/ComplexScript.txt @@ -1,4 +1,4 @@ -JetFile: ComplexScript.ktscript +JetFile: ComplexScript.kts PACKAGE_DIRECTIVE SCRIPT diff --git a/compiler/testData/psi/script/Import.ktscript b/compiler/testData/psi/script/Import.kts similarity index 100% rename from compiler/testData/psi/script/Import.ktscript rename to compiler/testData/psi/script/Import.kts diff --git a/compiler/testData/psi/script/Import.txt b/compiler/testData/psi/script/Import.txt index 2ed21609755..7fb1a3cd7e4 100644 --- a/compiler/testData/psi/script/Import.txt +++ b/compiler/testData/psi/script/Import.txt @@ -1,4 +1,4 @@ -JetFile: Import.ktscript +JetFile: Import.kts PACKAGE_DIRECTIVE SCRIPT diff --git a/compiler/testData/psi/script/Shebang.ktscript b/compiler/testData/psi/script/Shebang.kts similarity index 100% rename from compiler/testData/psi/script/Shebang.ktscript rename to compiler/testData/psi/script/Shebang.kts diff --git a/compiler/testData/psi/script/Shebang.txt b/compiler/testData/psi/script/Shebang.txt index e67a0c0cd54..7c1c2103f2a 100644 --- a/compiler/testData/psi/script/Shebang.txt +++ b/compiler/testData/psi/script/Shebang.txt @@ -1,4 +1,4 @@ -JetFile: Shebang.ktscript +JetFile: Shebang.kts PsiComment(SHEBANG_COMMENT)('#!/usr/bin/env kotlin') PsiWhiteSpace('\n\n') PACKAGE_DIRECTIVE diff --git a/compiler/testData/psi/script/ShebangIncorrect.ktscript b/compiler/testData/psi/script/ShebangIncorrect.kts similarity index 100% rename from compiler/testData/psi/script/ShebangIncorrect.ktscript rename to compiler/testData/psi/script/ShebangIncorrect.kts diff --git a/compiler/testData/psi/script/ShebangIncorrect.txt b/compiler/testData/psi/script/ShebangIncorrect.txt index a6b59d43145..1d53b7aa58c 100644 --- a/compiler/testData/psi/script/ShebangIncorrect.txt +++ b/compiler/testData/psi/script/ShebangIncorrect.txt @@ -1,4 +1,4 @@ -JetFile: ShebangIncorrect.ktscript +JetFile: ShebangIncorrect.kts PACKAGE_DIRECTIVE SCRIPT diff --git a/compiler/testData/psi/script/SimpleScript.ktscript b/compiler/testData/psi/script/SimpleScript.kts similarity index 100% rename from compiler/testData/psi/script/SimpleScript.ktscript rename to compiler/testData/psi/script/SimpleScript.kts diff --git a/compiler/testData/psi/script/SimpleScript.txt b/compiler/testData/psi/script/SimpleScript.txt index f6d61720a97..3a2f51fdf50 100644 --- a/compiler/testData/psi/script/SimpleScript.txt +++ b/compiler/testData/psi/script/SimpleScript.txt @@ -1,4 +1,4 @@ -JetFile: SimpleScript.ktscript +JetFile: SimpleScript.kts PACKAGE_DIRECTIVE SCRIPT diff --git a/compiler/testData/repl/analyzeErrors.repl b/compiler/testData/repl/analyzeErrors.repl index 9da9f4ee905..e3cbe6eb8b9 100644 --- a/compiler/testData/repl/analyzeErrors.repl +++ b/compiler/testData/repl/analyzeErrors.repl @@ -1,6 +1,6 @@ >>> fun foo() = 765 null >>> foo(1) -ERROR: /line2.ktscript: (1, 5) Too many arguments for internal final fun foo(): kotlin.Int defined in