jhipster / prettier-java

Prettier Java Plugin
http://www.jhipster.tech/prettier-java/
Apache License 2.0
1.08k stars 103 forks source link

Multiple members pattern in switch expression not fully supported #665

Closed NolwennD closed 3 months ago

NolwennD commented 5 months ago

Prettier-Java 3.2.5

Input:

public sealed interface SadPanda {

  default String cry() {
    return switch(this) {
      case A _, B _, C _ -> "A lot";
    };
  }

  record A() implements SadPanda {}
  record B() implements SadPanda {}
  record C() implements SadPanda {}
}

Output:

npx prettier src/main/java/SadPanda.java 
[error] src/main/java/SadPanda.java: Error: Sad sad panda, parsing errors detected in line: 6, column: 19!
[error] Expecting --> '->' <-- but found --> '_' <--!
[error]         ->compilationUnit
[error]         ->ordinaryCompilationUnit
[error]         ->typeDeclaration
[error]         ->interfaceDeclaration
[error]         ->normalInterfaceDeclaration
[error]         ->interfaceBody
[error]         ->interfaceMemberDeclaration
[error]         ->interfaceMethodDeclaration
[error]         ->methodBody
[error]         ->block
[error]         ->blockStatements
[error]         ->blockStatement
[error]         ->statement
[error]         ->statementWithoutTrailingSubstatement
[error]         ->returnStatement
[error]         ->expression
[error]         ->ternaryExpression
[error]         ->binaryExpression
[error]         ->unaryExpression
[error]         ->primary
[error]         ->primaryPrefix
[error]         ->switchStatement
[error]         ->switchBlock
[error]         ->switchRule

Expected behavior: