diff --git a/packages/prettier-plugin-java/src/printers/blocks-and-statements.ts b/packages/prettier-plugin-java/src/printers/blocks-and-statements.ts index aada5339..4bdc4476 100644 --- a/packages/prettier-plugin-java/src/printers/blocks-and-statements.ts +++ b/packages/prettier-plugin-java/src/printers/blocks-and-statements.ts @@ -394,9 +394,9 @@ export default { return join(" ", blocks); }, - resourceSpecification(path, print, options) { + resourceSpecification(path, print) { const resources = [call(path, print, "resourceList")]; - if (options.trailingComma !== "none") { + if (path.node.children.Semicolon) { resources.push(ifBreak(";")); } return indentInParentheses(resources); diff --git a/packages/prettier-plugin-java/test/unit-test/try_catch/_input.java b/packages/prettier-plugin-java/test/unit-test/try_catch/_input.java index cbd661ce..d0ad1abf 100644 --- a/packages/prettier-plugin-java/test/unit-test/try_catch/_input.java +++ b/packages/prettier-plugin-java/test/unit-test/try_catch/_input.java @@ -62,4 +62,14 @@ void multiResourceTry() { } } + void multiResourceTryWithTrailingSemi() { + try ( + FirstResource firstResource = new FirstResource(); + SecondResource secondResource = new SecondResource(); + ) { + return br.readLine(); + } catch (ArithmeticException | ArrayIndexOutOfBoundsException e) { + System.out.println("Warning: Not breaking multi exceptions"); + } + } } diff --git a/packages/prettier-plugin-java/test/unit-test/try_catch/_output.java b/packages/prettier-plugin-java/test/unit-test/try_catch/_output.java index 5ff25f01..6a192dd8 100644 --- a/packages/prettier-plugin-java/test/unit-test/try_catch/_output.java +++ b/packages/prettier-plugin-java/test/unit-test/try_catch/_output.java @@ -59,6 +59,17 @@ void resourceTry() { } void multiResourceTry() { + try ( + FirstResource firstResource = new FirstResource(); + SecondResource secondResource = new SecondResource() + ) { + return br.readLine(); + } catch (ArithmeticException | ArrayIndexOutOfBoundsException e) { + System.out.println("Warning: Not breaking multi exceptions"); + } + } + + void multiResourceTryWithTrailingSemi() { try ( FirstResource firstResource = new FirstResource(); SecondResource secondResource = new SecondResource();