diff --git a/java/java-impl-inspections/src/com/intellij/codeInspection/ManualMinMaxCalculationInspection.java b/java/java-impl-inspections/src/com/intellij/codeInspection/ManualMinMaxCalculationInspection.java index f46af47b75b4..2c554cb6a47c 100644 --- a/java/java-impl-inspections/src/com/intellij/codeInspection/ManualMinMaxCalculationInspection.java +++ b/java/java-impl-inspections/src/com/intellij/codeInspection/ManualMinMaxCalculationInspection.java @@ -1,4 +1,4 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.codeInspection; import com.intellij.codeInspection.ui.MultipleCheckboxOptionsPanel; @@ -116,7 +116,7 @@ public class ManualMinMaxCalculationInspection extends AbstractBaseJavaLocalInsp @NotNull @Override public String getFamilyName() { - return CommonQuickFixBundle.message("fix.replace.with.x", "Math." + (myUseMathMin ? "min" : "max")); + return CommonQuickFixBundle.message("fix.replace.with.x.call", "Math." + (myUseMathMin ? "min()" : "max()")); } @Override diff --git a/java/java-impl/src/inspectionDescriptions/ManualMinMaxCalculation.html b/java/java-impl/src/inspectionDescriptions/ManualMinMaxCalculation.html index 4c055cd0ed17..8cf7591b5597 100644 --- a/java/java-impl/src/inspectionDescriptions/ManualMinMaxCalculation.html +++ b/java/java-impl/src/inspectionDescriptions/ManualMinMaxCalculation.html @@ -1,8 +1,8 @@ Reports cases where the minimum or the maximum of two numbers can be calculated using -a Math.max() or Math.min() call instead of doing it manually. -

Example:

+a Math.max() or Math.min() call, instead of doing it manually. +

Example:


   public int min(int a, int b) {
     return b < a ? b : a;
@@ -16,10 +16,10 @@ a Math.max() or Math.min() call instead of doing it ma
 

- Use the Disable for float and double option to disable this inspection for double and float. - This is useful because the quick-fix may slightly break semantics for float/ - double when handling NaN. Nevertheless, in most cases it will actually fix - the subtle bug when users do not care about NaN. + Use the Disable for float and double option to disable this inspection for double and float types. + This is useful because the quick-fix may slightly change the semantics for float/ + double types when handling NaN. Nevertheless, in most cases this will actually fix + a subtle bug where NaN is not taken into account.

New in 2019.2

diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterConditional.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterConditional.java index 6a0662021a9f..3197a0fd0f3c 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterConditional.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterConditional.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.max'" "true" +// "Replace with 'Math.max()' call" "true" class Test { void test(int a, int b) { /*1*/ diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterDeclarationBeforeIf.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterDeclarationBeforeIf.java index 807c9b08bf79..3b42ca3e3d95 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterDeclarationBeforeIf.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterDeclarationBeforeIf.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.min'" "true" +// "Replace with 'Math.min()' call" "true" class Test { void test(int maxDrain) { diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterIf.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterIf.java index 949bc45b956c..c07b15ac71ac 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterIf.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterIf.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.min'" "true" +// "Replace with 'Math.min()' call" "true" class Test { void test(int a, int b) { diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterIfWithImplicitElse.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterIfWithImplicitElse.java index 6a4f15ac3236..48c076d31d1b 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterIfWithImplicitElse.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterIfWithImplicitElse.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.min'" "true" +// "Replace with 'Math.min()' call" "true" class Test { public int mymin(int a, int b) { diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterImplicitAssignment.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterImplicitAssignment.java index c850fa29fcb4..596e1dd739b6 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterImplicitAssignment.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterImplicitAssignment.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.min'" "true" +// "Replace with 'Math.min()' call" "true" class X { void test(int a, int b) { int c = Math.min(a, b); diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterInnerConditional.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterInnerConditional.java index 9ac53e95fa38..4084db0a6f3a 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterInnerConditional.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterInnerConditional.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.max'" "true" +// "Replace with 'Math.max()' call" "true" class Test { void test(int a, int b, int c) { diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterLEConditional.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterLEConditional.java index 6d927d561690..dfba369c9566 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterLEConditional.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterLEConditional.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.min'" "true" +// "Replace with 'Math.min()' call" "true" class Test { void test(int a, int b) { int c = Math.min(a, b); diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterReturnFromIf.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterReturnFromIf.java index 5aa80b271a5d..52ca8ef628c6 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterReturnFromIf.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterReturnFromIf.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.max'" "true" +// "Replace with 'Math.max()' call" "true" class Test { class A { diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterSwitchInIf.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterSwitchInIf.java index 0a358528b0e9..3b36ea918f98 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/afterSwitchInIf.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/afterSwitchInIf.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.min'" "true" +// "Replace with 'Math.min()' call" "true" class Test { void test(int a, int b, String s) { diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeConditional.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeConditional.java index 4ceada3320fe..e826aa85cb60 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeConditional.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeConditional.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.max'" "true" +// "Replace with 'Math.max()' call" "true" class Test { void test(int a, int b) { int c/*0*/ = (((a) > /*1*/(b)) ? /*2*/(a) : /*3*/(b)); diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeDeclarationBeforeIf.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeDeclarationBeforeIf.java index 10a0c867c7c0..61475e06f58f 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeDeclarationBeforeIf.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeDeclarationBeforeIf.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.min'" "true" +// "Replace with 'Math.min()' call" "true" class Test { void test(int maxDrain) { diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeIf.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeIf.java index ba35db471ae6..41ec61e03f52 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeIf.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeIf.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.min'" "true" +// "Replace with 'Math.min()' call" "true" class Test { void test(int a, int b) { diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeIfWithImplicitElse.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeIfWithImplicitElse.java index cf0a55ba4ed6..1f5142ef0f7c 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeIfWithImplicitElse.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeIfWithImplicitElse.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.min'" "true" +// "Replace with 'Math.min()' call" "true" class Test { public int mymin(int a, int b) { diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeImplicitAssignment.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeImplicitAssignment.java index 89a75150f5a6..3608b716a059 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeImplicitAssignment.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeImplicitAssignment.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.min'" "true" +// "Replace with 'Math.min()' call" "true" class X { void test(int a, int b) { int c; diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeInnerConditional.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeInnerConditional.java index d51a2aef1720..b7bad6e83deb 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeInnerConditional.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeInnerConditional.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.max'" "true" +// "Replace with 'Math.max()' call" "true" class Test { void test(int a, int b, int c) { diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeLEConditional.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeLEConditional.java index c15be3750813..97e099869d36 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeLEConditional.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeLEConditional.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.min'" "true" +// "Replace with 'Math.min()' call" "true" class Test { void test(int a, int b) { int c = a <= b ? a : b; diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeReturnFromIf.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeReturnFromIf.java index 95536b869ea0..c181abb825c2 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeReturnFromIf.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeReturnFromIf.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.max'" "true" +// "Replace with 'Math.max()' call" "true" class Test { class A { diff --git a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeSwitchInIf.java b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeSwitchInIf.java index 000063345382..8f696891aece 100644 --- a/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeSwitchInIf.java +++ b/java/java-tests/testData/inspection/manualMinMaxCalculation/beforeSwitchInIf.java @@ -1,4 +1,4 @@ -// "Replace with 'Math.min'" "true" +// "Replace with 'Math.min()' call" "true" class Test { void test(int a, int b, String s) { diff --git a/java/openapi/resources/messages/JavaBundle.properties b/java/openapi/resources/messages/JavaBundle.properties index 4023df7c5143..5cd690671b20 100644 --- a/java/openapi/resources/messages/JavaBundle.properties +++ b/java/openapi/resources/messages/JavaBundle.properties @@ -513,7 +513,7 @@ inspection.labeled.switch.rule.redundant.code.block.message=Labeled rule's code inspection.labeled.switch.rule.redundant.code.fix.name=Unwrap code block of labeled rule inspection.lambda.to.method.call.fix.family.name=Replace lambda expression with method call inspection.lambda.to.method.call.fix.name=Replace lambda expression with ''{0}'' -inspection.manual.min.max.calculation.description=Can be replaced with ''Math.{0}'' call +inspection.manual.min.max.calculation.description=Can be replaced with ''Math.{0}()'' call inspection.manual.min.max.calculation.disable.for.non.integral=Disable for float and double inspection.map.foreach.display.name=Map.forEach() can be used inspection.map.foreach.option.no.loops=Do not report loops diff --git a/platform/analysis-api/resources/messages/CommonQuickFixBundle.properties b/platform/analysis-api/resources/messages/CommonQuickFixBundle.properties index 55ae87ed0586..140a8a486d3f 100644 --- a/platform/analysis-api/resources/messages/CommonQuickFixBundle.properties +++ b/platform/analysis-api/resources/messages/CommonQuickFixBundle.properties @@ -14,6 +14,7 @@ fix.remove.redundant=Remove redundant ''{0}'' fix.remove.statement=Remove ''{0}'' statement fix.replace.with.x=Replace with ''{0}'' +fix.replace.with.x.call=Replace with ''{0}'' call fix.can.replace.with.x=Can be replaced with ''{0}'' fix.replace.x.with.y=Replace ''{0}'' with ''{1}'' fix.can.replace.x.with.y=''{0}'' can be replaced with ''{1}''