diff --git a/java/java-analysis-impl/src/com/siyeh/ig/style/ConstantExpressionInspection.java b/java/java-analysis-impl/src/com/siyeh/ig/style/ConstantExpressionInspection.java index c5d5bc601438..a67ddb238365 100644 --- a/java/java-analysis-impl/src/com/siyeh/ig/style/ConstantExpressionInspection.java +++ b/java/java-analysis-impl/src/com/siyeh/ig/style/ConstantExpressionInspection.java @@ -162,7 +162,7 @@ public final class ConstantExpressionInspection extends AbstractBaseJavaLocalIns newExpression = '"' + StringUtil.escapeStringCharacters(string) + '"'; } else if (value instanceof Character) { - newExpression = '\'' + StringUtil.escapeStringCharacters(value.toString()) + '\''; + newExpression = '\'' + StringUtil.escapeCharCharacters(value.toString()) + '\''; } else if (value instanceof Long) { newExpression = value.toString() + 'L'; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/constantExpression/afterCharQuote.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/constantExpression/afterCharQuote.java new file mode 100644 index 000000000000..fe09f85d5192 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/constantExpression/afterCharQuote.java @@ -0,0 +1,12 @@ +// "Compute constant value of 'SINGLE_QUOTE'" "true-preview" + +class ConstantCast { + public static final char SINGLE_QUOTE = '\''; + + static void doSomething(Object o) { + } + + public static void main(String[] args) { + doSomething('\''); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/constantExpression/beforeCharQuote.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/constantExpression/beforeCharQuote.java new file mode 100644 index 000000000000..11a4fdfc821e --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/constantExpression/beforeCharQuote.java @@ -0,0 +1,12 @@ +// "Compute constant value of 'SINGLE_QUOTE'" "true-preview" + +class ConstantCast { + public static final char SINGLE_QUOTE = '\''; + + static void doSomething(Object o) { + } + + public static void main(String[] args) { + doSomething(SINGLE_QUOTE); + } +} \ No newline at end of file