From 7d89205618aa9b255e07d501e69b765470af626c Mon Sep 17 00:00:00 2001 From: Toshiaki Kameyama Date: Fri, 21 Sep 2018 18:00:13 +0900 Subject: [PATCH] Add "Remove inline modifier" quick fix for NOTHING_TO_INLINE #KT-5187 Fixed --- .../kotlin/idea/quickfix/QuickFixRegistrar.kt | 2 ++ .../quickfix/redundantInline/function.kt | 2 ++ .../quickfix/redundantInline/function.kt.after | 2 ++ .../QuickFixMultiFileTestGenerated.java | 13 +++++++++++++ .../idea/quickfix/QuickFixTestGenerated.java | 18 ++++++++++++++++++ 5 files changed, 37 insertions(+) create mode 100644 idea/testData/quickfix/redundantInline/function.kt create mode 100644 idea/testData/quickfix/redundantInline/function.kt.after diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt index e413e1d526a..7575783da0c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt @@ -574,5 +574,7 @@ class QuickFixRegistrar : QuickFixContributor { ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS.registerFactory(RemoveDefaultParameterValueFix) RESOLUTION_TO_CLASSIFIER.registerFactory(ConvertToAnonymousObjectFix) + + NOTHING_TO_INLINE.registerFactory(RemoveModifierFix.createRemoveModifierFactory(isRedundant = false)) } } diff --git a/idea/testData/quickfix/redundantInline/function.kt b/idea/testData/quickfix/redundantInline/function.kt new file mode 100644 index 00000000000..a2cffc54bec --- /dev/null +++ b/idea/testData/quickfix/redundantInline/function.kt @@ -0,0 +1,2 @@ +// "Remove 'inline' modifier" "true" +inline fun test() {} \ No newline at end of file diff --git a/idea/testData/quickfix/redundantInline/function.kt.after b/idea/testData/quickfix/redundantInline/function.kt.after new file mode 100644 index 00000000000..7a7920b9084 --- /dev/null +++ b/idea/testData/quickfix/redundantInline/function.kt.after @@ -0,0 +1,2 @@ +// "Remove 'inline' modifier" "true" +fun test() {} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java index 4c12ecb9b47..5f23b780919 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java @@ -3251,6 +3251,19 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes } } + @TestMetadata("idea/testData/quickfix/redundantInline") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class RedundantInline extends AbstractQuickFixMultiFileTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTestWithExtraFile, TargetBackend.ANY, testDataFilePath); + } + + public void testAllFilesPresentInRedundantInline() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/redundantInline"), Pattern.compile("^(\\w+)\\.((before\\.Main\\.\\w+)|(test))$"), TargetBackend.ANY, true); + } + } + @TestMetadata("idea/testData/quickfix/redundantLateinit") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java index 46fbf441632..d06818a5881 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -8986,6 +8986,24 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { } } + @TestMetadata("idea/testData/quickfix/redundantInline") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class RedundantInline extends AbstractQuickFixTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath); + } + + public void testAllFilesPresentInRedundantInline() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/redundantInline"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), TargetBackend.ANY, true); + } + + @TestMetadata("function.kt") + public void testFunction() throws Exception { + runTest("idea/testData/quickfix/redundantInline/function.kt"); + } + } + @TestMetadata("idea/testData/quickfix/redundantLateinit") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class)