prettier-plugin-java 2.4.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/LICENSE +1 -1
  2. package/dist/base-cst-printer.js +22 -44
  3. package/dist/cst-printer.js +19 -27
  4. package/dist/index.js +19 -20
  5. package/dist/options.js +16 -21
  6. package/dist/parser.js +2 -4
  7. package/dist/printer.js +3 -5
  8. package/dist/printers/arrays.js +17 -41
  9. package/dist/printers/blocks-and-statements.js +289 -356
  10. package/dist/printers/classes.js +451 -495
  11. package/dist/printers/comments/comments-utils.js +5 -13
  12. package/dist/printers/comments/format-comments.js +34 -50
  13. package/dist/printers/comments/handle-comments.js +17 -23
  14. package/dist/printers/expressions.js +378 -386
  15. package/dist/printers/interfaces.js +148 -181
  16. package/dist/printers/lexical-structure.js +26 -58
  17. package/dist/printers/names.js +29 -53
  18. package/dist/printers/packages-and-modules.js +116 -143
  19. package/dist/printers/prettier-builder.js +21 -31
  20. package/dist/printers/printer-utils.js +173 -221
  21. package/dist/printers/types-values-and-variables.js +111 -149
  22. package/dist/types/utils.js +6 -15
  23. package/dist/utils/expressions-utils.js +7 -11
  24. package/dist/utils/index.js +2 -12
  25. package/dist/utils/isEmptyDoc.js +2 -4
  26. package/dist/utils/printArgumentListWithBraces.js +29 -19
  27. package/dist/utils/printSingleLambdaInvocation.js +15 -17
  28. package/package.json +10 -13
  29. package/dist/src/base-cst-printer.js +0 -77
  30. package/dist/src/cst-printer.js +0 -37
  31. package/dist/src/index.js +0 -67
  32. package/dist/src/options.js +0 -256
  33. package/dist/src/parser.js +0 -7
  34. package/dist/src/printer.js +0 -28
  35. package/dist/src/printers/arrays.js +0 -49
  36. package/dist/src/printers/blocks-and-statements.js +0 -493
  37. package/dist/src/printers/classes.js +0 -724
  38. package/dist/src/printers/comments/comments-utils.js +0 -29
  39. package/dist/src/printers/comments/format-comments.js +0 -187
  40. package/dist/src/printers/comments/handle-comments.js +0 -38
  41. package/dist/src/printers/expressions.js +0 -549
  42. package/dist/src/printers/interfaces.js +0 -251
  43. package/dist/src/printers/lexical-structure.js +0 -43
  44. package/dist/src/printers/names.js +0 -53
  45. package/dist/src/printers/packages-and-modules.js +0 -185
  46. package/dist/src/printers/prettier-builder.js +0 -47
  47. package/dist/src/printers/printer-utils.js +0 -577
  48. package/dist/src/printers/types-values-and-variables.js +0 -183
  49. package/dist/src/types/utils.js +0 -29
  50. package/dist/src/utils/expressions-utils.js +0 -29
  51. package/dist/src/utils/index.js +0 -10
  52. package/dist/src/utils/printArgumentListWithBraces.js +0 -21
  53. package/dist/src/utils/printSingleLambdaInvocation.js +0 -20
  54. package/dist/test/babel-register.js +0 -3
  55. package/dist/test/repository-test/core-test.js +0 -12
  56. package/dist/test/repository-test/jhipster-1-test.js +0 -17
  57. package/dist/test/repository-test/jhipster-2-test.js +0 -16
  58. package/dist/test/test-utils.js +0 -215
  59. package/dist/test/unit-test/annotation_type_declaration/annotation_type_declaration-spec.js +0 -6
  60. package/dist/test/unit-test/args/args-spec.js +0 -6
  61. package/dist/test/unit-test/assert/assert-spec.js +0 -6
  62. package/dist/test/unit-test/binary_expressions/binary_expressions-spec.js +0 -6
  63. package/dist/test/unit-test/blank_lines/blank_lines-spec.js +0 -6
  64. package/dist/test/unit-test/bug-fixes/bug-fixes-spec.js +0 -6
  65. package/dist/test/unit-test/cast/cast-spec.js +0 -6
  66. package/dist/test/unit-test/char_literal/char_literal-spec.js +0 -6
  67. package/dist/test/unit-test/classes/multiple_classes-spec.js +0 -6
  68. package/dist/test/unit-test/comments/comments-spec.js +0 -14
  69. package/dist/test/unit-test/complex_generic_class/complex_generic_class-spec.js +0 -6
  70. package/dist/test/unit-test/constructors/constructors-spec.js +0 -6
  71. package/dist/test/unit-test/empty_statement/empty_statement-spec.js +0 -6
  72. package/dist/test/unit-test/enum/enum-spec.js +0 -6
  73. package/dist/test/unit-test/expressions/expressions-spec.js +0 -6
  74. package/dist/test/unit-test/extends_abstract_class/extends_abstract_class-spec.js +0 -6
  75. package/dist/test/unit-test/extends_abstract_class_and_implements_interfaces/extends_abstract_class_and_implements_interfaces-spec.js +0 -6
  76. package/dist/test/unit-test/for/for-spec.js +0 -6
  77. package/dist/test/unit-test/generic_class/generic_class-spec.js +0 -6
  78. package/dist/test/unit-test/generic_questionmark/generic_questionmark-spec.js +0 -6
  79. package/dist/test/unit-test/hello-world/hello-word-spec.js +0 -6
  80. package/dist/test/unit-test/if/if-spec.js +0 -6
  81. package/dist/test/unit-test/indent/indent-spec.js +0 -6
  82. package/dist/test/unit-test/instantiation/instantiation-spec.js +0 -6
  83. package/dist/test/unit-test/interface/interface-spec.js +0 -6
  84. package/dist/test/unit-test/lambda/lambda-spec.js +0 -6
  85. package/dist/test/unit-test/marker_annotations/marker_annotations-spec.js +0 -6
  86. package/dist/test/unit-test/member_chain/member_chain-spec.js +0 -6
  87. package/dist/test/unit-test/method_reference/method_reference-spec.js +0 -6
  88. package/dist/test/unit-test/modifiers/modifiers-spec.js +0 -6
  89. package/dist/test/unit-test/modules/modules-spec.js +0 -6
  90. package/dist/test/unit-test/package_and_imports/package_and_imports-spec.js +0 -34
  91. package/dist/test/unit-test/pattern-matching/pattern-matching-spec.js +0 -6
  92. package/dist/test/unit-test/prettier-ignore/prettier-ignore-spec.js +0 -28
  93. package/dist/test/unit-test/records/records-spec.js +0 -6
  94. package/dist/test/unit-test/return/return-spec.js +0 -6
  95. package/dist/test/unit-test/sealed/sealed-spec.js +0 -6
  96. package/dist/test/unit-test/snippets/arrays/array-initializer.spec.js +0 -94
  97. package/dist/test/unit-test/snippets/arrays/variable-initializer-list.spec.js +0 -19
  98. package/dist/test/unit-test/snippets/blocks-and-statements/switch.spec.js +0 -26
  99. package/dist/test/unit-test/snippets/classes/class-body.spec.js +0 -181
  100. package/dist/test/unit-test/snippets/classes/enum-body.spec.js +0 -87
  101. package/dist/test/unit-test/snippets/classes/variableDeclarator/test.spec.js +0 -186
  102. package/dist/test/unit-test/snippets/interfaces/element-value-array-initializer.spec.js +0 -85
  103. package/dist/test/unit-test/snippets/names/ambiguousName/test.spec.js +0 -19
  104. package/dist/test/unit-test/snippets/names/expressionName/test.spec.js +0 -19
  105. package/dist/test/unit-test/snippets/names/methodName/test.spec.js +0 -12
  106. package/dist/test/unit-test/snippets/names/packageOrTypeName/test.spec.js +0 -19
  107. package/dist/test/unit-test/snippets/types-values-and-variables/floatingPointType/test.spec.js +0 -19
  108. package/dist/test/unit-test/snippets/types-values-and-variables/integralType/test.spec.js +0 -40
  109. package/dist/test/unit-test/snippets/types-values-and-variables/numericType/test.spec.js +0 -88
  110. package/dist/test/unit-test/snippets/types-values-and-variables/wildcard/test.spec.js +0 -112
  111. package/dist/test/unit-test/snippets/types-values-and-variables/wildcardBounds/test.spec.js +0 -81
  112. package/dist/test/unit-test/switch/switch-spec.js +0 -6
  113. package/dist/test/unit-test/synchronized/synchronized-spec.js +0 -6
  114. package/dist/test/unit-test/text-blocks/text-block-spec.js +0 -6
  115. package/dist/test/unit-test/throws/throws-spec.js +0 -6
  116. package/dist/test/unit-test/try_catch/try_catch-spec.js +0 -6
  117. package/dist/test/unit-test/types/types-spec.js +0 -6
  118. package/dist/test/unit-test/variables/variables-spec.js +0 -6
  119. package/dist/test/unit-test/while/while-spec.js +0 -6
  120. package/dist/test/unit-test/yield-statement/yield-statement-spec.js +0 -6
@@ -1,103 +1,61 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
29
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
- if (ar || !(i in from)) {
31
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
32
- ar[i] = from[i];
33
- }
1
+ import { builders } from "prettier/doc";
2
+ import { concat, group, indent, join } from "./prettier-builder.js";
3
+ import { printTokenWithComments } from "./comments/format-comments.js";
4
+ import { hasLeadingLineComments, hasTrailingLineComments } from "./comments/comments-utils.js";
5
+ import { displaySemicolon, getBlankLinesSeparator, isStatementEmptyStatement, putIntoBraces, rejectAndConcat, rejectAndJoin, rejectAndJoinSeps, rejectSeparators, sortModifiers } from "./printer-utils.js";
6
+ import { BaseCstPrettierPrinter } from "../base-cst-printer.js";
7
+ const { line, softline, hardline } = builders;
8
+ export class BlocksAndStatementPrettierVisitor extends BaseCstPrettierPrinter {
9
+ block(ctx) {
10
+ const blockStatements = this.visit(ctx.blockStatements);
11
+ return putIntoBraces(blockStatements, hardline, ctx.LCurly[0], ctx.RCurly[0]);
34
12
  }
35
- return to.concat(ar || Array.prototype.slice.call(from));
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.BlocksAndStatementPrettierVisitor = void 0;
39
- var doc_1 = require("prettier/doc");
40
- var prettier_builder_1 = require("./prettier-builder");
41
- var format_comments_1 = require("./comments/format-comments");
42
- var comments_utils_1 = require("./comments/comments-utils");
43
- var printer_utils_1 = require("./printer-utils");
44
- var base_cst_printer_1 = require("../base-cst-printer");
45
- var line = doc_1.builders.line, softline = doc_1.builders.softline, hardline = doc_1.builders.hardline;
46
- var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
47
- __extends(BlocksAndStatementPrettierVisitor, _super);
48
- function BlocksAndStatementPrettierVisitor() {
49
- return _super !== null && _super.apply(this, arguments) || this;
50
- }
51
- BlocksAndStatementPrettierVisitor.prototype.block = function (ctx) {
52
- var blockStatements = this.visit(ctx.blockStatements);
53
- return (0, printer_utils_1.putIntoBraces)(blockStatements, hardline, ctx.LCurly[0], ctx.RCurly[0]);
54
- };
55
- BlocksAndStatementPrettierVisitor.prototype.blockStatements = function (ctx) {
56
- var blockStatement = this.mapVisit(ctx.blockStatement);
57
- var separators = (0, printer_utils_1.rejectSeparators)((0, printer_utils_1.getBlankLinesSeparator)(ctx.blockStatement), blockStatement);
58
- return (0, printer_utils_1.rejectAndJoinSeps)(separators, blockStatement);
59
- };
60
- BlocksAndStatementPrettierVisitor.prototype.blockStatement = function (ctx) {
13
+ blockStatements(ctx) {
14
+ const blockStatement = this.mapVisit(ctx.blockStatement);
15
+ const separators = rejectSeparators(getBlankLinesSeparator(ctx.blockStatement), blockStatement);
16
+ return rejectAndJoinSeps(separators, blockStatement);
17
+ }
18
+ blockStatement(ctx) {
61
19
  return this.visitSingle(ctx);
62
- };
63
- BlocksAndStatementPrettierVisitor.prototype.localVariableDeclarationStatement = function (ctx) {
64
- var localVariableDeclaration = this.visit(ctx.localVariableDeclaration);
65
- return (0, printer_utils_1.rejectAndConcat)([localVariableDeclaration, ctx.Semicolon[0]]);
66
- };
67
- BlocksAndStatementPrettierVisitor.prototype.localVariableDeclaration = function (ctx) {
68
- var modifiers = (0, printer_utils_1.sortModifiers)(ctx.variableModifier);
69
- var firstAnnotations = this.mapVisit(modifiers[0]);
70
- var finalModifiers = this.mapVisit(modifiers[1]);
71
- var localVariableType = this.visit(ctx.localVariableType);
72
- var variableDeclaratorList = this.visit(ctx.variableDeclaratorList);
73
- return (0, printer_utils_1.rejectAndJoin)(hardline, [
74
- (0, printer_utils_1.rejectAndJoin)(hardline, firstAnnotations),
75
- (0, printer_utils_1.rejectAndJoin)(" ", [
76
- (0, printer_utils_1.rejectAndJoin)(" ", finalModifiers),
20
+ }
21
+ localVariableDeclarationStatement(ctx) {
22
+ const localVariableDeclaration = this.visit(ctx.localVariableDeclaration);
23
+ return rejectAndConcat([localVariableDeclaration, ctx.Semicolon[0]]);
24
+ }
25
+ localVariableDeclaration(ctx) {
26
+ const modifiers = sortModifiers(ctx.variableModifier);
27
+ const firstAnnotations = this.mapVisit(modifiers[0]);
28
+ const finalModifiers = this.mapVisit(modifiers[1]);
29
+ const localVariableType = this.visit(ctx.localVariableType);
30
+ const variableDeclaratorList = this.visit(ctx.variableDeclaratorList);
31
+ return rejectAndJoin(hardline, [
32
+ rejectAndJoin(hardline, firstAnnotations),
33
+ rejectAndJoin(" ", [
34
+ rejectAndJoin(" ", finalModifiers),
77
35
  localVariableType,
78
36
  variableDeclaratorList
79
37
  ])
80
38
  ]);
81
- };
82
- BlocksAndStatementPrettierVisitor.prototype.localVariableType = function (ctx) {
39
+ }
40
+ localVariableType(ctx) {
83
41
  if (ctx.unannType) {
84
42
  return this.visitSingle(ctx);
85
43
  }
86
- return (0, format_comments_1.printTokenWithComments)(this.getSingle(ctx));
87
- };
88
- BlocksAndStatementPrettierVisitor.prototype.statement = function (ctx, params) {
44
+ return printTokenWithComments(this.getSingle(ctx));
45
+ }
46
+ statement(ctx, params) {
89
47
  // handling Labeled statements comments
90
48
  if (ctx.labeledStatement !== undefined) {
91
- var newLabelStatement = __assign({}, ctx.labeledStatement[0]);
92
- var newColon = __assign({}, ctx.labeledStatement[0].children.Colon[0]);
93
- var newStatement = __assign({}, ctx.labeledStatement[0].children.statement[0]);
94
- var labeledStatementLeadingComments = [];
49
+ const newLabelStatement = Object.assign({}, ctx.labeledStatement[0]);
50
+ const newColon = Object.assign({}, ctx.labeledStatement[0].children.Colon[0]);
51
+ const newStatement = Object.assign({}, ctx.labeledStatement[0].children.statement[0]);
52
+ const labeledStatementLeadingComments = [];
95
53
  if (newColon.trailingComments !== undefined) {
96
- labeledStatementLeadingComments.push.apply(labeledStatementLeadingComments, newColon.trailingComments);
54
+ labeledStatementLeadingComments.push(...newColon.trailingComments);
97
55
  delete newColon.trailingComments;
98
56
  }
99
57
  if (newStatement.leadingComments !== undefined) {
100
- labeledStatementLeadingComments.push.apply(labeledStatementLeadingComments, newStatement.leadingComments);
58
+ labeledStatementLeadingComments.push(...newStatement.leadingComments);
101
59
  delete newStatement.leadingComments;
102
60
  }
103
61
  if (labeledStatementLeadingComments.length !== 0) {
@@ -108,129 +66,128 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
108
66
  return this.visit([newLabelStatement]);
109
67
  }
110
68
  return this.visitSingle(ctx, params);
111
- };
112
- BlocksAndStatementPrettierVisitor.prototype.statementWithoutTrailingSubstatement = function (ctx, params) {
69
+ }
70
+ statementWithoutTrailingSubstatement(ctx, params) {
113
71
  return this.visitSingle(ctx, params);
114
- };
115
- BlocksAndStatementPrettierVisitor.prototype.emptyStatement = function (ctx, params) {
116
- return (0, printer_utils_1.displaySemicolon)(ctx.Semicolon[0], params);
117
- };
118
- BlocksAndStatementPrettierVisitor.prototype.labeledStatement = function (ctx) {
119
- var identifier = ctx.Identifier[0];
120
- var statement = this.visit(ctx.statement);
121
- return (0, printer_utils_1.rejectAndJoin)(ctx.Colon[0], [identifier, statement]);
122
- };
123
- BlocksAndStatementPrettierVisitor.prototype.expressionStatement = function (ctx) {
124
- var statementExpression = this.visit(ctx.statementExpression);
125
- return (0, printer_utils_1.rejectAndConcat)([statementExpression, ctx.Semicolon[0]]);
126
- };
127
- BlocksAndStatementPrettierVisitor.prototype.statementExpression = function (ctx) {
72
+ }
73
+ emptyStatement(ctx, params) {
74
+ return displaySemicolon(ctx.Semicolon[0], params);
75
+ }
76
+ labeledStatement(ctx) {
77
+ const identifier = ctx.Identifier[0];
78
+ const statement = this.visit(ctx.statement);
79
+ return rejectAndJoin(ctx.Colon[0], [identifier, statement]);
80
+ }
81
+ expressionStatement(ctx) {
82
+ const statementExpression = this.visit(ctx.statementExpression);
83
+ return rejectAndConcat([statementExpression, ctx.Semicolon[0]]);
84
+ }
85
+ statementExpression(ctx) {
128
86
  return this.visitSingle(ctx);
129
- };
130
- BlocksAndStatementPrettierVisitor.prototype.ifStatement = function (ctx) {
131
- var expression = this.visit(ctx.expression);
132
- var ifStatement = this.visit(ctx.statement[0], {
87
+ }
88
+ ifStatement(ctx) {
89
+ var _a;
90
+ const expression = this.visit(ctx.expression);
91
+ const ifStatement = this.visit(ctx.statement[0], {
133
92
  allowEmptyStatement: true
134
93
  });
135
- var ifSeparator = (0, printer_utils_1.isStatementEmptyStatement)(ifStatement) ? "" : " ";
136
- var elsePart = "";
94
+ const ifSeparator = isStatementEmptyStatement(ifStatement) ? "" : " ";
95
+ let elsePart = "";
137
96
  if (ctx.Else !== undefined) {
138
- var elseStatement = this.visit(ctx.statement[1], {
97
+ const elseStatement = this.visit(ctx.statement[1], {
139
98
  allowEmptyStatement: true
140
99
  });
141
- var elseSeparator = (0, printer_utils_1.isStatementEmptyStatement)(elseStatement) ? "" : " ";
142
- var elseOnSameLine = (0, comments_utils_1.hasTrailingLineComments)(ctx.statement[0]) ||
143
- (0, comments_utils_1.hasLeadingLineComments)(ctx.Else[0])
100
+ const elseSeparator = isStatementEmptyStatement(elseStatement) ? "" : " ";
101
+ const elseOnSameLine = hasTrailingLineComments(ctx.statement[0]) ||
102
+ hasLeadingLineComments(ctx.Else[0]) ||
103
+ !((_a = ctx.statement[0].children.statementWithoutTrailingSubstatement) === null || _a === void 0 ? void 0 : _a[0].children.block)
144
104
  ? hardline
145
105
  : " ";
146
- elsePart = (0, printer_utils_1.rejectAndJoin)(elseSeparator, [
147
- (0, prettier_builder_1.concat)([elseOnSameLine, ctx.Else[0]]),
106
+ elsePart = rejectAndJoin(elseSeparator, [
107
+ concat([elseOnSameLine, ctx.Else[0]]),
148
108
  elseStatement
149
109
  ]);
150
110
  }
151
- return (0, printer_utils_1.rejectAndConcat)([
152
- (0, printer_utils_1.rejectAndJoin)(" ", [
111
+ return rejectAndConcat([
112
+ rejectAndJoin(" ", [
153
113
  ctx.If[0],
154
- (0, prettier_builder_1.concat)([
155
- (0, printer_utils_1.putIntoBraces)(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
114
+ concat([
115
+ putIntoBraces(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
156
116
  ifSeparator
157
117
  ])
158
118
  ]),
159
119
  ifStatement,
160
120
  elsePart
161
121
  ]);
162
- };
163
- BlocksAndStatementPrettierVisitor.prototype.assertStatement = function (ctx) {
164
- var expressions = this.mapVisit(ctx.expression);
165
- var colon = ctx.Colon ? ctx.Colon[0] : ":";
166
- return (0, printer_utils_1.rejectAndConcat)([
167
- (0, prettier_builder_1.concat)([ctx.Assert[0], " "]),
168
- (0, printer_utils_1.rejectAndJoin)((0, prettier_builder_1.concat)([" ", colon, " "]), expressions),
122
+ }
123
+ assertStatement(ctx) {
124
+ const expressions = this.mapVisit(ctx.expression);
125
+ const colon = ctx.Colon ? ctx.Colon[0] : ":";
126
+ return rejectAndConcat([
127
+ concat([ctx.Assert[0], " "]),
128
+ rejectAndJoin(concat([" ", colon, " "]), expressions),
169
129
  ctx.Semicolon[0]
170
130
  ]);
171
- };
172
- BlocksAndStatementPrettierVisitor.prototype.switchStatement = function (ctx) {
173
- var expression = this.visit(ctx.expression);
174
- var switchBlock = this.visit(ctx.switchBlock);
175
- return (0, printer_utils_1.rejectAndJoin)(" ", [
131
+ }
132
+ switchStatement(ctx) {
133
+ const expression = this.visit(ctx.expression);
134
+ const switchBlock = this.visit(ctx.switchBlock);
135
+ return rejectAndJoin(" ", [
176
136
  ctx.Switch[0],
177
- (0, printer_utils_1.putIntoBraces)(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
137
+ putIntoBraces(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
178
138
  switchBlock
179
139
  ]);
180
- };
181
- BlocksAndStatementPrettierVisitor.prototype.switchBlock = function (ctx) {
182
- var switchCases = ctx.switchBlockStatementGroup !== undefined
140
+ }
141
+ switchBlock(ctx) {
142
+ const switchCases = ctx.switchBlockStatementGroup !== undefined
183
143
  ? this.mapVisit(ctx.switchBlockStatementGroup)
184
144
  : this.mapVisit(ctx.switchRule);
185
- return (0, printer_utils_1.putIntoBraces)((0, printer_utils_1.rejectAndJoin)(hardline, switchCases), hardline, ctx.LCurly[0], ctx.RCurly[0]);
186
- };
187
- BlocksAndStatementPrettierVisitor.prototype.switchBlockStatementGroup = function (ctx) {
188
- var switchLabel = this.visit(ctx.switchLabel);
189
- var blockStatements = this.visit(ctx.blockStatements);
190
- return (0, prettier_builder_1.concat)([
145
+ return putIntoBraces(rejectAndJoin(hardline, switchCases), hardline, ctx.LCurly[0], ctx.RCurly[0]);
146
+ }
147
+ switchBlockStatementGroup(ctx) {
148
+ var _a, _b, _c;
149
+ const switchLabel = this.visit(ctx.switchLabel);
150
+ const blockStatements = this.visit(ctx.blockStatements);
151
+ const statements = (_a = ctx.blockStatements) === null || _a === void 0 ? void 0 : _a[0].children.blockStatement;
152
+ const hasSingleStatementBlock = (statements === null || statements === void 0 ? void 0 : statements.length) === 1 &&
153
+ ((_c = (_b = statements[0].children.statement) === null || _b === void 0 ? void 0 : _b[0].children.statementWithoutTrailingSubstatement) === null || _c === void 0 ? void 0 : _c[0].children.block) !== undefined;
154
+ return concat([
191
155
  switchLabel,
192
156
  ctx.Colon[0],
193
- blockStatements && (0, prettier_builder_1.indent)([hardline, blockStatements])
157
+ hasSingleStatementBlock
158
+ ? concat([" ", blockStatements])
159
+ : blockStatements && indent([hardline, blockStatements])
194
160
  ]);
195
- };
196
- BlocksAndStatementPrettierVisitor.prototype.switchLabel = function (ctx) {
197
- var caseOrDefaultLabels = this.mapVisit(ctx.caseOrDefaultLabel);
198
- var colons = ctx.Colon
199
- ? ctx.Colon.map(function (elt) {
200
- return (0, prettier_builder_1.concat)([elt, hardline]);
201
- })
202
- : [];
203
- return (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndJoinSeps)(colons, caseOrDefaultLabels));
204
- };
205
- BlocksAndStatementPrettierVisitor.prototype.caseOrDefaultLabel = function (ctx) {
206
- if (ctx.Case) {
207
- var caseLabelElements = this.mapVisit(ctx.caseLabelElement);
208
- var commas = ctx.Comma
209
- ? ctx.Comma.map(function (elt) {
210
- return (0, prettier_builder_1.concat)([elt, line]);
211
- })
212
- : [];
213
- return (0, prettier_builder_1.group)((0, prettier_builder_1.indent)((0, printer_utils_1.rejectAndConcat)([
214
- (0, prettier_builder_1.concat)([ctx.Case[0], " "]),
215
- (0, printer_utils_1.rejectAndJoinSeps)(commas, caseLabelElements)
216
- ])));
217
- }
218
- return (0, prettier_builder_1.concat)([ctx.Default[0]]);
219
- };
220
- BlocksAndStatementPrettierVisitor.prototype.caseLabelElement = function (ctx) {
221
- if (ctx.Default || ctx.Null) {
222
- return this.getSingle(ctx);
161
+ }
162
+ switchLabel(ctx) {
163
+ var _a, _b, _c;
164
+ const Case = (_a = ctx.Case) === null || _a === void 0 ? void 0 : _a[0];
165
+ const commas = (_b = ctx.Comma) === null || _b === void 0 ? void 0 : _b.map(elt => concat([elt, line]));
166
+ if (ctx.caseConstant || ctx.Null) {
167
+ const caseConstants = ctx.Null
168
+ ? [ctx.Null[0], (_c = ctx.Default) === null || _c === void 0 ? void 0 : _c[0]]
169
+ : this.mapVisit(ctx.caseConstant);
170
+ return group(indent(join(" ", [Case, rejectAndJoinSeps(commas, caseConstants)])));
223
171
  }
224
172
  else if (ctx.pattern) {
225
- var pattern = this.visit(ctx.pattern);
226
- var guard = this.visit(ctx.guard);
227
- return (0, printer_utils_1.rejectAndJoin)(" ", [(0, prettier_builder_1.dedent)(pattern), guard]);
173
+ const patterns = this.mapVisit(ctx.pattern);
174
+ const guard = this.visit(ctx.guard);
175
+ const multiplePatterns = ctx.pattern.length > 1;
176
+ const separator = multiplePatterns ? line : " ";
177
+ const contents = join(separator, [
178
+ Case,
179
+ rejectAndJoinSeps(commas, patterns)
180
+ ]);
181
+ return group(rejectAndJoin(separator, [
182
+ multiplePatterns ? indent(contents) : contents,
183
+ guard
184
+ ]));
228
185
  }
229
- return this.visit(ctx.caseConstant);
230
- };
231
- BlocksAndStatementPrettierVisitor.prototype.switchRule = function (ctx) {
232
- var switchLabel = this.visit(ctx.switchLabel);
233
- var caseInstruction;
186
+ return printTokenWithComments(ctx.Default[0]);
187
+ }
188
+ switchRule(ctx) {
189
+ const switchLabel = this.visit(ctx.switchLabel);
190
+ let caseInstruction;
234
191
  if (ctx.throwStatement !== undefined) {
235
192
  caseInstruction = this.visit(ctx.throwStatement);
236
193
  }
@@ -238,265 +195,241 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
238
195
  caseInstruction = this.visit(ctx.block);
239
196
  }
240
197
  else {
241
- caseInstruction = (0, prettier_builder_1.concat)([this.visit(ctx.expression), ctx.Semicolon[0]]);
198
+ caseInstruction = concat([this.visit(ctx.expression), ctx.Semicolon[0]]);
242
199
  }
243
- return (0, prettier_builder_1.concat)([switchLabel, " ", ctx.Arrow[0], " ", caseInstruction]);
244
- };
245
- BlocksAndStatementPrettierVisitor.prototype.caseConstant = function (ctx) {
200
+ return concat([switchLabel, " ", ctx.Arrow[0], " ", caseInstruction]);
201
+ }
202
+ caseConstant(ctx) {
246
203
  return this.visitSingle(ctx);
247
- };
248
- BlocksAndStatementPrettierVisitor.prototype.whileStatement = function (ctx) {
249
- var expression = this.visit(ctx.expression);
250
- var statement = this.visit(ctx.statement[0], {
204
+ }
205
+ whileStatement(ctx) {
206
+ const expression = this.visit(ctx.expression);
207
+ const statement = this.visit(ctx.statement[0], {
251
208
  allowEmptyStatement: true
252
209
  });
253
- var statementSeparator = (0, printer_utils_1.isStatementEmptyStatement)(statement) ? "" : " ";
254
- return (0, printer_utils_1.rejectAndJoin)(" ", [
210
+ const statementSeparator = isStatementEmptyStatement(statement) ? "" : " ";
211
+ return rejectAndJoin(" ", [
255
212
  ctx.While[0],
256
- (0, printer_utils_1.rejectAndJoin)(statementSeparator, [
257
- (0, printer_utils_1.putIntoBraces)(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
213
+ rejectAndJoin(statementSeparator, [
214
+ putIntoBraces(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
258
215
  statement
259
216
  ])
260
217
  ]);
261
- };
262
- BlocksAndStatementPrettierVisitor.prototype.doStatement = function (ctx) {
263
- var statement = this.visit(ctx.statement[0], {
218
+ }
219
+ doStatement(ctx) {
220
+ const statement = this.visit(ctx.statement[0], {
264
221
  allowEmptyStatement: true
265
222
  });
266
- var statementSeparator = (0, printer_utils_1.isStatementEmptyStatement)(statement) ? "" : " ";
267
- var expression = this.visit(ctx.expression);
268
- return (0, printer_utils_1.rejectAndJoin)(" ", [
269
- (0, printer_utils_1.rejectAndJoin)(statementSeparator, [ctx.Do[0], statement]),
223
+ const statementSeparator = isStatementEmptyStatement(statement) ? "" : " ";
224
+ const expression = this.visit(ctx.expression);
225
+ return rejectAndJoin(" ", [
226
+ rejectAndJoin(statementSeparator, [ctx.Do[0], statement]),
270
227
  ctx.While[0],
271
- (0, printer_utils_1.rejectAndConcat)([
272
- (0, printer_utils_1.putIntoBraces)(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
228
+ rejectAndConcat([
229
+ putIntoBraces(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
273
230
  ctx.Semicolon[0]
274
231
  ])
275
232
  ]);
276
- };
277
- BlocksAndStatementPrettierVisitor.prototype.forStatement = function (ctx) {
233
+ }
234
+ forStatement(ctx) {
278
235
  return this.visitSingle(ctx);
279
- };
280
- BlocksAndStatementPrettierVisitor.prototype.basicForStatement = function (ctx) {
281
- var forInit = this.visit(ctx.forInit);
282
- var expression = this.visit(ctx.expression);
283
- var forUpdate = this.visit(ctx.forUpdate);
284
- var statement = this.visit(ctx.statement[0], {
236
+ }
237
+ basicForStatement(ctx) {
238
+ const forInit = this.visit(ctx.forInit);
239
+ const expression = this.visit(ctx.expression);
240
+ const forUpdate = this.visit(ctx.forUpdate);
241
+ const statement = this.visit(ctx.statement[0], {
285
242
  allowEmptyStatement: true
286
243
  });
287
- var statementSeparator = (0, printer_utils_1.isStatementEmptyStatement)(statement) ? "" : " ";
288
- return (0, printer_utils_1.rejectAndConcat)([
289
- (0, printer_utils_1.rejectAndJoin)(" ", [
244
+ const statementSeparator = isStatementEmptyStatement(statement) ? "" : " ";
245
+ return rejectAndConcat([
246
+ rejectAndJoin(" ", [
290
247
  ctx.For[0],
291
- (0, printer_utils_1.putIntoBraces)((0, printer_utils_1.rejectAndConcat)([
248
+ putIntoBraces(rejectAndConcat([
292
249
  forInit,
293
- (0, printer_utils_1.rejectAndJoin)(line, [ctx.Semicolon[0], expression]),
294
- (0, printer_utils_1.rejectAndJoin)(line, [ctx.Semicolon[1], forUpdate])
250
+ rejectAndJoin(line, [ctx.Semicolon[0], expression]),
251
+ rejectAndJoin(line, [ctx.Semicolon[1], forUpdate])
295
252
  ]), softline, ctx.LBrace[0], ctx.RBrace[0])
296
253
  ]),
297
254
  statementSeparator,
298
255
  statement
299
256
  ]);
300
- };
301
- BlocksAndStatementPrettierVisitor.prototype.forInit = function (ctx) {
257
+ }
258
+ forInit(ctx) {
302
259
  return this.visitSingle(ctx);
303
- };
304
- BlocksAndStatementPrettierVisitor.prototype.forUpdate = function (ctx) {
260
+ }
261
+ forUpdate(ctx) {
305
262
  return this.visitSingle(ctx);
306
- };
307
- BlocksAndStatementPrettierVisitor.prototype.statementExpressionList = function (ctx) {
308
- var statementExpressions = this.mapVisit(ctx.statementExpression);
309
- var commas = ctx.Comma
310
- ? ctx.Comma.map(function (elt) {
311
- return (0, prettier_builder_1.concat)([(0, format_comments_1.printTokenWithComments)(elt), " "]);
263
+ }
264
+ statementExpressionList(ctx) {
265
+ const statementExpressions = this.mapVisit(ctx.statementExpression);
266
+ const commas = ctx.Comma
267
+ ? ctx.Comma.map(elt => {
268
+ return concat([printTokenWithComments(elt), " "]);
312
269
  })
313
270
  : [];
314
- return (0, printer_utils_1.rejectAndJoinSeps)(commas, statementExpressions);
315
- };
316
- BlocksAndStatementPrettierVisitor.prototype.enhancedForStatement = function (ctx) {
317
- var variableModifiers = this.mapVisit(ctx.variableModifier);
318
- var localVariableType = this.visit(ctx.localVariableType);
319
- var variableDeclaratorId = this.visit(ctx.variableDeclaratorId);
320
- var expression = this.visit(ctx.expression);
321
- var statement = this.visit(ctx.statement[0], {
271
+ return rejectAndJoinSeps(commas, statementExpressions);
272
+ }
273
+ enhancedForStatement(ctx) {
274
+ const variableModifiers = this.mapVisit(ctx.variableModifier);
275
+ const localVariableType = this.visit(ctx.localVariableType);
276
+ const variableDeclaratorId = this.visit(ctx.variableDeclaratorId);
277
+ const expression = this.visit(ctx.expression);
278
+ const statement = this.visit(ctx.statement[0], {
322
279
  allowEmptyStatement: true
323
280
  });
324
- var statementSeparator = (0, printer_utils_1.isStatementEmptyStatement)(statement) ? "" : " ";
325
- return (0, printer_utils_1.rejectAndConcat)([
326
- (0, printer_utils_1.rejectAndJoin)(" ", [ctx.For[0], ctx.LBrace[0]]),
327
- (0, printer_utils_1.rejectAndJoin)(" ", [
328
- (0, printer_utils_1.rejectAndJoin)(" ", variableModifiers),
281
+ const statementSeparator = isStatementEmptyStatement(statement) ? "" : " ";
282
+ return rejectAndConcat([
283
+ rejectAndJoin(" ", [ctx.For[0], ctx.LBrace[0]]),
284
+ rejectAndJoin(" ", [
285
+ rejectAndJoin(" ", variableModifiers),
329
286
  localVariableType,
330
287
  variableDeclaratorId
331
288
  ]),
332
- (0, prettier_builder_1.concat)([" ", ctx.Colon[0], " "]),
289
+ concat([" ", ctx.Colon[0], " "]),
333
290
  expression,
334
- (0, prettier_builder_1.concat)([ctx.RBrace[0], statementSeparator]),
291
+ concat([ctx.RBrace[0], statementSeparator]),
335
292
  statement
336
293
  ]);
337
- };
338
- BlocksAndStatementPrettierVisitor.prototype.breakStatement = function (ctx) {
294
+ }
295
+ breakStatement(ctx) {
339
296
  if (ctx.Identifier) {
340
- var identifier = ctx.Identifier[0];
341
- return (0, printer_utils_1.rejectAndConcat)([
342
- (0, prettier_builder_1.concat)([ctx.Break[0], " "]),
297
+ const identifier = ctx.Identifier[0];
298
+ return rejectAndConcat([
299
+ concat([ctx.Break[0], " "]),
343
300
  identifier,
344
301
  ctx.Semicolon[0]
345
302
  ]);
346
303
  }
347
- return (0, prettier_builder_1.concat)([ctx.Break[0], ctx.Semicolon[0]]);
348
- };
349
- BlocksAndStatementPrettierVisitor.prototype.continueStatement = function (ctx) {
304
+ return concat([ctx.Break[0], ctx.Semicolon[0]]);
305
+ }
306
+ continueStatement(ctx) {
350
307
  if (ctx.Identifier) {
351
- var identifier = ctx.Identifier[0];
352
- return (0, printer_utils_1.rejectAndConcat)([
353
- (0, prettier_builder_1.concat)([ctx.Continue[0], " "]),
308
+ const identifier = ctx.Identifier[0];
309
+ return rejectAndConcat([
310
+ concat([ctx.Continue[0], " "]),
354
311
  identifier,
355
312
  ctx.Semicolon[0]
356
313
  ]);
357
314
  }
358
- return (0, printer_utils_1.rejectAndConcat)([ctx.Continue[0], ctx.Semicolon[0]]);
359
- };
360
- BlocksAndStatementPrettierVisitor.prototype.returnStatement = function (ctx) {
315
+ return rejectAndConcat([ctx.Continue[0], ctx.Semicolon[0]]);
316
+ }
317
+ returnStatement(ctx) {
361
318
  if (ctx.expression) {
362
- var expression = this.visit(ctx.expression, {
319
+ const expression = this.visit(ctx.expression, {
363
320
  addParenthesisToWrapStatement: true
364
321
  });
365
- return (0, printer_utils_1.rejectAndConcat)([
366
- (0, prettier_builder_1.concat)([ctx.Return[0], " "]),
322
+ return rejectAndConcat([
323
+ concat([ctx.Return[0], " "]),
367
324
  expression,
368
325
  ctx.Semicolon[0]
369
326
  ]);
370
327
  }
371
- return (0, printer_utils_1.rejectAndConcat)([ctx.Return[0], ctx.Semicolon[0]]);
372
- };
373
- BlocksAndStatementPrettierVisitor.prototype.throwStatement = function (ctx) {
374
- var expression = this.visit(ctx.expression);
375
- return (0, printer_utils_1.rejectAndConcat)([
376
- (0, prettier_builder_1.concat)([ctx.Throw[0], " "]),
328
+ return rejectAndConcat([ctx.Return[0], ctx.Semicolon[0]]);
329
+ }
330
+ throwStatement(ctx) {
331
+ const expression = this.visit(ctx.expression);
332
+ return rejectAndConcat([
333
+ concat([ctx.Throw[0], " "]),
377
334
  expression,
378
335
  ctx.Semicolon[0]
379
336
  ]);
380
- };
381
- BlocksAndStatementPrettierVisitor.prototype.synchronizedStatement = function (ctx) {
382
- var expression = this.visit(ctx.expression);
383
- var block = this.visit(ctx.block);
384
- return (0, printer_utils_1.rejectAndConcat)([
385
- (0, prettier_builder_1.join)(" ", [
337
+ }
338
+ synchronizedStatement(ctx) {
339
+ const expression = this.visit(ctx.expression);
340
+ const block = this.visit(ctx.block);
341
+ return rejectAndConcat([
342
+ join(" ", [
386
343
  ctx.Synchronized[0],
387
- (0, prettier_builder_1.concat)([
388
- (0, printer_utils_1.putIntoBraces)(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
344
+ concat([
345
+ putIntoBraces(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
389
346
  " "
390
347
  ])
391
348
  ]),
392
349
  block
393
350
  ]);
394
- };
395
- BlocksAndStatementPrettierVisitor.prototype.tryStatement = function (ctx) {
351
+ }
352
+ tryStatement(ctx) {
396
353
  if (ctx.tryWithResourcesStatement) {
397
354
  return this.visit(ctx.tryWithResourcesStatement);
398
355
  }
399
- var block = this.visit(ctx.block);
400
- var catches = this.visit(ctx.catches);
401
- var finallyBlock = this.visit(ctx.finally);
402
- return (0, printer_utils_1.rejectAndJoin)(" ", [ctx.Try[0], block, catches, finallyBlock]);
403
- };
404
- BlocksAndStatementPrettierVisitor.prototype.catches = function (ctx) {
405
- var catchClauses = this.mapVisit(ctx.catchClause);
406
- return (0, printer_utils_1.rejectAndJoin)(" ", catchClauses);
407
- };
408
- BlocksAndStatementPrettierVisitor.prototype.catchClause = function (ctx) {
409
- var catchFormalParameter = this.visit(ctx.catchFormalParameter);
410
- var block = this.visit(ctx.block);
411
- return (0, printer_utils_1.rejectAndConcat)([
412
- (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndConcat)([
413
- (0, printer_utils_1.rejectAndJoin)(" ", [ctx.Catch[0], ctx.LBrace[0]]),
414
- (0, prettier_builder_1.indent)((0, printer_utils_1.rejectAndConcat)([softline, catchFormalParameter])),
356
+ const block = this.visit(ctx.block);
357
+ const catches = this.visit(ctx.catches);
358
+ const finallyBlock = this.visit(ctx.finally);
359
+ return rejectAndJoin(" ", [ctx.Try[0], block, catches, finallyBlock]);
360
+ }
361
+ catches(ctx) {
362
+ const catchClauses = this.mapVisit(ctx.catchClause);
363
+ return rejectAndJoin(" ", catchClauses);
364
+ }
365
+ catchClause(ctx) {
366
+ const catchFormalParameter = this.visit(ctx.catchFormalParameter);
367
+ const block = this.visit(ctx.block);
368
+ return rejectAndConcat([
369
+ group(rejectAndConcat([
370
+ rejectAndJoin(" ", [ctx.Catch[0], ctx.LBrace[0]]),
371
+ indent(rejectAndConcat([softline, catchFormalParameter])),
415
372
  softline,
416
- (0, prettier_builder_1.concat)([ctx.RBrace[0], " "])
373
+ concat([ctx.RBrace[0], " "])
417
374
  ])),
418
375
  block
419
376
  ]);
420
- };
421
- BlocksAndStatementPrettierVisitor.prototype.catchFormalParameter = function (ctx) {
422
- var variableModifiers = this.mapVisit(ctx.variableModifier);
423
- var catchType = this.visit(ctx.catchType);
424
- var variableDeclaratorId = this.visit(ctx.variableDeclaratorId);
425
- return (0, printer_utils_1.rejectAndJoin)(" ", [
426
- (0, printer_utils_1.rejectAndJoin)(" ", variableModifiers),
377
+ }
378
+ catchFormalParameter(ctx) {
379
+ const variableModifiers = this.mapVisit(ctx.variableModifier);
380
+ const catchType = this.visit(ctx.catchType);
381
+ const variableDeclaratorId = this.visit(ctx.variableDeclaratorId);
382
+ return rejectAndJoin(" ", [
383
+ rejectAndJoin(" ", variableModifiers),
427
384
  catchType,
428
385
  variableDeclaratorId
429
386
  ]);
430
- };
431
- BlocksAndStatementPrettierVisitor.prototype.catchType = function (ctx) {
432
- var unannClassType = this.visit(ctx.unannClassType);
433
- var classTypes = this.mapVisit(ctx.classType);
434
- var ors = ctx.Or ? ctx.Or.map(function (elt) { return (0, prettier_builder_1.concat)([line, elt, " "]); }) : [];
435
- return (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndJoinSeps)(ors, __spreadArray([unannClassType], classTypes, true)));
436
- };
437
- BlocksAndStatementPrettierVisitor.prototype.finally = function (ctx) {
438
- var block = this.visit(ctx.block);
439
- return (0, printer_utils_1.rejectAndJoin)(" ", [ctx.Finally[0], block]);
440
- };
441
- BlocksAndStatementPrettierVisitor.prototype.tryWithResourcesStatement = function (ctx) {
442
- var resourceSpecification = this.visit(ctx.resourceSpecification);
443
- var block = this.visit(ctx.block);
444
- var catches = this.visit(ctx.catches);
445
- var finallyBlock = this.visit(ctx.finally);
446
- return (0, printer_utils_1.rejectAndJoin)(" ", [
387
+ }
388
+ catchType(ctx) {
389
+ const unannClassType = this.visit(ctx.unannClassType);
390
+ const classTypes = this.mapVisit(ctx.classType);
391
+ const ors = ctx.Or ? ctx.Or.map(elt => concat([line, elt, " "])) : [];
392
+ return group(rejectAndJoinSeps(ors, [unannClassType, ...classTypes]));
393
+ }
394
+ finally(ctx) {
395
+ const block = this.visit(ctx.block);
396
+ return rejectAndJoin(" ", [ctx.Finally[0], block]);
397
+ }
398
+ tryWithResourcesStatement(ctx) {
399
+ const resourceSpecification = this.visit(ctx.resourceSpecification);
400
+ const block = this.visit(ctx.block);
401
+ const catches = this.visit(ctx.catches);
402
+ const finallyBlock = this.visit(ctx.finally);
403
+ return rejectAndJoin(" ", [
447
404
  ctx.Try[0],
448
405
  resourceSpecification,
449
406
  block,
450
407
  catches,
451
408
  finallyBlock
452
409
  ]);
453
- };
454
- BlocksAndStatementPrettierVisitor.prototype.resourceSpecification = function (ctx) {
455
- var resourceList = this.visit(ctx.resourceList);
456
- var optionalSemicolon = ctx.Semicolon ? ctx.Semicolon[0] : "";
457
- return (0, printer_utils_1.putIntoBraces)((0, printer_utils_1.rejectAndConcat)([resourceList, optionalSemicolon]), softline, ctx.LBrace[0], ctx.RBrace[0]);
458
- };
459
- BlocksAndStatementPrettierVisitor.prototype.resourceList = function (ctx) {
460
- var resources = this.mapVisit(ctx.resource);
461
- var semicolons = ctx.Semicolon
462
- ? ctx.Semicolon.map(function (elt) {
463
- return (0, prettier_builder_1.concat)([elt, line]);
410
+ }
411
+ resourceSpecification(ctx) {
412
+ const resourceList = this.visit(ctx.resourceList);
413
+ const optionalSemicolon = ctx.Semicolon ? ctx.Semicolon[0] : "";
414
+ return putIntoBraces(rejectAndConcat([resourceList, optionalSemicolon]), softline, ctx.LBrace[0], ctx.RBrace[0]);
415
+ }
416
+ resourceList(ctx) {
417
+ const resources = this.mapVisit(ctx.resource);
418
+ const semicolons = ctx.Semicolon
419
+ ? ctx.Semicolon.map(elt => {
420
+ return concat([elt, line]);
464
421
  })
465
422
  : [""];
466
- return (0, printer_utils_1.rejectAndJoinSeps)(semicolons, resources);
467
- };
468
- BlocksAndStatementPrettierVisitor.prototype.resource = function (ctx) {
423
+ return rejectAndJoinSeps(semicolons, resources);
424
+ }
425
+ resource(ctx) {
469
426
  return this.visitSingle(ctx);
470
- };
471
- BlocksAndStatementPrettierVisitor.prototype.resourceInit = function (ctx) {
472
- var variableModifiers = this.mapVisit(ctx.variableModifier);
473
- var localVariableType = this.visit(ctx.localVariableType);
474
- var identifier = ctx.Identifier[0];
475
- var expression = this.visit(ctx.expression);
476
- return (0, printer_utils_1.rejectAndJoin)(" ", [
477
- (0, printer_utils_1.rejectAndJoin)(" ", variableModifiers),
478
- localVariableType,
479
- identifier,
480
- ctx.Equals[0],
481
- expression
482
- ]);
483
- };
484
- BlocksAndStatementPrettierVisitor.prototype.yieldStatement = function (ctx) {
485
- var expression = this.visit(ctx.expression);
486
- return (0, prettier_builder_1.join)(" ", [ctx.Yield[0], (0, prettier_builder_1.concat)([expression, ctx.Semicolon[0]])]);
487
- };
488
- BlocksAndStatementPrettierVisitor.prototype.variableAccess = function (ctx) {
427
+ }
428
+ yieldStatement(ctx) {
429
+ const expression = this.visit(ctx.expression);
430
+ return join(" ", [ctx.Yield[0], concat([expression, ctx.Semicolon[0]])]);
431
+ }
432
+ variableAccess(ctx) {
489
433
  return this.visitSingle(ctx);
490
- };
491
- BlocksAndStatementPrettierVisitor.prototype.isBasicForStatement = function () {
492
- return "isBasicForStatement";
493
- };
494
- BlocksAndStatementPrettierVisitor.prototype.isLocalVariableDeclaration = function () {
495
- return "isLocalVariableDeclaration";
496
- };
497
- BlocksAndStatementPrettierVisitor.prototype.isClassicSwitchLabel = function () {
498
- return "isClassicSwitchLabel";
499
- };
500
- return BlocksAndStatementPrettierVisitor;
501
- }(base_cst_printer_1.BaseCstPrettierPrinter));
502
- exports.BlocksAndStatementPrettierVisitor = BlocksAndStatementPrettierVisitor;
434
+ }
435
+ }