From 10f8b83aa5d20e4c700e67ca291e29bde29f5a83 Mon Sep 17 00:00:00 2001 From: Bart van Helvert Date: Fri, 28 Oct 2022 10:39:00 +0200 Subject: [PATCH] [java] Add simple inner class test to lambda to anonymous class fix GitOrigin-RevId: 43ffe8012852038ad7d561f4e0e2ee06f77814c9 --- .../style/lambda2anonymous/InnerClass.after.java | 6 +++--- .../style/lambda2anonymous/InnerClass.java | 4 ++-- .../InnerClassWithGenericOuter.after.java | 16 ++++++++++++++++ .../InnerClassWithGenericOuter.java | 11 +++++++++++ .../LambdaCanBeReplacedWithAnonymousFixTest.java | 4 ++++ 5 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClassWithGenericOuter.after.java create mode 100644 plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClassWithGenericOuter.java diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClass.after.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClass.after.java index 432c2b388988..5a5a5e35975f 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClass.after.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClass.after.java @@ -1,11 +1,11 @@ import java.io.Serializable; -public abstract class LambdaRefInnerClass { +public abstract class LambdaRefInnerClass { public abstract class Holder { } - public static final LongKey func = new LongKey() { + public static final LongKey func = new LongKey() { @Override - public Long getKey(LambdaRefInnerClass.Holder value) { + public Long getKey(Holder value) { return 0L; } }; diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClass.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClass.java index e88edceb97ab..522f6fd2119a 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClass.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClass.java @@ -1,9 +1,9 @@ import java.io.Serializable; -public abstract class LambdaRefInnerClass { +public abstract class LambdaRefInnerClass { public abstract class Holder { } - public static final LongKey func = value -> 0L; + public static final LongKey func = value -> 0L; } interface LongKey extends Serializable { diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClassWithGenericOuter.after.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClassWithGenericOuter.after.java new file mode 100644 index 000000000000..432c2b388988 --- /dev/null +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClassWithGenericOuter.after.java @@ -0,0 +1,16 @@ +import java.io.Serializable; + +public abstract class LambdaRefInnerClass { + public abstract class Holder { } + + public static final LongKey func = new LongKey() { + @Override + public Long getKey(LambdaRefInnerClass.Holder value) { + return 0L; + } + }; +} + +interface LongKey extends Serializable { + Long getKey(V value); +} \ No newline at end of file diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClassWithGenericOuter.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClassWithGenericOuter.java new file mode 100644 index 000000000000..e88edceb97ab --- /dev/null +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/lambda2anonymous/InnerClassWithGenericOuter.java @@ -0,0 +1,11 @@ +import java.io.Serializable; + +public abstract class LambdaRefInnerClass { + public abstract class Holder { } + + public static final LongKey func = value -> 0L; +} + +interface LongKey extends Serializable { + Long getKey(V value); +} \ No newline at end of file diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/LambdaCanBeReplacedWithAnonymousFixTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/LambdaCanBeReplacedWithAnonymousFixTest.java index 02b3a1f6faaa..d7ef9edbf8bb 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/LambdaCanBeReplacedWithAnonymousFixTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/LambdaCanBeReplacedWithAnonymousFixTest.java @@ -63,6 +63,10 @@ public class LambdaCanBeReplacedWithAnonymousFixTest extends IGQuickFixesTestCas doTest(); } + public void testInnerClassWithGenericOuter() { + doTest(); + } + public void testCyclicInference() { doTest(); }