mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[java][switch completion] IDEA-271902 Fix the completion tail in case labels
Java didn't use to have switch expressions and the insert handler for switch statements simply inserted ":" at the end of a case label. In the presence of switch expressions such an automatic completion is not correct anymore. The SwitchUtils#isRuleFormatSwitch method checks if the passed switch block is actually a switch expression, this fix allows TailTypes.forSwitchLabel return the correct tail type. Type references in case labels are most likely used as a pattern matching variables, so JavaPsiClassReferenceElement overrides the handleInsert method which checks if it's appropriate to add a pattern variable to the declaration. Signed-off-by: Nikita Eshkeev <nikita.eshkeev@jetbrains.com> GitOrigin-RevId: 7b6d381d528136dbedc181ae756cef374938983a
This commit is contained in:
committed by
intellij-monorepo-bot
parent
db22db3c14
commit
c03aca779d
+8
@@ -0,0 +1,8 @@
|
||||
|
||||
class Main {
|
||||
int f(Object o) {
|
||||
return switch(o) {
|
||||
case Intege<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user