From d54c79a31e7d13d899772e198348f37ae38e9a64 Mon Sep 17 00:00:00 2001 From: svtk Date: Tue, 25 Oct 2011 14:42:04 +0400 Subject: [PATCH 1/4] Quick fix tests launch improved --- .../org/jetbrains/jet/JetTestCaseBase.java | 39 +++++++- .../quickfix/AbstractModifierFixTest.java | 23 ----- .../AddPrimaryConstructorFixTest.java | 24 ----- .../ChangeVariableMutabilityFixTest.java | 23 ----- .../plugin/quickfix/ClassImportFixTest.java | 32 ------- .../plugin/quickfix/ExpressionsFixTest.java | 24 ----- .../jet/plugin/quickfix/JetQuickFixTest.java | 96 +++++++++++++++++++ .../jet/plugin/quickfix/ModifiersFixTest.java | 26 ----- .../quickfix/OverrideModifierFixTest.java | 25 ----- .../plugin/quickfix/TypeAdditionFixTests.java | 31 ------ 10 files changed, 131 insertions(+), 212 deletions(-) delete mode 100644 idea/tests/org/jetbrains/jet/plugin/quickfix/AbstractModifierFixTest.java delete mode 100644 idea/tests/org/jetbrains/jet/plugin/quickfix/AddPrimaryConstructorFixTest.java delete mode 100644 idea/tests/org/jetbrains/jet/plugin/quickfix/ChangeVariableMutabilityFixTest.java delete mode 100644 idea/tests/org/jetbrains/jet/plugin/quickfix/ClassImportFixTest.java delete mode 100644 idea/tests/org/jetbrains/jet/plugin/quickfix/ExpressionsFixTest.java create mode 100644 idea/tests/org/jetbrains/jet/plugin/quickfix/JetQuickFixTest.java delete mode 100644 idea/tests/org/jetbrains/jet/plugin/quickfix/ModifiersFixTest.java delete mode 100644 idea/tests/org/jetbrains/jet/plugin/quickfix/OverrideModifierFixTest.java delete mode 100644 idea/tests/org/jetbrains/jet/plugin/quickfix/TypeAdditionFixTests.java diff --git a/compiler/tests/org/jetbrains/jet/JetTestCaseBase.java b/compiler/tests/org/jetbrains/jet/JetTestCaseBase.java index 88dd75b955a..e53d7077cdd 100644 --- a/compiler/tests/org/jetbrains/jet/JetTestCaseBase.java +++ b/compiler/tests/org/jetbrains/jet/JetTestCaseBase.java @@ -20,6 +20,7 @@ import java.util.List; */ public abstract class JetTestCaseBase extends LightDaemonAnalyzerTestCase { + private static FilenameFilter emptyFilter; private boolean checkInfos = false; private String dataPath; protected final String name; @@ -75,20 +76,49 @@ public abstract class JetTestCaseBase extends LightDaemonAnalyzerTestCase { return dataPath; } + protected void setUp() throws Exception { + super.setUp(); + emptyFilter = new FilenameFilter() { + @Override + public boolean accept(File file, String name) { + return true; + } + }; + } + public interface NamedTestFactory { @NotNull Test createTest(@NotNull String dataPath, @NotNull String name); } @NotNull public static TestSuite suiteForDirectory(String baseDataDir, @NotNull final String dataPath, boolean recursive, @NotNull NamedTestFactory factory) { + return suiteForDirectory(baseDataDir, dataPath, recursive, emptyFilter, factory); + } + + @NotNull + public static TestSuite suiteForDirectory(String baseDataDir, @NotNull final String dataPath, boolean recursive, final FilenameFilter filter, @NotNull NamedTestFactory factory) { TestSuite suite = new TestSuite(dataPath); - final String extension = ".jet"; - FilenameFilter extensionFilter = new FilenameFilter() { + final String extensionJet = ".jet"; + final String extensionKt = ".kt"; + final FilenameFilter extensionFilter = new FilenameFilter() { @Override public boolean accept(File dir, String name) { - return name.endsWith(extension); + return name.endsWith(extensionJet) || name.endsWith(extensionKt); } }; + FilenameFilter resultFilter; + if (filter != emptyFilter) { + resultFilter = new FilenameFilter() { + @Override + public boolean accept(File file, String s) { + if (extensionFilter.accept(file, s) && filter.accept(file, s)) return true; + return false; + } + }; + } + else { + resultFilter = extensionFilter; + } File dir = new File(baseDataDir + dataPath); FileFilter dirFilter = new FileFilter() { @Override @@ -105,11 +135,12 @@ public abstract class JetTestCaseBase extends LightDaemonAnalyzerTestCase { suite.addTest(suiteForDirectory(baseDataDir, dataPath + "/" + subdir.getName(), recursive, factory)); } } - List files = Arrays.asList(dir.listFiles(extensionFilter)); + List files = Arrays.asList(dir.listFiles(resultFilter)); Collections.sort(files); for (File file : files) { String fileName = file.getName(); assert fileName != null; + String extension = fileName.endsWith(extensionJet) ? extensionJet : extensionKt; suite.addTest(factory.createTest(dataPath, fileName.substring(0, fileName.length() - extension.length()))); } return suite; diff --git a/idea/tests/org/jetbrains/jet/plugin/quickfix/AbstractModifierFixTest.java b/idea/tests/org/jetbrains/jet/plugin/quickfix/AbstractModifierFixTest.java deleted file mode 100644 index 91542507b41..00000000000 --- a/idea/tests/org/jetbrains/jet/plugin/quickfix/AbstractModifierFixTest.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.jetbrains.jet.plugin.quickfix; - -import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase; - -/** - * @author svtk - */ -public class AbstractModifierFixTest extends LightQuickFixTestCase { - - public void test() throws Exception { - doAllTests(); - } - - @Override - protected String getBasePath() { - return "/quickfix/abstract"; - } - - @Override - protected String getTestDataPath() { - return PluginTestCaseBase.getTestDataPathBase(); - } -} diff --git a/idea/tests/org/jetbrains/jet/plugin/quickfix/AddPrimaryConstructorFixTest.java b/idea/tests/org/jetbrains/jet/plugin/quickfix/AddPrimaryConstructorFixTest.java deleted file mode 100644 index 633f5f8b09d..00000000000 --- a/idea/tests/org/jetbrains/jet/plugin/quickfix/AddPrimaryConstructorFixTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.jetbrains.jet.plugin.quickfix; - -import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase; -import org.jetbrains.jet.JetTestCaseBase; - -/** - * @author svtk - */ -public class AddPrimaryConstructorFixTest extends LightQuickFixTestCase { - - public void test() throws Exception { - doAllTests(); - } - - @Override - protected String getBasePath() { - return "/quickfix/addPrimaryConstructor"; - } - - @Override - protected String getTestDataPath() { - return PluginTestCaseBase.getTestDataPathBase(); - } -} diff --git a/idea/tests/org/jetbrains/jet/plugin/quickfix/ChangeVariableMutabilityFixTest.java b/idea/tests/org/jetbrains/jet/plugin/quickfix/ChangeVariableMutabilityFixTest.java deleted file mode 100644 index 78f7e287f9f..00000000000 --- a/idea/tests/org/jetbrains/jet/plugin/quickfix/ChangeVariableMutabilityFixTest.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.jetbrains.jet.plugin.quickfix; - -import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase; - -/** - * @author svtk - */ -public class ChangeVariableMutabilityFixTest extends LightQuickFixTestCase { - - public void test() throws Exception { - doAllTests(); - } - - @Override - protected String getBasePath() { - return "/quickfix/changeVariableMutability"; - } - - @Override - protected String getTestDataPath() { - return PluginTestCaseBase.getTestDataPathBase(); - } -} diff --git a/idea/tests/org/jetbrains/jet/plugin/quickfix/ClassImportFixTest.java b/idea/tests/org/jetbrains/jet/plugin/quickfix/ClassImportFixTest.java deleted file mode 100644 index d765f6aad5c..00000000000 --- a/idea/tests/org/jetbrains/jet/plugin/quickfix/ClassImportFixTest.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.jetbrains.jet.plugin.quickfix; - -import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase; -import com.intellij.openapi.projectRoots.Sdk; -import org.jetbrains.jet.JetTestCaseBase; - -/** - * @author svtk - */ -public class ClassImportFixTest extends LightQuickFixTestCase { - - public void test() throws Exception { - doAllTests(); - } - - @Override - protected String getBasePath() { - return "/quickfix/classImport"; - } - - @Override - protected String getTestDataPath() { - return PluginTestCaseBase.getTestDataPathBase(); - } - - @Override - protected Sdk getProjectJDK() { - return JetTestCaseBase.jdkFromIdeaHome(); - } - -} - diff --git a/idea/tests/org/jetbrains/jet/plugin/quickfix/ExpressionsFixTest.java b/idea/tests/org/jetbrains/jet/plugin/quickfix/ExpressionsFixTest.java deleted file mode 100644 index ad60d7b72e5..00000000000 --- a/idea/tests/org/jetbrains/jet/plugin/quickfix/ExpressionsFixTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.jetbrains.jet.plugin.quickfix; - -import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase; -import org.jetbrains.jet.JetTestCaseBase; - -/** - * @author svtk - */ -public class ExpressionsFixTest extends LightQuickFixTestCase { - - public void test() throws Exception { - doAllTests(); - } - - @Override - protected String getBasePath() { - return "/quickfix/expressions"; - } - - @Override - protected String getTestDataPath() { - return PluginTestCaseBase.getTestDataPathBase(); - } -} diff --git a/idea/tests/org/jetbrains/jet/plugin/quickfix/JetQuickFixTest.java b/idea/tests/org/jetbrains/jet/plugin/quickfix/JetQuickFixTest.java new file mode 100644 index 00000000000..85b900949db --- /dev/null +++ b/idea/tests/org/jetbrains/jet/plugin/quickfix/JetQuickFixTest.java @@ -0,0 +1,96 @@ +package org.jetbrains.jet.plugin.quickfix; + +import com.google.common.collect.Lists; +import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase; +import com.intellij.openapi.projectRoots.Sdk; +import junit.framework.Test; +import junit.framework.TestSuite; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.JetTestCaseBase; + +import java.io.File; +import java.io.FilenameFilter; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * @author svtk + */ +public class JetQuickFixTest extends LightQuickFixTestCase { + private final String dataPath; + private final String name; + private static FilenameFilter quickFixTestsFilter; + + public JetQuickFixTest(String dataPath, String name) { + this.dataPath = dataPath; + this.name = name; + } + + private static void setFilter() { + final ArrayList appropriateDirs = Lists.newArrayList("classImport", "expressions"); + quickFixTestsFilter = new FilenameFilter() { + @Override + public boolean accept(File file, String s) { + if (appropriateDirs.contains(s)) return true; + return false; + } + }; + } + + public static Test suite() { + //setFilter(); //to launch only part of tests + TestSuite suite = new TestSuite(); + FilenameFilter fileNameFilter = new FilenameFilter() { + @Override + public boolean accept(File file, String s) { + if (s.startsWith("before")) return true; + return false; + } + }; + JetTestCaseBase.NamedTestFactory namedTestFactory = new JetTestCaseBase.NamedTestFactory() { + @NotNull + @Override + public Test createTest(@NotNull String dataPath, @NotNull String name) { + return new JetQuickFixTest(dataPath, name); + } + }; + File dir = new File(getTestDataPathBase()); + List subDirs = Arrays.asList(quickFixTestsFilter != null ? dir.list(quickFixTestsFilter) : dir.list()); + Collections.sort(subDirs); + for (String subDirName : subDirs) { + suite.addTest(JetTestCaseBase.suiteForDirectory(getTestDataPathBase(), subDirName, false, fileNameFilter, namedTestFactory)); + + } + return suite; + } + + public static String getTestDataPathBase() { + return JetTestCaseBase.getHomeDirectory() + "/idea/testData/quickfix/"; + } + + public String getName() { + return "test" + name.replaceFirst(name.substring(0, 1), name.substring(0, 1).toUpperCase()); + } + + @Override + protected void runTest() throws Throwable { + doSingleTest(name.substring("before".length()) + ".kt"); + } + + @Override + protected String getBasePath() { + return "/quickfix/" + dataPath; + } + + @Override + protected String getTestDataPath() { + return PluginTestCaseBase.getTestDataPathBase(); + } + + @Override + protected Sdk getProjectJDK() { + return JetTestCaseBase.jdkFromIdeaHome(); + } +} diff --git a/idea/tests/org/jetbrains/jet/plugin/quickfix/ModifiersFixTest.java b/idea/tests/org/jetbrains/jet/plugin/quickfix/ModifiersFixTest.java deleted file mode 100644 index 32ce67866dd..00000000000 --- a/idea/tests/org/jetbrains/jet/plugin/quickfix/ModifiersFixTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.jetbrains.jet.plugin.quickfix; - -import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase; -import org.jetbrains.jet.JetTestCaseBase; - -/** - * @author svtk - */ -public class ModifiersFixTest extends LightQuickFixTestCase { - - public void test() throws Exception { - doAllTests(); - } - - @Override - protected String getBasePath() { - return "/quickfix/modifiers"; - } - - @Override - protected String getTestDataPath() { - return PluginTestCaseBase.getTestDataPathBase(); - } -} - - diff --git a/idea/tests/org/jetbrains/jet/plugin/quickfix/OverrideModifierFixTest.java b/idea/tests/org/jetbrains/jet/plugin/quickfix/OverrideModifierFixTest.java deleted file mode 100644 index 6969bcce9b8..00000000000 --- a/idea/tests/org/jetbrains/jet/plugin/quickfix/OverrideModifierFixTest.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.jetbrains.jet.plugin.quickfix; - -import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase; -import org.jetbrains.jet.JetTestCaseBase; - -/** - * @author svtk - */ -public class OverrideModifierFixTest extends LightQuickFixTestCase { - - public void test() throws Exception { - doAllTests(); - } - - @Override - protected String getBasePath() { - return "/quickfix/override"; - } - - @Override - protected String getTestDataPath() { - return PluginTestCaseBase.getTestDataPathBase(); - } -} - diff --git a/idea/tests/org/jetbrains/jet/plugin/quickfix/TypeAdditionFixTests.java b/idea/tests/org/jetbrains/jet/plugin/quickfix/TypeAdditionFixTests.java deleted file mode 100644 index c870f1e6088..00000000000 --- a/idea/tests/org/jetbrains/jet/plugin/quickfix/TypeAdditionFixTests.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.jetbrains.jet.plugin.quickfix; - -import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase; -import com.intellij.openapi.projectRoots.Sdk; -import org.jetbrains.jet.JetTestCaseBase; - -/** - * @author svtk - */ -public class TypeAdditionFixTests extends LightQuickFixTestCase { - - public void test() throws Exception { - doAllTests(); - } - - @Override - protected String getBasePath() { - return "/quickfix/typeAddition"; - } - - @Override - protected String getTestDataPath() { - return PluginTestCaseBase.getTestDataPathBase(); - } - - @Override - protected Sdk getProjectJDK() { - return JetTestCaseBase.jdkFromIdeaHome(); - } -} - From 2984cfa959c0e951869903cbb4e6c56bab082857 Mon Sep 17 00:00:00 2001 From: svtk Date: Tue, 25 Oct 2011 17:37:47 +0400 Subject: [PATCH 2/4] Added bundle for quick fix messages --- .../org/jetbrains/jet/plugin/JetBundle.java | 36 +++++++++++++++++++ .../jetbrains/jet/plugin/JetBundle.properties | 26 ++++++++++++++ .../plugin/quickfix/AddFunctionBodyFix.java | 5 +-- .../jet/plugin/quickfix/AddModifierFix.java | 5 +-- .../quickfix/AddPrimaryConstructorFix.java | 5 +-- .../jet/plugin/quickfix/AddReturnTypeFix.java | 5 +-- .../quickfix/ChangeAccessorTypeFix.java | 5 +-- .../quickfix/ChangeVariableMutabilityFix.java | 5 +-- .../quickfix/RemoveFunctionBodyFix.java | 5 +-- .../plugin/quickfix/RemoveModifierFix.java | 9 ++--- .../quickfix/RemovePartsFromPropertyFix.java | 5 +-- .../RemoveRightPartOfBinaryExpressionFix.java | 7 ++-- ...ReplaceOperationInBinaryExpressionFix.java | 5 +-- .../quickfix/ReplaceSafeCallToDotCall.java | 5 +-- 14 files changed, 101 insertions(+), 27 deletions(-) create mode 100644 idea/src/org/jetbrains/jet/plugin/JetBundle.java create mode 100644 idea/src/org/jetbrains/jet/plugin/JetBundle.properties diff --git a/idea/src/org/jetbrains/jet/plugin/JetBundle.java b/idea/src/org/jetbrains/jet/plugin/JetBundle.java new file mode 100644 index 00000000000..8e8e81edc57 --- /dev/null +++ b/idea/src/org/jetbrains/jet/plugin/JetBundle.java @@ -0,0 +1,36 @@ +package org.jetbrains.jet.plugin; + +import com.intellij.CommonBundle; +import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.PropertyKey; + +import java.lang.ref.Reference; +import java.lang.ref.SoftReference; +import java.util.ResourceBundle; + +/** + * @author svtk + */ +public class JetBundle { + private static Reference ourBundle; + + @NonNls + private static final String BUNDLE = "org.jetbrains.jet.plugin.JetBundle"; + + private JetBundle() { + } + + public static String message(@NonNls @PropertyKey(resourceBundle = BUNDLE)String key, Object... params) { + return CommonBundle.message(getBundle(), key, params); + } + + private static ResourceBundle getBundle() { + ResourceBundle bundle = null; + if (ourBundle != null) bundle = ourBundle.get(); + if (bundle == null) { + bundle = ResourceBundle.getBundle(BUNDLE); + ourBundle = new SoftReference(bundle); + } + return bundle; + } +} diff --git a/idea/src/org/jetbrains/jet/plugin/JetBundle.properties b/idea/src/org/jetbrains/jet/plugin/JetBundle.properties new file mode 100644 index 00000000000..ae591b8773c --- /dev/null +++ b/idea/src/org/jetbrains/jet/plugin/JetBundle.properties @@ -0,0 +1,26 @@ +#quick fix messages +add.function.body=Add function body +add.primary.constructor=Add primary constructor to {0} +add.primary.constructor.family=Add primary constructor +add.return.type=Add return type declaration +change.accessor.type=Change accessor type +change.getter.type=Change getter type to {0} +change.setter.type=Change setter parameter type to {0} +make.variable.immutable=Make variable immutable +make.variable.mutable=Make variable mutable +change.variable.mutability.family=Change variable mutability +remove.function.body=Remove function body +make.element.modifier=Make {0} {1} +add.modifier=Add ''{0}'' modifier +make.element.not.modifier=Make {0} not {1} +remove.modifier=Remove ''{0}'' modifier +remove.modifier.family=Remove modifier +remove.redundant.modifier=Remove redundant ''{0}'' modifier +remove.parts.from.property=Remove {0} from property +remove.parts.from.property.family=Remove parts from property +remove.right.part.of.binary.expression=Remove right part of a binary expression +remove.cast=Remove cast +remove.elvis.operator=Remove elvis operator +replace.operation.in.binary.expression=Replace operation in a binary expression +replace.cast.with.static.assert=Replace a cast with a static assert +replace.to.dot.call=Replace to dot call \ No newline at end of file diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/AddFunctionBodyFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/AddFunctionBodyFix.java index 4c919f86e94..c347e044432 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/AddFunctionBodyFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/AddFunctionBodyFix.java @@ -8,6 +8,7 @@ import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.diagnostics.DiagnosticWithPsiElement; import org.jetbrains.jet.lang.psi.*; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -20,13 +21,13 @@ public class AddFunctionBodyFix extends JetIntentionAction { @NotNull @Override public String getText() { - return "Add function body"; + return JetBundle.message("add.function.body"); } @NotNull @Override public String getFamilyName() { - return "Add function body"; + return JetBundle.message("add.function.body"); } @Override diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/AddModifierFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/AddModifierFix.java index 42e28ef25eb..1872257488d 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/AddModifierFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/AddModifierFix.java @@ -15,6 +15,7 @@ import org.jetbrains.jet.lang.psi.JetPsiFactory; import org.jetbrains.jet.lexer.JetKeywordToken; import org.jetbrains.jet.lexer.JetToken; import org.jetbrains.jet.lexer.JetTokens; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -51,9 +52,9 @@ public class AddModifierFix extends JetIntentionAction { @Override public String getText() { if (modifier == JetTokens.ABSTRACT_KEYWORD || modifier == JetTokens.OPEN_KEYWORD) { - return "Make " + getElementName(element) + " " + modifier.getValue(); + return JetBundle.message("make.element.modifier", getElementName(element), modifier.getValue()); } - return "Add '" + modifier.getValue() + "' modifier"; + return JetBundle.message("add.modifier", modifier.getValue()); } @NotNull diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/AddPrimaryConstructorFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/AddPrimaryConstructorFix.java index ec8e3ee1a50..050bb5eac7f 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/AddPrimaryConstructorFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/AddPrimaryConstructorFix.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.diagnostics.DiagnosticWithPsiElement; import org.jetbrains.jet.lang.psi.JetClass; import org.jetbrains.jet.lang.psi.JetPsiFactory; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -22,13 +23,13 @@ public class AddPrimaryConstructorFix extends JetIntentionAction { @NotNull @Override public String getText() { - return "Add primary constructor to " + element.getName(); + return JetBundle.message("add.primary.constructor", element.getName()); } @NotNull @Override public String getFamilyName() { - return "Add primary constructor"; + return JetBundle.message("add.primary.constructor.family"); } @Override diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/AddReturnTypeFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/AddReturnTypeFix.java index 7314585e233..a6bab35510e 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/AddReturnTypeFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/AddReturnTypeFix.java @@ -12,6 +12,7 @@ import org.jetbrains.jet.lang.diagnostics.DiagnosticWithParameters; import org.jetbrains.jet.lang.diagnostics.DiagnosticWithPsiElement; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.types.JetType; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -27,13 +28,13 @@ public class AddReturnTypeFix extends JetIntentionAction { @NotNull @Override public String getText() { - return "Add return type declaration"; + return JetBundle.message("add.return.type"); } @NotNull @Override public String getFamilyName() { - return "Add return type declaration"; + return JetBundle.message("add.return.type"); } @Override diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeAccessorTypeFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeAccessorTypeFix.java index 17590360691..82a12be3ca2 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeAccessorTypeFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeAccessorTypeFix.java @@ -15,6 +15,7 @@ import org.jetbrains.jet.lang.psi.JetPropertyAccessor; import org.jetbrains.jet.lang.psi.JetPsiFactory; import org.jetbrains.jet.lang.psi.JetTypeReference; import org.jetbrains.jet.lang.types.JetType; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -30,13 +31,13 @@ public class ChangeAccessorTypeFix extends JetIntentionAction @NotNull @Override public String getText() { - return "Make variable " + (element.isVar() ? "immutable" : "mutable"); + return element.isVar() ? JetBundle.message("make.variable.immutable") : JetBundle.message("make.variable.mutable"); } @NotNull @Override public String getFamilyName() { - return "Change variable mutability"; + return JetBundle.message("change.variable.mutability.family"); } @Override diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionBodyFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionBodyFix.java index 35e58499ddc..3cdc3717fae 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionBodyFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionBodyFix.java @@ -13,6 +13,7 @@ import org.jetbrains.jet.lang.psi.JetElement; import org.jetbrains.jet.lang.psi.JetExpression; import org.jetbrains.jet.lang.psi.JetFunction; import org.jetbrains.jet.lexer.JetTokens; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -26,13 +27,13 @@ public class RemoveFunctionBodyFix extends JetIntentionAction { @NotNull @Override public String getText() { - return "Remove function body"; + return JetBundle.message("remove.function.body"); } @NotNull @Override public String getFamilyName() { - return "Remove function body"; + return JetBundle.message("remove.function.body"); } @Override diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveModifierFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveModifierFix.java index 79cb415fee0..efe1337520b 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveModifierFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveModifierFix.java @@ -17,6 +17,7 @@ import org.jetbrains.jet.lang.psi.JetModifierListOwner; import org.jetbrains.jet.lexer.JetKeywordToken; import org.jetbrains.jet.lexer.JetToken; import org.jetbrains.jet.lexer.JetTokens; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -32,16 +33,16 @@ public class RemoveModifierFix { private static String makeText(@Nullable JetModifierListOwner element, JetKeywordToken modifier, boolean isRedundant) { if (isRedundant) { - return "Remove redundant '" + modifier.getValue() + "' modifier"; + return JetBundle.message("remove.redundant.modifier", modifier.getValue()); } if (element != null && modifier == JetTokens.ABSTRACT_KEYWORD || modifier == JetTokens.OPEN_KEYWORD) { - return "Make " + AddModifierFix.getElementName(element) + " not " + modifier.getValue(); + return JetBundle.message("make.element.not.modifier", AddModifierFix.getElementName(element), modifier.getValue()); } - return "Remove '" + modifier.getValue() + "' modifier"; + return JetBundle.message("remove.modifier", modifier.getValue()); } private static String getFamilyName() { - return "Remove modifier fix"; + return JetBundle.message("remove.modifier.family"); } @NotNull diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/RemovePartsFromPropertyFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/RemovePartsFromPropertyFix.java index f9e3afc1295..e4bcefade98 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/RemovePartsFromPropertyFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/RemovePartsFromPropertyFix.java @@ -12,6 +12,7 @@ import org.jetbrains.jet.lang.diagnostics.DiagnosticWithParameters; import org.jetbrains.jet.lang.diagnostics.DiagnosticWithPsiElement; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.types.JetType; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -66,13 +67,13 @@ public class RemovePartsFromPropertyFix extends JetIntentionAction @NotNull @Override public String getText() { - return "Remove " + partsToRemove(removeGetter, removeSetter, removeInitializer) + " from property"; + return JetBundle.message("remove.parts.from.property", partsToRemove(removeGetter, removeSetter, removeInitializer)); } @NotNull @Override public String getFamilyName() { - return "Remove parts from property to make it abstract"; + return JetBundle.message("remove.parts.from.property.family"); } @Override diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveRightPartOfBinaryExpressionFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveRightPartOfBinaryExpressionFix.java index 61b72d624c9..9799b3420fa 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveRightPartOfBinaryExpressionFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveRightPartOfBinaryExpressionFix.java @@ -9,6 +9,7 @@ import org.jetbrains.jet.lang.diagnostics.DiagnosticWithPsiElement; import org.jetbrains.jet.lang.psi.JetBinaryExpression; import org.jetbrains.jet.lang.psi.JetBinaryExpressionWithTypeRHS; import org.jetbrains.jet.lang.psi.JetExpression; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -21,7 +22,7 @@ public abstract class RemoveRightPartOfBinaryExpressionFix { @NotNull @Override public String getText() { - return "Replace to dot call"; + return JetBundle.message("replace.to.dot.call"); } @NotNull @Override public String getFamilyName() { - return "Replace safe call to dot call"; + return JetBundle.message("replace.to.dot.call"); } @Override From f7950f94691159b96a739e6a7b325feb25435006 Mon Sep 17 00:00:00 2001 From: svtk Date: Tue, 25 Oct 2011 17:40:36 +0400 Subject: [PATCH 3/4] rename --- idea/src/org/jetbrains/jet/plugin/JetBundle.properties | 2 +- .../org/jetbrains/jet/plugin/quickfix/QuickFixes.java | 2 +- ...lToDotCall.java => ReplaceSafeCallWithDotCall.java} | 10 +++++----- .../quickfix/expressions/afterUnnecessarySafeCall1.kt | 2 +- .../quickfix/expressions/afterUnnecessarySafeCall2.kt | 2 +- .../quickfix/expressions/beforeUnnecessarySafeCall1.kt | 2 +- .../quickfix/expressions/beforeUnnecessarySafeCall2.kt | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) rename idea/src/org/jetbrains/jet/plugin/quickfix/{ReplaceSafeCallToDotCall.java => ReplaceSafeCallWithDotCall.java} (86%) diff --git a/idea/src/org/jetbrains/jet/plugin/JetBundle.properties b/idea/src/org/jetbrains/jet/plugin/JetBundle.properties index ae591b8773c..7e6753c0757 100644 --- a/idea/src/org/jetbrains/jet/plugin/JetBundle.properties +++ b/idea/src/org/jetbrains/jet/plugin/JetBundle.properties @@ -23,4 +23,4 @@ remove.cast=Remove cast remove.elvis.operator=Remove elvis operator replace.operation.in.binary.expression=Replace operation in a binary expression replace.cast.with.static.assert=Replace a cast with a static assert -replace.to.dot.call=Replace to dot call \ No newline at end of file +replace.with.dot.call=Replace with dot call \ No newline at end of file diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixes.java b/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixes.java index 76f37013470..5c1e2c4a34f 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixes.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixes.java @@ -81,7 +81,7 @@ public class QuickFixes { add(Errors.USELESS_ELVIS, RemoveRightPartOfBinaryExpressionFix.createRemoveElvisOperatorFactory()); - add(Errors.UNNECESSARY_SAFE_CALL, ReplaceSafeCallToDotCall.createFactory()); + add(Errors.UNNECESSARY_SAFE_CALL, ReplaceSafeCallWithDotCall.createFactory()); JetIntentionActionFactory removeRedundantModifierFactory = RemoveModifierFix.createRemoveModifierFromListFactory(true); add(Errors.REDUNDANT_MODIFIER, removeRedundantModifierFactory); diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/ReplaceSafeCallToDotCall.java b/idea/src/org/jetbrains/jet/plugin/quickfix/ReplaceSafeCallWithDotCall.java similarity index 86% rename from idea/src/org/jetbrains/jet/plugin/quickfix/ReplaceSafeCallToDotCall.java rename to idea/src/org/jetbrains/jet/plugin/quickfix/ReplaceSafeCallWithDotCall.java index 15d60fde6a1..d38fad55bcd 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/ReplaceSafeCallToDotCall.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/ReplaceSafeCallWithDotCall.java @@ -13,22 +13,22 @@ import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk */ -public class ReplaceSafeCallToDotCall extends JetIntentionAction { +public class ReplaceSafeCallWithDotCall extends JetIntentionAction { - public ReplaceSafeCallToDotCall(@NotNull JetElement element) { + public ReplaceSafeCallWithDotCall(@NotNull JetElement element) { super(element); } @NotNull @Override public String getText() { - return JetBundle.message("replace.to.dot.call"); + return JetBundle.message("replace.with.dot.call"); } @NotNull @Override public String getFamilyName() { - return JetBundle.message("replace.to.dot.call"); + return JetBundle.message("replace.with.dot.call"); } @Override @@ -56,7 +56,7 @@ public class ReplaceSafeCallToDotCall extends JetIntentionAction { @Override public JetIntentionAction createAction(DiagnosticWithPsiElement diagnostic) { assert diagnostic.getPsiElement() instanceof JetElement; - return new ReplaceSafeCallToDotCall((JetElement) diagnostic.getPsiElement()); + return new ReplaceSafeCallWithDotCall((JetElement) diagnostic.getPsiElement()); } }; } diff --git a/idea/testData/quickfix/expressions/afterUnnecessarySafeCall1.kt b/idea/testData/quickfix/expressions/afterUnnecessarySafeCall1.kt index 7422cfd3f6b..55d3d6c64f3 100644 --- a/idea/testData/quickfix/expressions/afterUnnecessarySafeCall1.kt +++ b/idea/testData/quickfix/expressions/afterUnnecessarySafeCall1.kt @@ -1,4 +1,4 @@ -// "Replace to dot call" "true" +// "Replace with dot call" "true" fun foo(a: Any) { a.equals(0) } diff --git a/idea/testData/quickfix/expressions/afterUnnecessarySafeCall2.kt b/idea/testData/quickfix/expressions/afterUnnecessarySafeCall2.kt index f5efe05b2ea..1524b0526a4 100644 --- a/idea/testData/quickfix/expressions/afterUnnecessarySafeCall2.kt +++ b/idea/testData/quickfix/expressions/afterUnnecessarySafeCall2.kt @@ -1,4 +1,4 @@ -// "Replace to dot call" "true" +// "Replace with dot call" "true" fun foo(a: Any) { when (a) { .equals(0) => true diff --git a/idea/testData/quickfix/expressions/beforeUnnecessarySafeCall1.kt b/idea/testData/quickfix/expressions/beforeUnnecessarySafeCall1.kt index 61063ff4cc4..e9e0c31da15 100644 --- a/idea/testData/quickfix/expressions/beforeUnnecessarySafeCall1.kt +++ b/idea/testData/quickfix/expressions/beforeUnnecessarySafeCall1.kt @@ -1,4 +1,4 @@ -// "Replace to dot call" "true" +// "Replace with dot call" "true" fun foo(a: Any) { a?.equals(0) } diff --git a/idea/testData/quickfix/expressions/beforeUnnecessarySafeCall2.kt b/idea/testData/quickfix/expressions/beforeUnnecessarySafeCall2.kt index 40f33005054..cee0f9535b3 100644 --- a/idea/testData/quickfix/expressions/beforeUnnecessarySafeCall2.kt +++ b/idea/testData/quickfix/expressions/beforeUnnecessarySafeCall2.kt @@ -1,4 +1,4 @@ -// "Replace to dot call" "true" +// "Replace with dot call" "true" fun foo(a: Any) { when (a) { ?.equals(0) => true From a81fbd209e6ad90ec2a23a36aead5bace5cd6923 Mon Sep 17 00:00:00 2001 From: svtk Date: Tue, 25 Oct 2011 21:30:50 +0400 Subject: [PATCH 4/4] Added 'jet' extension for KotlinCompiler --- compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java | 1 + 1 file changed, 1 insertion(+) diff --git a/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java index cc998dd0ac8..105351a6f4f 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java @@ -69,6 +69,7 @@ public class KotlinCompiler { environment.addToClasspath(rtJar); environment.registerFileType(JetFileType.INSTANCE, "kt"); + environment.registerFileType(JetFileType.INSTANCE, "jet"); environment.registerParserDefinition(new JetParserDefinition()); VirtualFile vFile = environment.getLocalFileSystem().findFileByPath(arguments.src);