From bb49afba0d133aa08db91a7c9d2d8488cd5641e5 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Wed, 10 Jun 2020 08:06:34 +0200 Subject: [PATCH] java: keep text blocks escapes as separate feature GitOrigin-RevId: 086115a4a13b983c6a9f116253634fd15dab612e --- .../resources/messages/JavaAnalysisBundle.properties | 1 + .../codeInsight/daemon/impl/analysis/HighlightUtil.java | 4 ++-- .../codeInsight/daemon/impl/analysis/HighlightingFeature.java | 1 + .../advHighlighting/UnsupportedFeatures.java | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/java/java-analysis-api/resources/messages/JavaAnalysisBundle.properties b/java/java-analysis-api/resources/messages/JavaAnalysisBundle.properties index 9b3393f3f0e6..c548479b1c6b 100644 --- a/java/java-analysis-api/resources/messages/JavaAnalysisBundle.properties +++ b/java/java-analysis-api/resources/messages/JavaAnalysisBundle.properties @@ -109,6 +109,7 @@ feature.modules=Modules feature.lvti=Local variable type inference feature.var.lambda.parameter='var' in lambda parameters feature.text.blocks=Text block literals +feature.text.block.escape.sequences='\\s' and '\\' escape sequences feature.enhanced.switch=Enhanced 'switch' blocks feature.switch.expressions='switch' expressions feature.records=Records diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java index 2db51915d3a9..ec985ff4a6e9 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java @@ -1218,13 +1218,13 @@ public class HighlightUtil { } else { if (file != null && containsUnescaped(text, "\\\n")) { - final HighlightInfo info = checkFeature(expression, HighlightingFeature.TEXT_BLOCKS, level, file); + final HighlightInfo info = checkFeature(expression, HighlightingFeature.TEXT_BLOCK_ESCAPES, level, file); if (info != null) return info; } } } if (file != null && containsUnescaped(text, "\\s")) { - final HighlightInfo info = checkFeature(expression, HighlightingFeature.TEXT_BLOCKS, level, file); + final HighlightInfo info = checkFeature(expression, HighlightingFeature.TEXT_BLOCK_ESCAPES, level, file); if (info != null) return info; } } diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightingFeature.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightingFeature.java index 4d8a54e17293..c10861dce135 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightingFeature.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightingFeature.java @@ -36,6 +36,7 @@ public enum HighlightingFeature { SWITCH_EXPRESSION(LanguageLevel.JDK_14, "feature.switch.expressions"), RECORDS(LanguageLevel.JDK_14_PREVIEW, "feature.records"), PATTERNS(LanguageLevel.JDK_14_PREVIEW, "feature.patterns.instanceof"), + TEXT_BLOCK_ESCAPES(LanguageLevel.JDK_14_PREVIEW, "feature.text.block.escape.sequences"), TEXT_BLOCKS(LanguageLevel.JDK_14_PREVIEW, "feature.text.blocks") { @Override boolean isSufficient(@NotNull LanguageLevel useSiteLevel) { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/UnsupportedFeatures.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/UnsupportedFeatures.java index 6ce41f0aef1d..58c9d398baa6 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/UnsupportedFeatures.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/UnsupportedFeatures.java @@ -23,6 +23,6 @@ class UnsupportedFeatures { String raw = """hi there"""; - String spaceEscapeSeq = "\s"; + String spaceEscapeSeq = "\s"; } } \ No newline at end of file