Java: update "Non-terminal use of '\\s' escape sequence" now that PsiTemplate is not an expression anymore (IDEA-326944)

GitOrigin-RevId: cea018045f87fad01824bf68ebf10ecdb798e39d
This commit is contained in:
Bas Leijdekkers
2023-08-04 17:53:23 +02:00
committed by intellij-monorepo-bot
parent 5ca7339356
commit edfa8f41a5
3 changed files with 9 additions and 3 deletions

View File

@@ -11,6 +11,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.*;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.PsiReplacementUtil;
import com.siyeh.ig.psiutils.TypeUtils;
import it.unimi.dsi.fastutil.ints.IntArrayList;
import it.unimi.dsi.fastutil.ints.IntList;
@@ -108,7 +109,12 @@ public class EscapedSpaceInspection extends AbstractBaseJavaLocalInspectionTool
.append(text.length())
.pairMap((start, end) -> text.substring(start + 2, end))
.joining(" ");
element.replace(JavaPsiFacade.getElementFactory(project).createExpressionFromText(newText, null));
if (element instanceof PsiFragment) {
PsiReplacementUtil.replaceFragment((PsiFragment)element, newText);
}
else {
element.replace(JavaPsiFacade.getElementFactory(project).createExpressionFromText(newText, null));
}
}
}
}

View File

@@ -4,6 +4,6 @@ class X {
String x() {
return STR."""
\{ }"""
\{} \{}"""
}
}

View File

@@ -4,6 +4,6 @@ class X {
String x() {
return STR."""
<caret>\s\{}"""
\{}<caret>\s\{}"""
}
}