mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
CreateSwitchIntention shouldn't throw on malformed strings
This commit is contained in:
@@ -41,8 +41,11 @@ public class CreateSwitchIntention extends BaseElementAtCaretIntentionAction imp
|
||||
PsiSwitchStatement switchStatement = (PsiSwitchStatement)new CommentTracker().replaceAndRestoreComments(expressionStatement, "switch (" + valueToSwitch + ") {}");
|
||||
CodeStyleManager.getInstance(project).reformat(switchStatement);
|
||||
|
||||
PsiJavaToken lBrace = switchStatement.getBody().getLBrace();
|
||||
editor.getCaretModel().moveToOffset(lBrace.getTextOffset() + lBrace.getTextLength());
|
||||
PsiCodeBlock body = switchStatement.getBody();
|
||||
PsiJavaToken lBrace = body == null ? null : body.getLBrace();
|
||||
if (lBrace != null) {
|
||||
editor.getCaretModel().moveToOffset(lBrace.getTextRange().getEndOffset());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
class Test {
|
||||
void m() {
|
||||
<caret>"\"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
class Test {
|
||||
void m() {
|
||||
<caret>switch ("\") {}
|
||||
}
|
||||
}
|
||||
@@ -63,6 +63,8 @@ public class CreateSwitchTest extends JavaCodeInsightFixtureTestCase {
|
||||
withJava7(this::doTestNotAvailable);
|
||||
}
|
||||
|
||||
public void testNotFailingOnBadEscapes() { withJava7(this::doTest); }
|
||||
|
||||
private void withJava7(Runnable runnable) {
|
||||
final LanguageLevelProjectExtension languageLevelProjectExtension = LanguageLevelProjectExtension.getInstance(getProject());
|
||||
final LanguageLevel oldLanguageLevel = languageLevelProjectExtension.getLanguageLevel();
|
||||
|
||||
Reference in New Issue
Block a user