diff --git a/java/java-analysis-impl/resources/messages/InspectionGadgetsBundle.properties b/java/java-analysis-impl/resources/messages/InspectionGadgetsBundle.properties index 95b91eb2b1d9..7aae262e2b63 100644 --- a/java/java-analysis-impl/resources/messages/InspectionGadgetsBundle.properties +++ b/java/java-analysis-impl/resources/messages/InspectionGadgetsBundle.properties @@ -2129,6 +2129,8 @@ lambda.can.be.replaced.with.anonymous.name=Lambda can be replaced with anonymous lambda.can.be.replaced.with.anonymous.quickfix=Replace lambda with anonymous class method.ref.can.be.replaced.with.lambda.name=Method reference can be replaced with lambda method.ref.can.be.replaced.with.lambda.quickfix=Replace method reference with lambda +method.ref.can.be.replaced.with.lambda.quickfix.side.effects=Extract possible side effects into a variable +method.ref.can.be.replaced.with.lambda.quickfix.no.side.effects=Keep possible side effects inside lambda try.statement.with.multiple.resources.name='try' statement with multiple resources can be split try.statement.with.multiple.resources.quickfix=Split 'try' statement with multiple resources multi.catch.can.be.split.name=Multi-catch can be split into separate catch blocks @@ -2455,7 +2457,6 @@ use.equalsignorecase.for.case.insensitive.comparison=Use 'equalsIgnoreCase()' fo use.contentequals=Use 'contentEquals()' for comparison with 'AbstractStringBuilder' use.isblank.to.check.if.string.is.whitespace.or.empty=Use 'isBlank()' to check if a string is empty or only contains whitespace make.class.final.fix.family.name=Make class final -side.effects.method.ref.to.lambda.fix.family.name={0} (side effects) encapsulate.variable.fix.family.name=Encapsulate field method.may.be.static.replaces.qualifiers.with.class.references.option=Quick-fix replaces instance qualifiers with class references method.may.be.static.ignore.default.methods.option=Ignore 'default' methods diff --git a/java/java-impl/src/com/intellij/refactoring/util/LambdaRefactoringUtil.java b/java/java-impl/src/com/intellij/refactoring/util/LambdaRefactoringUtil.java index eb3f4956ca56..e1afa099e1c0 100644 --- a/java/java-impl/src/com/intellij/refactoring/util/LambdaRefactoringUtil.java +++ b/java/java-impl/src/com/intellij/refactoring/util/LambdaRefactoringUtil.java @@ -2,14 +2,7 @@ package com.intellij.refactoring.util; import com.intellij.codeInspection.RedundantLambdaCodeBlockInspection; -import com.intellij.java.refactoring.JavaRefactoringBundle; -import com.intellij.lang.LanguageRefactoringSupport; -import com.intellij.lang.java.JavaLanguage; -import com.intellij.lang.refactoring.RefactoringSupportProvider; -import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.editor.Editor; -import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.*; import com.intellij.psi.codeStyle.JavaCodeStyleManager; @@ -19,8 +12,6 @@ import com.intellij.psi.impl.RecaptureTypeMapper; import com.intellij.psi.util.MethodSignature; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; -import com.intellij.refactoring.introduceField.ElementToWorkOn; -import com.intellij.refactoring.introduceVariable.JavaIntroduceVariableHandlerBase; import com.intellij.util.Function; import com.intellij.util.ObjectUtils; import com.intellij.util.containers.ContainerUtil; @@ -32,7 +23,9 @@ import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.*; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; public final class LambdaRefactoringUtil { private static final Logger LOG = Logger.getInstance(LambdaRefactoringUtil.class); @@ -310,46 +303,6 @@ public final class LambdaRefactoringUtil { } } - /** - * Works for expression lambdas/one statement code block lambdas to ensures equivalent method ref -> lambda transformation. - */ - public static void removeSideEffectsFromLambdaBody(Editor editor, PsiLambdaExpression lambdaExpression) { - if (lambdaExpression != null && lambdaExpression.isValid()) { - final PsiElement body = lambdaExpression.getBody(); - PsiExpression methodCall = LambdaUtil.extractSingleExpressionFromBody(body); - PsiExpression qualifierExpression = null; - if (methodCall instanceof PsiMethodCallExpression) { - qualifierExpression = ((PsiMethodCallExpression)methodCall).getMethodExpression().getQualifierExpression(); - } - else if (methodCall instanceof PsiNewExpression) { - qualifierExpression = ((PsiNewExpression)methodCall).getQualifier(); - } - - if (qualifierExpression != null) { - final List sideEffects = new ArrayList<>(); - if (ExpressionUtils.isNewObject(qualifierExpression)) { - sideEffects.add(qualifierExpression); - } - else { - SideEffectChecker.checkSideEffects(qualifierExpression, sideEffects); - } - if (!sideEffects.isEmpty()) { - if (ApplicationManager.getApplication().isUnitTestMode() || - Messages.showYesNoDialog(lambdaExpression.getProject(), - JavaRefactoringBundle.message("lambda.to.reference.side.effect.warning.message"), - JavaRefactoringBundle.message("side.effects.detected.title"), Messages.getQuestionIcon()) == Messages.YES) { - //ensure introduced before lambda - qualifierExpression.putUserData(ElementToWorkOn.PARENT, lambdaExpression); - RefactoringSupportProvider supportProvider = LanguageRefactoringSupport.getInstance().forLanguage(JavaLanguage.INSTANCE); - JavaIntroduceVariableHandlerBase handler = (JavaIntroduceVariableHandlerBase)supportProvider.getIntroduceVariableHandler(); - assert handler != null; - handler.invoke(qualifierExpression.getProject(), editor, qualifierExpression); - } - } - } - } - } - /** * Checks whether method reference can be converted to lambda without significant semantics change * (i.e. method reference qualifier has no side effects) diff --git a/java/java-impl/src/com/siyeh/ig/style/MethodRefCanBeReplacedWithLambdaInspection.java b/java/java-impl/src/com/siyeh/ig/style/MethodRefCanBeReplacedWithLambdaInspection.java index 317a589d97fe..01902e9ce92f 100644 --- a/java/java-impl/src/com/siyeh/ig/style/MethodRefCanBeReplacedWithLambdaInspection.java +++ b/java/java-impl/src/com/siyeh/ig/style/MethodRefCanBeReplacedWithLambdaInspection.java @@ -1,35 +1,32 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.siyeh.ig.style; -import com.intellij.codeInsight.FileModificationService; -import com.intellij.codeInsight.intention.preview.IntentionPreviewInfo; import com.intellij.codeInspection.LocalQuickFix; -import com.intellij.codeInspection.ProblemDescriptor; -import com.intellij.ide.DataManager; -import com.intellij.modcommand.ModPsiUpdater; -import com.intellij.modcommand.PsiUpdateModCommandQuickFix; -import com.intellij.openapi.actionSystem.CommonDataKeys; -import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.application.WriteAction; -import com.intellij.openapi.command.CommandProcessor; -import com.intellij.openapi.editor.Editor; -import com.intellij.openapi.project.Project; +import com.intellij.modcommand.ActionContext; +import com.intellij.modcommand.ModCommand; +import com.intellij.modcommand.Presentation; +import com.intellij.modcommand.PsiBasedModCommandAction; import com.intellij.pom.java.JavaFeature; -import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiLambdaExpression; -import com.intellij.psi.PsiMethodReferenceExpression; +import com.intellij.psi.*; +import com.intellij.psi.codeStyle.VariableKind; import com.intellij.refactoring.util.LambdaRefactoringUtil; -import com.intellij.util.ObjectUtils; +import com.intellij.util.ThreeState; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.BaseInspection; import com.siyeh.ig.BaseInspectionVisitor; -import com.siyeh.ig.InspectionGadgetsFix; +import com.siyeh.ig.psiutils.CodeBlockSurrounder; +import com.siyeh.ig.psiutils.ExpressionUtils; +import com.siyeh.ig.psiutils.SideEffectChecker; +import com.siyeh.ig.psiutils.VariableNameGenerator; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.List; import java.util.Set; +import static java.util.Objects.requireNonNull; + public final class MethodRefCanBeReplacedWithLambdaInspection extends BaseInspection { @Override @@ -48,16 +45,9 @@ public final class MethodRefCanBeReplacedWithLambdaInspection extends BaseInspec } @Override - protected @Nullable LocalQuickFix buildFix(Object... infos) { + protected @NotNull LocalQuickFix buildFix(Object... infos) { final PsiMethodReferenceExpression methodReferenceExpression = (PsiMethodReferenceExpression)infos[0]; - final boolean onTheFly = (Boolean)infos[1]; - if (LambdaRefactoringUtil.canConvertToLambdaWithoutSideEffects(methodReferenceExpression)) { - return new MethodRefToLambdaFix(); - } - else if (onTheFly) { - return new SideEffectsMethodRefToLambdaFix(); - } - return null; + return LocalQuickFix.from(new SideEffectsMethodRefToLambdaFix(methodReferenceExpression)); } private static class MethodRefToLambdaVisitor extends BaseInspectionVisitor { @@ -65,72 +55,91 @@ public final class MethodRefCanBeReplacedWithLambdaInspection extends BaseInspec public void visitMethodReferenceExpression(@NotNull PsiMethodReferenceExpression methodReferenceExpression) { super.visitMethodReferenceExpression(methodReferenceExpression); if (LambdaRefactoringUtil.canConvertToLambda(methodReferenceExpression)) { - registerError(methodReferenceExpression, methodReferenceExpression, isOnTheFly()); + registerError(methodReferenceExpression, methodReferenceExpression); } } } - private static class MethodRefToLambdaFix extends PsiUpdateModCommandQuickFix { + private static class SideEffectsMethodRefToLambdaFix extends PsiBasedModCommandAction { + private final ThreeState myExtractSideEffect; + + SideEffectsMethodRefToLambdaFix(@NotNull PsiMethodReferenceExpression methodRef) { + this(methodRef, ThreeState.UNSURE); + } + + SideEffectsMethodRefToLambdaFix(@NotNull PsiMethodReferenceExpression methodRef, @NotNull ThreeState extractSideEffect) { + super(methodRef); + myExtractSideEffect = extractSideEffect; + } + + @Override + protected @Nullable Presentation getPresentation(@NotNull ActionContext context, @NotNull PsiMethodReferenceExpression element) { + String message = switch (myExtractSideEffect) { + case YES -> InspectionGadgetsBundle.message("method.ref.can.be.replaced.with.lambda.quickfix.side.effects"); + case NO -> InspectionGadgetsBundle.message("method.ref.can.be.replaced.with.lambda.quickfix.no.side.effects"); + case UNSURE -> InspectionGadgetsBundle.message("method.ref.can.be.replaced.with.lambda.quickfix"); + }; + return Presentation.of(message); + } + @Override public @Nls @NotNull String getFamilyName() { return InspectionGadgetsBundle.message("method.ref.can.be.replaced.with.lambda.quickfix"); } @Override - protected void applyFix(@NotNull Project project, @NotNull PsiElement element, @NotNull ModPsiUpdater updater) { - if (element instanceof PsiMethodReferenceExpression methodRef) { - LambdaRefactoringUtil.convertMethodReferenceToLambda(methodRef, false, true); + protected @NotNull ModCommand perform(@NotNull ActionContext context, @NotNull PsiMethodReferenceExpression methodRef) { + boolean extractSideEffect; + if (myExtractSideEffect == ThreeState.UNSURE) { + if (possibleToExtractSideEffect(methodRef)) { + //noinspection DialogTitleCapitalization + return ModCommand.chooseAction(getFamilyName(), + new SideEffectsMethodRefToLambdaFix(methodRef, ThreeState.YES), + new SideEffectsMethodRefToLambdaFix(methodRef, ThreeState.NO)); + } + extractSideEffect = false; } - } - } - - private static class SideEffectsMethodRefToLambdaFix extends InspectionGadgetsFix { - @Override - public @Nls @NotNull String getFamilyName() { - return ApplicationManager.getApplication().isUnitTestMode() ? - (InspectionGadgetsBundle.message("side.effects.method.ref.to.lambda.fix.family.name", - InspectionGadgetsBundle.message("method.ref.can.be.replaced.with.lambda.quickfix"))) : - InspectionGadgetsBundle.message("method.ref.can.be.replaced.with.lambda.quickfix"); - } - - @Override - public boolean startInWriteAction() { - return false; - } - - @Override - public @NotNull IntentionPreviewInfo generatePreview(@NotNull Project project, @NotNull ProblemDescriptor previewDescriptor) { - PsiMethodReferenceExpression methodRef = ObjectUtils.tryCast(previewDescriptor.getPsiElement(), PsiMethodReferenceExpression.class); - if (methodRef == null) { - return IntentionPreviewInfo.EMPTY; + else { + extractSideEffect = myExtractSideEffect == ThreeState.YES && possibleToExtractSideEffect(methodRef); } - LambdaRefactoringUtil.convertMethodReferenceToLambda(methodRef, false, true); - return IntentionPreviewInfo.DIFF; + if (!extractSideEffect) { + return ModCommand.psiUpdate(methodRef, mr -> LambdaRefactoringUtil.convertMethodReferenceToLambda(mr, false, true)); + } + return ModCommand.psiUpdate(methodRef, (mr, updater) -> { + CodeBlockSurrounder surrounder = requireNonNull(CodeBlockSurrounder.forExpression(mr)); + CodeBlockSurrounder.SurroundResult result = surrounder.surround(); + PsiLambdaExpression lambdaExpression = + LambdaRefactoringUtil.convertMethodReferenceToLambda((PsiMethodReferenceExpression)result.getExpression(), false, true); + if (lambdaExpression == null) return; + PsiExpression methodCall = LambdaUtil.extractSingleExpressionFromBody(lambdaExpression.getBody()); + PsiExpression qualifierExpression = null; + if (methodCall instanceof PsiMethodCallExpression call) { + qualifierExpression = call.getMethodExpression().getQualifierExpression(); + } + else if (methodCall instanceof PsiNewExpression call) { + qualifierExpression = call.getQualifier(); + } + if (qualifierExpression == null) return; + PsiType type = qualifierExpression.getType(); + if (type == null) return; + List varNames = + new VariableNameGenerator(result.getAnchor(), VariableKind.LOCAL_VARIABLE).byExpression(qualifierExpression).generateAll(true); + String name = varNames.get(0); + PsiElementFactory factory = JavaPsiFacade.getElementFactory(context.project()); + PsiDeclarationStatement declaration = factory + .createVariableDeclarationStatement(name, type, qualifierExpression, result.getAnchor()); + declaration = (PsiDeclarationStatement)result.getAnchor().getParent().addBefore(declaration, result.getAnchor()); + PsiVariable declaredVariable = (PsiVariable)declaration.getDeclaredElements()[0]; + qualifierExpression.replace(factory.createExpressionFromText(name, null)); + updater.rename(declaredVariable, varNames); + }); } - @Override - protected void doFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { - final PsiElement element = descriptor.getPsiElement(); - if (element instanceof PsiMethodReferenceExpression methodRef) { - DataManager.getInstance() - .getDataContextFromFocusAsync() - .onSuccess(context -> { - final Editor editor = CommonDataKeys.EDITOR.getData(context); - if (editor != null) { - CommandProcessor.getInstance() - .executeCommand(project, () -> doFixAndRemoveSideEffects(editor, methodRef), getFamilyName(), null); - } - }); - } - } - - private static void doFixAndRemoveSideEffects(@NotNull Editor editor, @NotNull PsiMethodReferenceExpression methodReferenceExpression) { - if (!FileModificationService.getInstance().preparePsiElementsForWrite(methodReferenceExpression)) return; - final PsiLambdaExpression lambdaExpression = - WriteAction.compute(() -> LambdaRefactoringUtil.convertMethodReferenceToLambda(methodReferenceExpression, false, true)); - if (lambdaExpression != null) { - LambdaRefactoringUtil.removeSideEffectsFromLambdaBody(editor, lambdaExpression); - } + private static boolean possibleToExtractSideEffect(@NotNull PsiMethodReferenceExpression methodRef) { + PsiExpression qualifier = methodRef.getQualifierExpression(); + return qualifier != null && qualifier.getType() != null && + (SideEffectChecker.mayHaveSideEffects(qualifier) || ExpressionUtils.isNewObject(qualifier)) && + CodeBlockSurrounder.canSurround(methodRef); } } } diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForSideEffectQualifier.preview.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForSideEffectQualifier.preview.java deleted file mode 100644 index 6eec70053b9d..000000000000 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForSideEffectQualifier.preview.java +++ /dev/null @@ -1,14 +0,0 @@ -class Test { - { - Runnable runnable = () -> new Runnable() { - { - } - - public void run() { - System.out.println(this); - } - }.run(); - runnable.run(); - runnable.run(); - } -} \ No newline at end of file diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Ambiguity.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterAmbiguity.java similarity index 85% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Ambiguity.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterAmbiguity.java index 060579295852..241cfcb20793 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Ambiguity.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterAmbiguity.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { static void m(Integer i) { assertTrue(true); } diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRef.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterArrayConstructorRef.java similarity index 72% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRef.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterArrayConstructorRef.java index 71fb9fb1b296..d3cc56128d9d 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRef.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterArrayConstructorRef.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class Foo { static void foo() { Ar a = p -> new String[p]; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRef2Dim.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterArrayConstructorRef2Dim.java similarity index 72% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRef2Dim.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterArrayConstructorRef2Dim.java index 65e0926e7685..2c68f43fd822 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRef2Dim.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterArrayConstructorRef2Dim.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class Foo { static void foo() { Ar a = p -> new String[p][]; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRefUniqueParamName.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterArrayConstructorRefUniqueParamName.java similarity index 80% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRefUniqueParamName.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterArrayConstructorRefUniqueParamName.java index 83b9384e1d25..fa748318ea15 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRefUniqueParamName.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterArrayConstructorRefUniqueParamName.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class Foo { public void test() { Object i = null; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayMethodRef.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterArrayMethodRef.java similarity index 71% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayMethodRef.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterArrayMethodRef.java index 42e6ae3de425..b12e4fe6a74e 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayMethodRef.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterArrayMethodRef.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class Foo { static void foo() { Cln j = ints -> ints.clone(); diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/BrokenPrimitiveArray.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterBrokenPrimitiveArray.java similarity index 63% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/BrokenPrimitiveArray.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterBrokenPrimitiveArray.java index d8b64f5d0163..7d1c06e277b1 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/BrokenPrimitiveArray.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterBrokenPrimitiveArray.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.*; public class MyTest { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CaptureOnInvalidatedReference.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterCaptureOnInvalidatedReference.java similarity index 80% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CaptureOnInvalidatedReference.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterCaptureOnInvalidatedReference.java index afb45cda4778..2790c9caa400 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CaptureOnInvalidatedReference.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterCaptureOnInvalidatedReference.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.List; import java.util.stream.Stream; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CaptureOnInvalidatedReference1.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterCaptureOnInvalidatedReference1.java similarity index 75% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CaptureOnInvalidatedReference1.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterCaptureOnInvalidatedReference1.java index 5ed6604c3bb6..4bcf8f34fc2e 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CaptureOnInvalidatedReference1.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterCaptureOnInvalidatedReference1.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.Optional; class MyTest { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CollapseToExpressionLambdaWhenCast.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterCollapseToExpressionLambdaWhenCast.java similarity index 91% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CollapseToExpressionLambdaWhenCast.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterCollapseToExpressionLambdaWhenCast.java index 5d3d9d819f06..ae466d78200d 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CollapseToExpressionLambdaWhenCast.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterCollapseToExpressionLambdaWhenCast.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.Collection; import java.util.HashMap; import java.util.Map; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ExplicitTypeRequired.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterExplicitTypeRequired.java similarity index 80% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ExplicitTypeRequired.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterExplicitTypeRequired.java index 421f483bf1cd..719f081f7eaa 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ExplicitTypeRequired.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterExplicitTypeRequired.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.Comparator; class MyTest { void setComparator(Comparator comparator) {} diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ExprRefs.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterExprRefs.java similarity index 72% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ExprRefs.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterExprRefs.java index 053d3bef03f5..bc4566727297 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ExprRefs.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterExprRefs.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.*; public class MyTest { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/InnerGenericClass.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterInnerGenericClass.java similarity index 75% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/InnerGenericClass.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterInnerGenericClass.java index 38b1c2791e6f..123695db9edf 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/InnerGenericClass.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterInnerGenericClass.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.function.*; public class MyTest { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/InnerGenericClass2.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterInnerGenericClass2.java similarity index 75% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/InnerGenericClass2.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterInnerGenericClass2.java index 5eb2b02deda5..0fa35f7a608d 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/InnerGenericClass2.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterInnerGenericClass2.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.function.*; public class MyTest { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForNewInQualifier.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterIntroduceVariableForNewInQualifier.java similarity index 79% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForNewInQualifier.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterIntroduceVariableForNewInQualifier.java index 25868e2269ff..bb6b7fc8b53e 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForNewInQualifier.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterIntroduceVariableForNewInQualifier.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.*; class Test { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterIntroduceVariableForNewInQualifierBlock.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterIntroduceVariableForNewInQualifierBlock.java new file mode 100644 index 000000000000..1df411167818 --- /dev/null +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterIntroduceVariableForNewInQualifierBlock.java @@ -0,0 +1,11 @@ +// "Replace method reference with lambda" "true-preview" +import java.util.*; + +class Test { + boolean result; + + { + HashSet objects = new HashSet<>(); + result = Arrays.asList("a", "a").stream().allMatch(e -> objects.add(e)); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForNewInQualifier.preview.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterIntroduceVariableForNewInQualifierNoSe.java similarity index 63% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForNewInQualifier.preview.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterIntroduceVariableForNewInQualifierNoSe.java index 3991be6c6f6d..1fc07bc98b9a 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForNewInQualifier.preview.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterIntroduceVariableForNewInQualifierNoSe.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda|->Keep possible side effects inside lambda" "true-preview" import java.util.*; class Test { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForSideEffectQualifier.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterIntroduceVariableForSideEffectQualifier.java similarity index 82% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForSideEffectQualifier.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterIntroduceVariableForSideEffectQualifier.java index 435c27a2a5fa..d9843198f8bd 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForSideEffectQualifier.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterIntroduceVariableForSideEffectQualifier.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" class Test { { Runnable runnable1 = new Runnable() { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/LocalClassReference.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterLocalClassReference.java similarity index 72% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/LocalClassReference.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterLocalClassReference.java index 69f242e2eef7..6918e5a19aae 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/LocalClassReference.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterLocalClassReference.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class Test { void test(){ class Local(){} diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/LocalGenericClass.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterLocalGenericClass.java similarity index 76% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/LocalGenericClass.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterLocalGenericClass.java index 23fc6d552634..4d5e7eacd9e8 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/LocalGenericClass.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterLocalGenericClass.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.function.*; public class MyTest { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NameConflicts.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNameConflicts.java similarity index 79% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NameConflicts.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNameConflicts.java index d6f524bfecdc..171ee070d32d 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NameConflicts.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNameConflicts.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.*; class Test { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NestedClassReference.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNestedClassReference.java similarity index 74% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NestedClassReference.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNestedClassReference.java index 85e94a3a98ae..8afdea24fef8 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NestedClassReference.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNestedClassReference.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class Foo { public static class Bar {} } diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewArrayMethodReferenceHasNoSideEffects.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewArrayMethodReferenceHasNoSideEffects.java similarity index 92% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewArrayMethodReferenceHasNoSideEffects.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewArrayMethodReferenceHasNoSideEffects.java index f84189dc2a97..45e307424580 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewArrayMethodReferenceHasNoSideEffects.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewArrayMethodReferenceHasNoSideEffects.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" /* * Copyright 2000-2017 JetBrains s.r.o. * diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewDefaultConstructor.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewDefaultConstructor.java similarity index 76% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewDefaultConstructor.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewDefaultConstructor.java index 0183b2009c60..2d9bd632d7a3 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewDefaultConstructor.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewDefaultConstructor.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" class Test1 { static class Inner { } diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefs.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefs.java similarity index 76% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefs.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefs.java index 75ee4c010c89..83bb6238ce19 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefs.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefs.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { MyTest() {} diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsDefaultConstructor.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsDefaultConstructor.java similarity index 75% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsDefaultConstructor.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsDefaultConstructor.java index f486638e6e9a..a931efce178f 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsDefaultConstructor.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsDefaultConstructor.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { interface I { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInference.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsInference.java similarity index 80% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInference.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsInference.java index 9b4e85fdacb1..78242a1847c9 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInference.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsInference.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { MyTest(X x) {} diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInference1.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsInference1.java similarity index 80% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInference1.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsInference1.java index d9c913bf0efc..952adca7ea1a 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInference1.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsInference1.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { interface I { void m(Integer s); diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInnerClass.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsInnerClass.java similarity index 77% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInnerClass.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsInnerClass.java index 7a64064d19df..c7ca82e9c980 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInnerClass.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsInnerClass.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" class MyTest { static class Inner { Inner(MyTest mt) {}; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsStaticInnerClass.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsStaticInnerClass.java similarity index 78% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsStaticInnerClass.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsStaticInnerClass.java index f3743ce362ac..baed82887fe0 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsStaticInnerClass.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNewRefsStaticInnerClass.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" class MyTest { static class Inner { Inner(MyTest outer) {}; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NoCastWhereCaptureArgIsExpected.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNoCastWhereCaptureArgIsExpected.java similarity index 88% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NoCastWhereCaptureArgIsExpected.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNoCastWhereCaptureArgIsExpected.java index 3a789a17d15f..f6d6fb9d3cc4 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NoCastWhereCaptureArgIsExpected.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNoCastWhereCaptureArgIsExpected.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.Collection; import java.util.List; import java.util.Map; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NoUnderscoreInLambdaParameterName.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNoUnderscoreInLambdaParameterName.java similarity index 67% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NoUnderscoreInLambdaParameterName.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNoUnderscoreInLambdaParameterName.java index 58e0a74013cb..6609c2c19090 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NoUnderscoreInLambdaParameterName.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterNoUnderscoreInLambdaParameterName.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.function.IntConsumer; public class Main { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/PreserveExpressionQualifier.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterPreserveExpressionQualifier.java similarity index 79% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/PreserveExpressionQualifier.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterPreserveExpressionQualifier.java index 407dbbfa2bbf..2c483d1d4a5e 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/PreserveExpressionQualifier.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterPreserveExpressionQualifier.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.function.Function; abstract class Result { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Receiver.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterReceiver.java similarity index 79% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Receiver.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterReceiver.java index 0152fb9b9e25..906aabb06503 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Receiver.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterReceiver.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { interface I { void m(MyTest receiver); diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/RedundantCast.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterRedundantCast.java similarity index 71% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/RedundantCast.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterRedundantCast.java index 2ba900107138..8b0d9b624e54 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/RedundantCast.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterRedundantCast.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.Comparator; class A { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/SpecifyFormalParameterTypesWhenMethodReferenceWasExactAndTypeOfParameterIsUnknown.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterSpecifyFormalParameterTypesWhenMethodReferenceWasExactAndTypeOfParameterIsUnknown.java similarity index 68% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/SpecifyFormalParameterTypesWhenMethodReferenceWasExactAndTypeOfParameterIsUnknown.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterSpecifyFormalParameterTypesWhenMethodReferenceWasExactAndTypeOfParameterIsUnknown.java index a3042b5c6963..d924ce3aab06 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/SpecifyFormalParameterTypesWhenMethodReferenceWasExactAndTypeOfParameterIsUnknown.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterSpecifyFormalParameterTypesWhenMethodReferenceWasExactAndTypeOfParameterIsUnknown.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.*; class Test { { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/StaticMethodRef.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterStaticMethodRef.java similarity index 76% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/StaticMethodRef.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterStaticMethodRef.java index fd17a35461ed..bd8a455842b0 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/StaticMethodRef.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterStaticMethodRef.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { interface I { void foo(int i); } diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Subst.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterSubst.java similarity index 72% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Subst.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterSubst.java index 2ff6feee03b9..43c827038e7a 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Subst.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterSubst.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.*; class Bar { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/SuperRefs.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterSuperRefs.java similarity index 80% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/SuperRefs.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterSuperRefs.java index ecb9e30ba62a..873e15f7404f 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/SuperRefs.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterSuperRefs.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { interface I { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ThisRefs.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterThisRefs.java similarity index 72% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ThisRefs.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterThisRefs.java index d3f1001c23bc..14696f8344d0 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ThisRefs.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterThisRefs.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" class MyTest { static interface SAM { void m(Integer i); diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/TypeElementOnTheLeft.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterTypeElementOnTheLeft.java similarity index 67% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/TypeElementOnTheLeft.after.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterTypeElementOnTheLeft.java index 6bf7b8d8d586..a184d4a4ce6f 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/TypeElementOnTheLeft.after.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/afterTypeElementOnTheLeft.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" class Test { static void foo() {} } diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Ambiguity.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeAmbiguity.java similarity index 85% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Ambiguity.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeAmbiguity.java index fa682838ad8e..dd9583afac33 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Ambiguity.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeAmbiguity.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { static void m(Integer i) { assertTrue(true); } diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRef.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeArrayConstructorRef.java similarity index 72% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRef.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeArrayConstructorRef.java index cd14ddf1f7f2..79b3b40964ba 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRef.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeArrayConstructorRef.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class Foo { static void foo() { Ar a = String[]::new; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRef2Dim.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeArrayConstructorRef2Dim.java similarity index 73% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRef2Dim.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeArrayConstructorRef2Dim.java index b4c1520b142d..15f107acbec4 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRef2Dim.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeArrayConstructorRef2Dim.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class Foo { static void foo() { Ar a = String[][]::new; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRefUniqueParamName.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeArrayConstructorRefUniqueParamName.java similarity index 80% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRefUniqueParamName.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeArrayConstructorRefUniqueParamName.java index 9c22e194ce6c..047bf2dd10c1 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayConstructorRefUniqueParamName.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeArrayConstructorRefUniqueParamName.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class Foo { public void test() { Object i = null; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayMethodRef.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeArrayMethodRef.java similarity index 71% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayMethodRef.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeArrayMethodRef.java index a59bb6d2041c..35b025585d14 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ArrayMethodRef.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeArrayMethodRef.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class Foo { static void foo() { Cln j = int[]::clone; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/BrokenPrimitiveArray.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeBrokenPrimitiveArray.java similarity index 63% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/BrokenPrimitiveArray.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeBrokenPrimitiveArray.java index 492f251f8f6e..6dd7311872a1 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/BrokenPrimitiveArray.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeBrokenPrimitiveArray.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.*; public class MyTest { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CaptureOnInvalidatedReference.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeCaptureOnInvalidatedReference.java similarity index 79% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CaptureOnInvalidatedReference.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeCaptureOnInvalidatedReference.java index d239c3413270..1037db293219 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CaptureOnInvalidatedReference.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeCaptureOnInvalidatedReference.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.List; import java.util.stream.Stream; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CaptureOnInvalidatedReference1.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeCaptureOnInvalidatedReference1.java similarity index 74% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CaptureOnInvalidatedReference1.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeCaptureOnInvalidatedReference1.java index c1d693bd40bd..3b55b74389a4 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CaptureOnInvalidatedReference1.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeCaptureOnInvalidatedReference1.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.Optional; class MyTest { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CollapseToExpressionLambdaWhenCast.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeCollapseToExpressionLambdaWhenCast.java similarity index 91% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CollapseToExpressionLambdaWhenCast.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeCollapseToExpressionLambdaWhenCast.java index 593be0034d12..7d22eee4f2e5 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/CollapseToExpressionLambdaWhenCast.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeCollapseToExpressionLambdaWhenCast.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.Collection; import java.util.HashMap; import java.util.Map; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/EnsureNoConversionIsSuggestedWhenLambdaWithoutCantBeInferredAndFormalParametersAreNotDenotable.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeEnsureNoConversionIsSuggestedWhenLambdaWithoutCantBeInferredAndFormalParametersAreNotDenotable.java similarity index 86% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/EnsureNoConversionIsSuggestedWhenLambdaWithoutCantBeInferredAndFormalParametersAreNotDenotable.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeEnsureNoConversionIsSuggestedWhenLambdaWithoutCantBeInferredAndFormalParametersAreNotDenotable.java index 8a83d06f6b74..8c6551069ea4 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/EnsureNoConversionIsSuggestedWhenLambdaWithoutCantBeInferredAndFormalParametersAreNotDenotable.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeEnsureNoConversionIsSuggestedWhenLambdaWithoutCantBeInferredAndFormalParametersAreNotDenotable.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "false" import java.util.function.BiFunction; class InlineRef { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ExplicitTypeRequired.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeExplicitTypeRequired.java similarity index 80% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ExplicitTypeRequired.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeExplicitTypeRequired.java index 0758b5c1bfd4..c7c8fc288810 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ExplicitTypeRequired.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeExplicitTypeRequired.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.Comparator; class MyTest { void setComparator(Comparator comparator) {} diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ExprRefs.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeExprRefs.java similarity index 71% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ExprRefs.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeExprRefs.java index a87b35b99041..0dc7b310770c 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ExprRefs.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeExprRefs.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.*; public class MyTest { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/InnerGenericClass.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeInnerGenericClass.java similarity index 74% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/InnerGenericClass.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeInnerGenericClass.java index 1919aff90f27..e953fb8be7f0 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/InnerGenericClass.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeInnerGenericClass.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.function.*; public class MyTest { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/InnerGenericClass2.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeInnerGenericClass2.java similarity index 74% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/InnerGenericClass2.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeInnerGenericClass2.java index 648285086259..312d6c0d734a 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/InnerGenericClass2.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeInnerGenericClass2.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.function.*; public class MyTest { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForNewInQualifier.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeIntroduceVariableForNewInQualifier.java similarity index 75% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForNewInQualifier.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeIntroduceVariableForNewInQualifier.java index 8994d5fb56b0..20471fae8b40 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForNewInQualifier.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeIntroduceVariableForNewInQualifier.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.*; class Test { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeIntroduceVariableForNewInQualifierBlock.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeIntroduceVariableForNewInQualifierBlock.java new file mode 100644 index 000000000000..e1866c936504 --- /dev/null +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeIntroduceVariableForNewInQualifierBlock.java @@ -0,0 +1,6 @@ +// "Replace method reference with lambda" "true-preview" +import java.util.*; + +class Test { + boolean result = Arrays.asList("a", "a").stream().allMatch(new HashSet<>()::add); +} \ No newline at end of file diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeIntroduceVariableForNewInQualifierNoSe.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeIntroduceVariableForNewInQualifierNoSe.java new file mode 100644 index 000000000000..b2282e8bf58b --- /dev/null +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeIntroduceVariableForNewInQualifierNoSe.java @@ -0,0 +1,9 @@ +// "Replace method reference with lambda|->Keep possible side effects inside lambda" "true-preview" +import java.util.*; + +class Test { + { + List strings = Arrays.asList("a", "a"); + System.out.println(strings.stream().allMatch(new HashSet<>()::add)); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForSideEffectQualifier.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeIntroduceVariableForSideEffectQualifier.java similarity index 77% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForSideEffectQualifier.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeIntroduceVariableForSideEffectQualifier.java index a14f230f4d78..db64f3029b58 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/IntroduceVariableForSideEffectQualifier.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeIntroduceVariableForSideEffectQualifier.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" class Test { { Runnable runnable = new Runnable() { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/LocalClassReference.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeLocalClassReference.java similarity index 72% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/LocalClassReference.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeLocalClassReference.java index 5537055cf420..6a7279297e75 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/LocalClassReference.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeLocalClassReference.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class Test { void test(){ class Local(){} diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/LocalGenericClass.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeLocalGenericClass.java similarity index 75% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/LocalGenericClass.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeLocalGenericClass.java index 1a72051470a3..cf1b930c910b 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/LocalGenericClass.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeLocalGenericClass.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.function.*; public class MyTest { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NameConflicts.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNameConflicts.java similarity index 78% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NameConflicts.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNameConflicts.java index ede4caf38f0e..161390744492 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NameConflicts.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNameConflicts.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.*; class Test { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NestedClassReference.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNestedClassReference.java similarity index 74% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NestedClassReference.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNestedClassReference.java index ef5bc8d89d95..aa2df6b207d4 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NestedClassReference.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNestedClassReference.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class Foo { public static class Bar {} } diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewArrayMethodReferenceHasNoSideEffects.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewArrayMethodReferenceHasNoSideEffects.java similarity index 92% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewArrayMethodReferenceHasNoSideEffects.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewArrayMethodReferenceHasNoSideEffects.java index 967dd8185c8b..1fa9910f3eb0 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewArrayMethodReferenceHasNoSideEffects.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewArrayMethodReferenceHasNoSideEffects.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" /* * Copyright 2000-2017 JetBrains s.r.o. * diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewDefaultConstructor.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewDefaultConstructor.java similarity index 76% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewDefaultConstructor.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewDefaultConstructor.java index 3e4e1727b067..f7cccfaa5c33 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewDefaultConstructor.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewDefaultConstructor.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" class Test1 { static class Inner { } diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefs.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefs.java similarity index 76% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefs.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefs.java index 517df1e0e1bf..205f689e7c49 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefs.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefs.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { MyTest() {} diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsDefaultConstructor.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsDefaultConstructor.java similarity index 75% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsDefaultConstructor.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsDefaultConstructor.java index 979212eb0a4a..c165ec3a75a3 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsDefaultConstructor.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsDefaultConstructor.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { interface I { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInference.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsInference.java similarity index 80% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInference.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsInference.java index 79e049da255e..f2b82c70c0ba 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInference.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsInference.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { MyTest(X x) {} diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInference1.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsInference1.java similarity index 79% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInference1.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsInference1.java index 8bef66441d0a..f17eb741746a 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInference1.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsInference1.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { interface I { void m(Integer s); diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInnerClass.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsInnerClass.java similarity index 77% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInnerClass.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsInnerClass.java index 985c9a4a3094..9d53e69307ee 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsInnerClass.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsInnerClass.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" class MyTest { static class Inner { Inner(MyTest mt) {}; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsStaticInnerClass.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsStaticInnerClass.java similarity index 78% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsStaticInnerClass.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsStaticInnerClass.java index 26685f1a6bcf..1ac0e97aee1e 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NewRefsStaticInnerClass.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNewRefsStaticInnerClass.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" class MyTest { static class Inner { Inner(MyTest outer) {}; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NoCastWhereCaptureArgIsExpected.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNoCastWhereCaptureArgIsExpected.java similarity index 88% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NoCastWhereCaptureArgIsExpected.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNoCastWhereCaptureArgIsExpected.java index 89e21eed27dd..72fe8d2e95e6 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NoCastWhereCaptureArgIsExpected.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNoCastWhereCaptureArgIsExpected.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.Collection; import java.util.List; import java.util.Map; diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NoUnderscoreInLambdaParameterName.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNoUnderscoreInLambdaParameterName.java similarity index 68% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NoUnderscoreInLambdaParameterName.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNoUnderscoreInLambdaParameterName.java index f7d9e7b4fbb3..6b15fb325439 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/NoUnderscoreInLambdaParameterName.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeNoUnderscoreInLambdaParameterName.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.function.IntConsumer; public class Main { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/PreserveExpressionQualifier.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforePreserveExpressionQualifier.java similarity index 79% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/PreserveExpressionQualifier.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforePreserveExpressionQualifier.java index 70c8f088d963..bdc9672724f5 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/PreserveExpressionQualifier.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforePreserveExpressionQualifier.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.function.Function; abstract class Result { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Receiver.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeReceiver.java similarity index 79% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Receiver.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeReceiver.java index 2779edf75780..133c6c182b6a 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Receiver.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeReceiver.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { interface I { void m(MyTest receiver); diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/RedundantCast.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeRedundantCast.java similarity index 71% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/RedundantCast.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeRedundantCast.java index 73ec9572b90a..6025d94fad77 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/RedundantCast.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeRedundantCast.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.Comparator; class A { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/SpecifyFormalParameterTypesWhenMethodReferenceWasExactAndTypeOfParameterIsUnknown.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeSpecifyFormalParameterTypesWhenMethodReferenceWasExactAndTypeOfParameterIsUnknown.java similarity index 70% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/SpecifyFormalParameterTypesWhenMethodReferenceWasExactAndTypeOfParameterIsUnknown.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeSpecifyFormalParameterTypesWhenMethodReferenceWasExactAndTypeOfParameterIsUnknown.java index 8ba83035abcf..c091ea56926c 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/SpecifyFormalParameterTypesWhenMethodReferenceWasExactAndTypeOfParameterIsUnknown.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeSpecifyFormalParameterTypesWhenMethodReferenceWasExactAndTypeOfParameterIsUnknown.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.*; class Test { { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/StaticMethodRef.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeStaticMethodRef.java similarity index 76% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/StaticMethodRef.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeStaticMethodRef.java index 7c82ded8a473..468ebdfb8ed5 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/StaticMethodRef.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeStaticMethodRef.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { interface I { void foo(int i); } diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Subst.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeSubst.java similarity index 71% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Subst.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeSubst.java index 4d8ce4027b0d..53fe19c787a1 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/Subst.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeSubst.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" import java.util.*; class Bar { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/SuperRefs.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeSuperRefs.java similarity index 80% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/SuperRefs.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeSuperRefs.java index 3a570463e260..6916d9e18ad9 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/SuperRefs.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeSuperRefs.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" public class MyTest { interface I { diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ThisRefs.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeThisRefs.java similarity index 73% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ThisRefs.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeThisRefs.java index f45e99a5b093..9cd2b90058b1 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/ThisRefs.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeThisRefs.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" class MyTest { static interface SAM { void m(Integer i); diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/TypeElementOnTheLeft.java b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeTypeElementOnTheLeft.java similarity index 67% rename from java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/TypeElementOnTheLeft.java rename to java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeTypeElementOnTheLeft.java index 4bb8270dc216..88ed94e9cd00 100644 --- a/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/TypeElementOnTheLeft.java +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/style/methodRefs2lambda/beforeTypeElementOnTheLeft.java @@ -1,3 +1,4 @@ +// "Replace method reference with lambda" "true-preview" class Test { static void foo() {} } diff --git a/java/java-tests/testSrc/com/siyeh/ig/fixes/style/MethodRefCanBeReplacedWithLambdaFixTest.java b/java/java-tests/testSrc/com/siyeh/ig/fixes/style/MethodRefCanBeReplacedWithLambdaFixTest.java index 4b836bc40b46..8154eda4c46b 100644 --- a/java/java-tests/testSrc/com/siyeh/ig/fixes/style/MethodRefCanBeReplacedWithLambdaFixTest.java +++ b/java/java-tests/testSrc/com/siyeh/ig/fixes/style/MethodRefCanBeReplacedWithLambdaFixTest.java @@ -1,169 +1,27 @@ // Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.siyeh.ig.fixes.style; -import com.intellij.openapi.application.WriteAction; -import com.intellij.openapi.projectRoots.ProjectJdkTable; -import com.intellij.openapi.projectRoots.Sdk; -import com.intellij.openapi.roots.ModuleRootModificationUtil; -import com.intellij.testFramework.IdeaTestUtil; -import com.siyeh.InspectionGadgetsBundle; -import com.siyeh.ig.IGQuickFixesTestCase; +import com.intellij.codeInsight.daemon.quickFix.LightQuickFixParameterizedTestCase; +import com.intellij.codeInspection.LocalInspectionTool; +import com.intellij.testFramework.LightProjectDescriptor; import com.siyeh.ig.style.MethodRefCanBeReplacedWithLambdaInspection; +import org.jetbrains.annotations.NotNull; -public class MethodRefCanBeReplacedWithLambdaFixTest extends IGQuickFixesTestCase { +import static com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase.JAVA_21; + +public class MethodRefCanBeReplacedWithLambdaFixTest extends LightQuickFixParameterizedTestCase { @Override - protected void setUp() throws Exception { - super.setUp(); - Sdk sdk = IdeaTestUtil.getMockJdk18(); - WriteAction.runAndWait(() -> ProjectJdkTable.getInstance().addJdk(sdk, getTestRootDisposable())); - ModuleRootModificationUtil.setModuleSdk(getModule(), sdk); - myFixture.enableInspections(new MethodRefCanBeReplacedWithLambdaInspection()); - myDefaultHint = InspectionGadgetsBundle.message("method.ref.can.be.replaced.with.lambda.quickfix"); + protected @NotNull LightProjectDescriptor getProjectDescriptor() { + return JAVA_21; } @Override - protected String getRelativePath() { - return "style/methodRefs2lambda"; + protected String getBasePath() { + return "/ig/com/siyeh/igfixes/style/methodRefs2lambda"; } - public void testRedundantCast() { - doTest(); + @Override + protected LocalInspectionTool @NotNull [] configureLocalInspectionTools() { + return new MethodRefCanBeReplacedWithLambdaInspection[]{new MethodRefCanBeReplacedWithLambdaInspection()}; } - - public void testStaticMethodRef() { - doTest(); - } - - public void testThisRefs() { - doTest(); - } - - public void testSuperRefs() { - doTest(); - } - - public void testExprRefs() { - doTest(); - } - - public void testReceiver() { - doTest(); - } - - public void testNewRefs() { - doTest(); - } - - public void testNewRefsDefaultConstructor() { - doTest(); - } - - public void testNewRefsInnerClass() { - doTest(); - } - - public void testNewRefsStaticInnerClass() { - doTest(); - } - - public void testNewRefsInference() { - doTest(myDefaultHint); - } - - public void testNewRefsInference1() { - doTest(); - } - - public void testAmbiguity() { - doTest(); - } - - public void testSubst() { - doTest(); - } - - public void testTypeElementOnTheLeft() { - doTest(); - } - - public void testNewDefaultConstructor() { - doTest(); - } - - public void testArrayConstructorRef() { - doTest(); - } - - public void testArrayConstructorRef2Dim() { - doTest(); - } - - public void testArrayMethodRef() { - doTest(myDefaultHint ); - } - - public void testArrayConstructorRefUniqueParamName() { - doTest(); - } - - public void testNameConflicts() { - doTest(); - } - - public void testIntroduceVariableForSideEffectQualifier() { - doTest(myDefaultHint + " (side effects)"); - } - - public void testIntroduceVariableForNewInQualifier() { - doTest(myDefaultHint + " (side effects)"); - } - - public void testCollapseToExpressionLambdaWhenCast() { - doTest(); - } - - public void testPreserveExpressionQualifier() { - doTest(); - } - - public void testNoUnderscoreInLambdaParameterName() { - doTest(); - } - - public void testNoCastWhereCaptureArgIsExpected() { - doTest(); - } - public void testCaptureOnInvalidatedReference() { - doTest(); - } - public void testCaptureOnInvalidatedReference1() { - doTest(); - } - - public void testSpecifyFormalParameterTypesWhenMethodReferenceWasExactAndTypeOfParameterIsUnknown() { - doTest(); - } - - public void testNewArrayMethodReferenceHasNoSideEffects() { doTest(); } - public void testExplicitTypeRequired() { doTest(); } - - public void testNestedClassReference(){ - doTest(); - } - - public void testLocalClassReference(){ - doTest(); - } - - public void testEnsureNoConversionIsSuggestedWhenLambdaWithoutCantBeInferredAndFormalParametersAreNotDenotable() { - assertQuickfixNotAvailable(); - } - - public void testBrokenPrimitiveArray() { - doTest(); - } - - public void testLocalGenericClass() { doTest(); } - public void testInnerGenericClass() { doTest(); } - public void testInnerGenericClass2() { doTest(); } } diff --git a/java/openapi/resources/messages/JavaRefactoringBundle.properties b/java/openapi/resources/messages/JavaRefactoringBundle.properties index 6bdb70890f9b..b25ac0c5903d 100644 --- a/java/openapi/resources/messages/JavaRefactoringBundle.properties +++ b/java/openapi/resources/messages/JavaRefactoringBundle.properties @@ -419,7 +419,6 @@ invocations.to.be.inlined=Invocations to be inlined {0} is.modified.in.loop.body={0} is modified in loop body javadoc.for.abstracts=JavaDoc for abstracts keep.original.signature=Keep Original Signature -lambda.to.reference.side.effect.warning.message=There are possible side effects found in method reference qualifier.\nIntroduce local variable? local.variable.description=local variable {0} pattern.variable.description=pattern variable {0} local.will.be.hidden.renamed.description=Renamed field will hide {0} @@ -660,7 +659,6 @@ selected.expression.introduces.pattern.variable=Selected expression introduces p popup.title.choose.class.to.introduce.constant=Choose class to introduce constant popup.title.choose.class.to.introduce.field=Choose class to introduce field setter.method.found.for.the.field.0=Setter method found for the field {0}. \n{1} the setter as well? -side.effects.detected.title=Side Effects Detected source.folder.0.has.package.prefix.1=Source folder {0} has package prefix ''{1}''\nPackage ''{2}'' cannot be created there. static.initializer.description=static initializer of {0} class.initializer.description={0, choice, 0#static|1#instance} initializer