From 154cf46f7cece55a90e93f1194923cc1c618f764 Mon Sep 17 00:00:00 2001 From: Toshiaki Kameyama Date: Thu, 8 Aug 2019 23:54:01 +0900 Subject: [PATCH] New J2K: add ReplaceGuardClause inspection to post-processing #KT-22412 Fixed --- .../kotlin/nj2k/postProcessing/J2kPostProcessor.kt | 3 ++- nj2k/testData/newJ2k/postProcessing/GuardClause.java | 7 +++++++ nj2k/testData/newJ2k/postProcessing/GuardClause.kt | 5 +++++ .../NewJavaToKotlinConverterSingleFileTestGenerated.java | 5 +++++ 4 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 nj2k/testData/newJ2k/postProcessing/GuardClause.java create mode 100644 nj2k/testData/newJ2k/postProcessing/GuardClause.kt diff --git a/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt b/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt index d41c1e912dc..3600020836d 100644 --- a/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt +++ b/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt @@ -221,7 +221,8 @@ private val inspectionLikePostProcessingGroup = intentionBasedProcessing(RemoveEmptyPrimaryConstructorIntention()), generalInspectionBasedProcessing(MayBeConstantInspection()), RemoveForExpressionLoopParameterTypeProcessing(), - intentionBasedProcessing(ReplaceMapGetOrDefaultIntention()) + intentionBasedProcessing(ReplaceMapGetOrDefaultIntention()), + inspectionBasedProcessing(ReplaceGuardClauseWithFunctionCallInspection()) ) diff --git a/nj2k/testData/newJ2k/postProcessing/GuardClause.java b/nj2k/testData/newJ2k/postProcessing/GuardClause.java new file mode 100644 index 00000000000..bc558320a69 --- /dev/null +++ b/nj2k/testData/newJ2k/postProcessing/GuardClause.java @@ -0,0 +1,7 @@ +public class Test { + void test(String s) { + if (s == null) { + throw new IllegalArgumentException("s should not be null"); + } + } +} \ No newline at end of file diff --git a/nj2k/testData/newJ2k/postProcessing/GuardClause.kt b/nj2k/testData/newJ2k/postProcessing/GuardClause.kt new file mode 100644 index 00000000000..ed8fbcad9d1 --- /dev/null +++ b/nj2k/testData/newJ2k/postProcessing/GuardClause.kt @@ -0,0 +1,5 @@ +class Test { + internal fun test(s: String?) { + requireNotNull(s) { "s should not be null" } + } +} \ No newline at end of file diff --git a/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java b/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java index 41db92b79a5..835825b7563 100644 --- a/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java +++ b/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java @@ -4082,6 +4082,11 @@ public class NewJavaToKotlinConverterSingleFileTestGenerated extends AbstractNew runTest("nj2k/testData/newJ2k/postProcessing/GetOperator.java"); } + @TestMetadata("GuardClause.java") + public void testGuardClause() throws Exception { + runTest("nj2k/testData/newJ2k/postProcessing/GuardClause.java"); + } + @TestMetadata("IfNullReturnToElvis.java") public void testIfNullReturnToElvis() throws Exception { runTest("nj2k/testData/newJ2k/postProcessing/IfNullReturnToElvis.java");