prettier-plugin-java 1.6.2 → 2.0.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/dist/base-cst-printer.js +4 -3
  2. package/dist/cst-printer.js +1 -0
  3. package/dist/index.js +1 -0
  4. package/dist/options.js +2 -0
  5. package/dist/parser.js +1 -0
  6. package/dist/printer.js +1 -0
  7. package/dist/printers/arrays.js +4 -3
  8. package/dist/printers/blocks-and-statements.js +107 -102
  9. package/dist/printers/classes.js +152 -151
  10. package/dist/printers/comments/comments-utils.js +1 -0
  11. package/dist/printers/comments/format-comments.js +22 -13
  12. package/dist/printers/comments/handle-comments.js +2 -1
  13. package/dist/printers/expressions.js +128 -105
  14. package/dist/printers/interfaces.js +57 -56
  15. package/dist/printers/lexical-structure.js +5 -4
  16. package/dist/printers/names.js +9 -8
  17. package/dist/printers/packages-and-modules.js +73 -59
  18. package/dist/printers/prettier-builder.js +21 -12
  19. package/dist/printers/printer-utils.js +64 -56
  20. package/dist/printers/types-values-and-variables.js +44 -39
  21. package/dist/src/base-cst-printer.js +77 -0
  22. package/dist/src/cst-printer.js +37 -0
  23. package/dist/src/index.js +67 -0
  24. package/dist/src/options.js +256 -0
  25. package/dist/src/parser.js +7 -0
  26. package/dist/src/printer.js +28 -0
  27. package/dist/src/printers/arrays.js +49 -0
  28. package/dist/src/printers/blocks-and-statements.js +493 -0
  29. package/dist/src/printers/classes.js +724 -0
  30. package/dist/src/printers/comments/comments-utils.js +29 -0
  31. package/dist/src/printers/comments/format-comments.js +187 -0
  32. package/dist/src/printers/comments/handle-comments.js +38 -0
  33. package/dist/src/printers/expressions.js +549 -0
  34. package/dist/src/printers/interfaces.js +251 -0
  35. package/dist/src/printers/lexical-structure.js +43 -0
  36. package/dist/src/printers/names.js +53 -0
  37. package/dist/src/printers/packages-and-modules.js +185 -0
  38. package/dist/src/printers/prettier-builder.js +47 -0
  39. package/dist/src/printers/printer-utils.js +577 -0
  40. package/dist/src/printers/types-values-and-variables.js +183 -0
  41. package/dist/src/types/utils.js +29 -0
  42. package/dist/src/utils/expressions-utils.js +29 -0
  43. package/dist/src/utils/index.js +10 -0
  44. package/dist/src/utils/printArgumentListWithBraces.js +21 -0
  45. package/dist/src/utils/printSingleLambdaInvocation.js +20 -0
  46. package/dist/test/babel-register.js +3 -0
  47. package/dist/test/repository-test/core-test.js +12 -0
  48. package/dist/test/repository-test/jhipster-1-test.js +17 -0
  49. package/dist/test/repository-test/jhipster-2-test.js +16 -0
  50. package/dist/test/test-utils.js +215 -0
  51. package/dist/test/unit-test/annotation_type_declaration/annotation_type_declaration-spec.js +6 -0
  52. package/dist/test/unit-test/args/args-spec.js +6 -0
  53. package/dist/test/unit-test/assert/assert-spec.js +6 -0
  54. package/dist/test/unit-test/binary_expressions/binary_expressions-spec.js +6 -0
  55. package/dist/test/unit-test/blank_lines/blank_lines-spec.js +6 -0
  56. package/dist/test/unit-test/bug-fixes/bug-fixes-spec.js +6 -0
  57. package/dist/test/unit-test/cast/cast-spec.js +6 -0
  58. package/dist/test/unit-test/char_literal/char_literal-spec.js +6 -0
  59. package/dist/test/unit-test/classes/multiple_classes-spec.js +6 -0
  60. package/dist/test/unit-test/comments/comments-spec.js +14 -0
  61. package/dist/test/unit-test/complex_generic_class/complex_generic_class-spec.js +6 -0
  62. package/dist/test/unit-test/constructors/constructors-spec.js +6 -0
  63. package/dist/test/unit-test/empty_statement/empty_statement-spec.js +6 -0
  64. package/dist/test/unit-test/enum/enum-spec.js +6 -0
  65. package/dist/test/unit-test/expressions/expressions-spec.js +6 -0
  66. package/dist/test/unit-test/extends_abstract_class/extends_abstract_class-spec.js +6 -0
  67. package/dist/test/unit-test/extends_abstract_class_and_implements_interfaces/extends_abstract_class_and_implements_interfaces-spec.js +6 -0
  68. package/dist/test/unit-test/for/for-spec.js +6 -0
  69. package/dist/test/unit-test/generic_class/generic_class-spec.js +6 -0
  70. package/dist/test/unit-test/generic_questionmark/generic_questionmark-spec.js +6 -0
  71. package/dist/test/unit-test/hello-world/hello-word-spec.js +6 -0
  72. package/dist/test/unit-test/if/if-spec.js +6 -0
  73. package/dist/test/unit-test/indent/indent-spec.js +6 -0
  74. package/dist/test/unit-test/instantiation/instantiation-spec.js +6 -0
  75. package/dist/test/unit-test/interface/interface-spec.js +6 -0
  76. package/dist/test/unit-test/lambda/lambda-spec.js +6 -0
  77. package/dist/test/unit-test/marker_annotations/marker_annotations-spec.js +6 -0
  78. package/dist/test/unit-test/member_chain/member_chain-spec.js +6 -0
  79. package/dist/test/unit-test/method_reference/method_reference-spec.js +6 -0
  80. package/dist/test/unit-test/modifiers/modifiers-spec.js +6 -0
  81. package/dist/test/unit-test/modules/modules-spec.js +6 -0
  82. package/dist/test/unit-test/package_and_imports/package_and_imports-spec.js +34 -0
  83. package/dist/test/unit-test/pattern-matching/pattern-matching-spec.js +6 -0
  84. package/dist/test/unit-test/prettier-ignore/prettier-ignore-spec.js +28 -0
  85. package/dist/test/unit-test/records/records-spec.js +6 -0
  86. package/dist/test/unit-test/return/return-spec.js +6 -0
  87. package/dist/test/unit-test/sealed/sealed-spec.js +6 -0
  88. package/dist/test/unit-test/snippets/arrays/array-initializer.spec.js +94 -0
  89. package/dist/test/unit-test/snippets/arrays/variable-initializer-list.spec.js +19 -0
  90. package/dist/test/unit-test/snippets/blocks-and-statements/switch.spec.js +26 -0
  91. package/dist/test/unit-test/snippets/classes/class-body.spec.js +181 -0
  92. package/dist/test/unit-test/snippets/classes/enum-body.spec.js +87 -0
  93. package/dist/test/unit-test/snippets/classes/variableDeclarator/test.spec.js +186 -0
  94. package/dist/test/unit-test/snippets/interfaces/element-value-array-initializer.spec.js +85 -0
  95. package/dist/test/unit-test/snippets/names/ambiguousName/test.spec.js +19 -0
  96. package/dist/test/unit-test/snippets/names/expressionName/test.spec.js +19 -0
  97. package/dist/test/unit-test/snippets/names/methodName/test.spec.js +12 -0
  98. package/dist/test/unit-test/snippets/names/packageOrTypeName/test.spec.js +19 -0
  99. package/dist/test/unit-test/snippets/types-values-and-variables/floatingPointType/test.spec.js +19 -0
  100. package/dist/test/unit-test/snippets/types-values-and-variables/integralType/test.spec.js +40 -0
  101. package/dist/test/unit-test/snippets/types-values-and-variables/numericType/test.spec.js +88 -0
  102. package/dist/test/unit-test/snippets/types-values-and-variables/wildcard/test.spec.js +112 -0
  103. package/dist/test/unit-test/snippets/types-values-and-variables/wildcardBounds/test.spec.js +81 -0
  104. package/dist/test/unit-test/switch/switch-spec.js +6 -0
  105. package/dist/test/unit-test/synchronized/synchronized-spec.js +6 -0
  106. package/dist/test/unit-test/text-blocks/text-block-spec.js +6 -0
  107. package/dist/test/unit-test/throws/throws-spec.js +6 -0
  108. package/dist/test/unit-test/try_catch/try_catch-spec.js +6 -0
  109. package/dist/test/unit-test/types/types-spec.js +6 -0
  110. package/dist/test/unit-test/variables/variables-spec.js +6 -0
  111. package/dist/test/unit-test/while/while-spec.js +6 -0
  112. package/dist/test/unit-test/yield-statement/yield-statement-spec.js +6 -0
  113. package/dist/types/utils.js +1 -0
  114. package/dist/utils/expressions-utils.js +1 -0
  115. package/dist/utils/index.js +4 -1
  116. package/dist/utils/isEmptyDoc.js +7 -0
  117. package/dist/utils/printArgumentListWithBraces.js +3 -2
  118. package/dist/utils/printSingleLambdaInvocation.js +5 -4
  119. package/package.json +21 -21
  120. package/dist/utils/constants.js +0 -4
@@ -46,7 +46,7 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
46
46
  return _super !== null && _super.apply(this, arguments) || this;
47
47
  }
48
48
  ClassesPrettierVisitor.prototype.classDeclaration = function (ctx) {
49
- var modifiers = printer_utils_1.sortModifiers(ctx.classModifier);
49
+ var modifiers = (0, printer_utils_1.sortModifiers)(ctx.classModifier);
50
50
  var firstAnnotations = this.mapVisit(modifiers[0]);
51
51
  var otherModifiers = this.mapVisit(modifiers[1]);
52
52
  var classCST;
@@ -60,9 +60,9 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
60
60
  classCST = ctx.recordDeclaration;
61
61
  }
62
62
  var classDoc = this.visit(classCST);
63
- return printer_utils_1.rejectAndJoin(hardline, [
64
- printer_utils_1.rejectAndJoin(hardline, firstAnnotations),
65
- printer_utils_1.rejectAndJoin(" ", [prettier_builder_1.join(" ", otherModifiers), classDoc])
63
+ return (0, printer_utils_1.rejectAndJoin)(hardline, [
64
+ (0, printer_utils_1.rejectAndJoin)(hardline, firstAnnotations),
65
+ (0, printer_utils_1.rejectAndJoin)(" ", [(0, prettier_builder_1.join)(" ", otherModifiers), classDoc])
66
66
  ]);
67
67
  };
68
68
  ClassesPrettierVisitor.prototype.normalClassDeclaration = function (ctx) {
@@ -74,19 +74,19 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
74
74
  var body = this.visit(ctx.classBody, { isNormalClassDeclaration: true });
75
75
  var superClassesPart = "";
76
76
  if (optionalSuperClasses) {
77
- superClassesPart = prettier_builder_1.indent(printer_utils_1.rejectAndConcat([line, optionalSuperClasses]));
77
+ superClassesPart = (0, prettier_builder_1.indent)((0, printer_utils_1.rejectAndConcat)([line, optionalSuperClasses]));
78
78
  }
79
79
  var superInterfacesPart = "";
80
80
  if (optionalSuperInterfaces) {
81
- superInterfacesPart = prettier_builder_1.indent(printer_utils_1.rejectAndConcat([line, optionalSuperInterfaces]));
81
+ superInterfacesPart = (0, prettier_builder_1.indent)((0, printer_utils_1.rejectAndConcat)([line, optionalSuperInterfaces]));
82
82
  }
83
83
  var classPermits = "";
84
84
  if (optionalClassPermits) {
85
- classPermits = prettier_builder_1.indent(printer_utils_1.rejectAndConcat([line, optionalClassPermits]));
85
+ classPermits = (0, prettier_builder_1.indent)((0, printer_utils_1.rejectAndConcat)([line, optionalClassPermits]));
86
86
  }
87
- return printer_utils_1.rejectAndJoin(" ", [
88
- prettier_builder_1.group(printer_utils_1.rejectAndConcat([
89
- printer_utils_1.rejectAndJoin(" ", [ctx.Class[0], name]),
87
+ return (0, printer_utils_1.rejectAndJoin)(" ", [
88
+ (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndConcat)([
89
+ (0, printer_utils_1.rejectAndJoin)(" ", [ctx.Class[0], name]),
90
90
  optionalTypeParams,
91
91
  superClassesPart,
92
92
  superInterfacesPart,
@@ -100,46 +100,46 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
100
100
  return this.visit(ctx.annotation);
101
101
  }
102
102
  // public | protected | private | ...
103
- return format_comments_1.printTokenWithComments(this.getSingle(ctx));
103
+ return (0, format_comments_1.printTokenWithComments)(this.getSingle(ctx));
104
104
  };
105
105
  ClassesPrettierVisitor.prototype.typeParameters = function (ctx) {
106
106
  var typeParameterList = this.visit(ctx.typeParameterList);
107
- return printer_utils_1.putIntoBraces(typeParameterList, softline, ctx.Less[0], ctx.Greater[0]);
107
+ return (0, printer_utils_1.putIntoBraces)(typeParameterList, softline, ctx.Less[0], ctx.Greater[0]);
108
108
  };
109
109
  ClassesPrettierVisitor.prototype.typeParameterList = function (ctx) {
110
110
  var typeParameter = this.mapVisit(ctx.typeParameter);
111
- var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return prettier_builder_1.concat([elt, line]); }) : [];
112
- return prettier_builder_1.group(printer_utils_1.rejectAndJoinSeps(commas, typeParameter));
111
+ var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return (0, prettier_builder_1.concat)([elt, line]); }) : [];
112
+ return (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndJoinSeps)(commas, typeParameter));
113
113
  };
114
114
  ClassesPrettierVisitor.prototype.superclass = function (ctx) {
115
- return prettier_builder_1.join(" ", [ctx.Extends[0], this.visit(ctx.classType)]);
115
+ return (0, prettier_builder_1.join)(" ", [ctx.Extends[0], this.visit(ctx.classType)]);
116
116
  };
117
117
  ClassesPrettierVisitor.prototype.superinterfaces = function (ctx) {
118
118
  var interfaceTypeList = this.visit(ctx.interfaceTypeList);
119
- return prettier_builder_1.group(printer_utils_1.rejectAndConcat([
119
+ return (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndConcat)([
120
120
  ctx.Implements[0],
121
- prettier_builder_1.indent(printer_utils_1.rejectAndConcat([line, interfaceTypeList]))
121
+ (0, prettier_builder_1.indent)((0, printer_utils_1.rejectAndConcat)([line, interfaceTypeList]))
122
122
  ]));
123
123
  };
124
124
  ClassesPrettierVisitor.prototype.classPermits = function (ctx) {
125
125
  var typeNames = this.mapVisit(ctx.typeName);
126
- var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return prettier_builder_1.concat([elt, line]); }) : [];
127
- return prettier_builder_1.group(printer_utils_1.rejectAndConcat([
126
+ var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return (0, prettier_builder_1.concat)([elt, line]); }) : [];
127
+ return (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndConcat)([
128
128
  ctx.Permits[0],
129
- prettier_builder_1.indent(printer_utils_1.rejectAndConcat([line, prettier_builder_1.group(printer_utils_1.rejectAndJoinSeps(commas, typeNames))]))
129
+ (0, prettier_builder_1.indent)((0, printer_utils_1.rejectAndConcat)([line, (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndJoinSeps)(commas, typeNames))]))
130
130
  ]));
131
131
  };
132
132
  ClassesPrettierVisitor.prototype.interfaceTypeList = function (ctx) {
133
133
  var interfaceType = this.mapVisit(ctx.interfaceType);
134
- var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return prettier_builder_1.concat([elt, line]); }) : [];
135
- return prettier_builder_1.group(printer_utils_1.rejectAndJoinSeps(commas, interfaceType));
134
+ var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return (0, prettier_builder_1.concat)([elt, line]); }) : [];
135
+ return (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndJoinSeps)(commas, interfaceType));
136
136
  };
137
137
  ClassesPrettierVisitor.prototype.classBody = function (ctx, param) {
138
138
  var content = "";
139
139
  if (ctx.classBodyDeclaration !== undefined) {
140
- var classBodyDeclsVisited = printer_utils_1.reject(this.mapVisit(ctx.classBodyDeclaration));
141
- var separators = printer_utils_1.getClassBodyDeclarationsSeparator(ctx.classBodyDeclaration);
142
- content = printer_utils_1.rejectAndJoinSeps(separators, classBodyDeclsVisited);
140
+ var classBodyDeclsVisited = (0, printer_utils_1.reject)(this.mapVisit(ctx.classBodyDeclaration));
141
+ var separators = (0, printer_utils_1.getClassBodyDeclarationsSeparator)(ctx.classBodyDeclaration);
142
+ content = (0, printer_utils_1.rejectAndJoinSeps)(separators, classBodyDeclsVisited);
143
143
  // edge case when we have SemiColons
144
144
  var shouldHardline_1 = false;
145
145
  ctx.classBodyDeclaration.forEach(function (elt) {
@@ -154,32 +154,32 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
154
154
  shouldHardline_1 &&
155
155
  param &&
156
156
  param.isNormalClassDeclaration) {
157
- content = printer_utils_1.rejectAndConcat([hardline, content]);
157
+ content = (0, printer_utils_1.rejectAndConcat)([hardline, content]);
158
158
  }
159
159
  }
160
- return printer_utils_1.putIntoBraces(content, hardline, ctx.LCurly[0], ctx.RCurly[0]);
160
+ return (0, printer_utils_1.putIntoBraces)(content, hardline, ctx.LCurly[0], ctx.RCurly[0]);
161
161
  };
162
162
  ClassesPrettierVisitor.prototype.classBodyDeclaration = function (ctx) {
163
163
  return this.visitSingle(ctx);
164
164
  };
165
165
  ClassesPrettierVisitor.prototype.classMemberDeclaration = function (ctx) {
166
166
  if (ctx.Semicolon) {
167
- return printer_utils_1.displaySemicolon(ctx.Semicolon[0]);
167
+ return (0, printer_utils_1.displaySemicolon)(ctx.Semicolon[0]);
168
168
  }
169
169
  return this.visitSingle(ctx);
170
170
  };
171
171
  ClassesPrettierVisitor.prototype.fieldDeclaration = function (ctx) {
172
- var modifiers = printer_utils_1.sortModifiers(ctx.fieldModifier);
172
+ var modifiers = (0, printer_utils_1.sortModifiers)(ctx.fieldModifier);
173
173
  var firstAnnotations = this.mapVisit(modifiers[0]);
174
174
  var otherModifiers = this.mapVisit(modifiers[1]);
175
175
  var unannType = this.visit(ctx.unannType);
176
176
  var variableDeclaratorList = this.visit(ctx.variableDeclaratorList);
177
- return printer_utils_1.rejectAndJoin(hardline, [
178
- printer_utils_1.rejectAndJoin(hardline, firstAnnotations),
179
- printer_utils_1.rejectAndJoin(" ", [
180
- printer_utils_1.rejectAndJoin(" ", otherModifiers),
177
+ return (0, printer_utils_1.rejectAndJoin)(hardline, [
178
+ (0, printer_utils_1.rejectAndJoin)(hardline, firstAnnotations),
179
+ (0, printer_utils_1.rejectAndJoin)(" ", [
180
+ (0, printer_utils_1.rejectAndJoin)(" ", otherModifiers),
181
181
  unannType,
182
- prettier_builder_1.concat([variableDeclaratorList, ctx.Semicolon[0]])
182
+ (0, prettier_builder_1.concat)([variableDeclaratorList, ctx.Semicolon[0]])
183
183
  ])
184
184
  ]);
185
185
  };
@@ -188,20 +188,20 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
188
188
  return this.visit(ctx.annotation);
189
189
  }
190
190
  // public | protected | private | ...
191
- return format_comments_1.printTokenWithComments(this.getSingle(ctx));
191
+ return (0, format_comments_1.printTokenWithComments)(this.getSingle(ctx));
192
192
  };
193
193
  ClassesPrettierVisitor.prototype.variableDeclaratorList = function (ctx) {
194
194
  var variableDeclarators = this.mapVisit(ctx.variableDeclarator);
195
- var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return prettier_builder_1.concat([elt, " "]); }) : [];
196
- return printer_utils_1.rejectAndJoinSeps(commas, variableDeclarators);
195
+ var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return (0, prettier_builder_1.concat)([elt, " "]); }) : [];
196
+ return (0, printer_utils_1.rejectAndJoinSeps)(commas, variableDeclarators);
197
197
  };
198
198
  ClassesPrettierVisitor.prototype.variableDeclarator = function (ctx) {
199
199
  var variableDeclaratorId = this.visit(ctx.variableDeclaratorId);
200
200
  if (ctx.Equals) {
201
201
  var variableInitializer = this.visit(ctx.variableInitializer);
202
- if (comments_utils_1.hasLeadingLineComments(ctx.variableInitializer[0])) {
203
- return prettier_builder_1.group(prettier_builder_1.indent(printer_utils_1.rejectAndJoin(hardline, [
204
- printer_utils_1.rejectAndJoin(" ", [variableDeclaratorId, ctx.Equals[0]]),
202
+ if ((0, comments_utils_1.hasLeadingLineComments)(ctx.variableInitializer[0])) {
203
+ return (0, prettier_builder_1.group)((0, prettier_builder_1.indent)((0, printer_utils_1.rejectAndJoin)(hardline, [
204
+ (0, printer_utils_1.rejectAndJoin)(" ", [variableDeclaratorId, ctx.Equals[0]]),
205
205
  variableInitializer
206
206
  ])));
207
207
  }
@@ -216,7 +216,7 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
216
216
  .ternaryExpression !== undefined &&
217
217
  ctx.variableInitializer[0].children.expression[0].children
218
218
  .ternaryExpression[0].children.QuestionMark !== undefined)) {
219
- return printer_utils_1.rejectAndJoin(" ", [
219
+ return (0, printer_utils_1.rejectAndJoin)(" ", [
220
220
  variableDeclaratorId,
221
221
  ctx.Equals[0],
222
222
  variableInitializer
@@ -230,7 +230,7 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
230
230
  // Cast Expression
231
231
  if (firstPrimary.children.primaryPrefix[0].children.castExpression !==
232
232
  undefined) {
233
- return printer_utils_1.rejectAndJoin(" ", [
233
+ return (0, printer_utils_1.rejectAndJoin)(" ", [
234
234
  variableDeclaratorId,
235
235
  ctx.Equals[0],
236
236
  variableInitializer
@@ -239,7 +239,7 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
239
239
  // New Expression
240
240
  if (firstPrimary.children.primaryPrefix[0].children.newExpression !==
241
241
  undefined) {
242
- return printer_utils_1.rejectAndJoin(" ", [
242
+ return (0, printer_utils_1.rejectAndJoin)(" ", [
243
243
  variableDeclaratorId,
244
244
  ctx.Equals[0],
245
245
  variableInitializer
@@ -254,15 +254,15 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
254
254
  .unaryExpression.length === 1;
255
255
  var isUniqueMethodInvocation = isMethodInvocation && isUniqueUnaryExpression;
256
256
  if (isUniqueMethodInvocation) {
257
- return printer_utils_1.rejectAndJoin(" ", [
257
+ return (0, printer_utils_1.rejectAndJoin)(" ", [
258
258
  variableDeclaratorId,
259
259
  ctx.Equals[0],
260
260
  variableInitializer
261
261
  ]);
262
262
  }
263
263
  }
264
- return prettier_builder_1.group(prettier_builder_1.indent(printer_utils_1.rejectAndJoin(line, [
265
- printer_utils_1.rejectAndJoin(" ", [variableDeclaratorId, ctx.Equals[0]]),
264
+ return (0, prettier_builder_1.group)((0, prettier_builder_1.indent)((0, printer_utils_1.rejectAndJoin)(line, [
265
+ (0, printer_utils_1.rejectAndJoin)(" ", [variableDeclaratorId, ctx.Equals[0]]),
266
266
  variableInitializer
267
267
  ])));
268
268
  }
@@ -271,7 +271,7 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
271
271
  ClassesPrettierVisitor.prototype.variableDeclaratorId = function (ctx) {
272
272
  var identifier = ctx.Identifier[0];
273
273
  var dims = this.visit(ctx.dims);
274
- return printer_utils_1.rejectAndConcat([identifier, dims]);
274
+ return (0, printer_utils_1.rejectAndConcat)([identifier, dims]);
275
275
  };
276
276
  ClassesPrettierVisitor.prototype.variableInitializer = function (ctx) {
277
277
  return this.visitSingle(ctx);
@@ -282,66 +282,66 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
282
282
  ClassesPrettierVisitor.prototype.unannPrimitiveTypeWithOptionalDimsSuffix = function (ctx) {
283
283
  var unannPrimitiveType = this.visit(ctx.unannPrimitiveType);
284
284
  var dims = this.visit(ctx.dims);
285
- return printer_utils_1.rejectAndConcat([unannPrimitiveType, dims]);
285
+ return (0, printer_utils_1.rejectAndConcat)([unannPrimitiveType, dims]);
286
286
  };
287
287
  ClassesPrettierVisitor.prototype.unannPrimitiveType = function (ctx) {
288
288
  if (ctx.numericType) {
289
289
  return this.visitSingle(ctx);
290
290
  }
291
- return format_comments_1.printTokenWithComments(this.getSingle(ctx));
291
+ return (0, format_comments_1.printTokenWithComments)(this.getSingle(ctx));
292
292
  };
293
293
  ClassesPrettierVisitor.prototype.unannReferenceType = function (ctx) {
294
294
  var unannClassOrInterfaceType = this.visit(ctx.unannClassOrInterfaceType);
295
295
  var dims = this.visit(ctx.dims);
296
- return printer_utils_1.rejectAndConcat([unannClassOrInterfaceType, dims]);
296
+ return (0, printer_utils_1.rejectAndConcat)([unannClassOrInterfaceType, dims]);
297
297
  };
298
298
  ClassesPrettierVisitor.prototype.unannClassOrInterfaceType = function (ctx) {
299
299
  return this.visit(ctx.unannClassType);
300
300
  };
301
301
  ClassesPrettierVisitor.prototype.unannClassType = function (ctx) {
302
302
  var _this = this;
303
- var tokens = printer_utils_1.sortClassTypeChildren(ctx.annotation, ctx.typeArguments, ctx.Identifier);
303
+ var tokens = (0, printer_utils_1.sortClassTypeChildren)(ctx.annotation, ctx.typeArguments, ctx.Identifier);
304
304
  var segments = [];
305
305
  var currentSegment = [];
306
- forEach_1.default(tokens, function (token, i) {
307
- if (utils_1.isTypeArgumentsCstNode(token)) {
306
+ (0, forEach_1.default)(tokens, function (token, i) {
307
+ if ((0, utils_1.isTypeArgumentsCstNode)(token)) {
308
308
  currentSegment.push(_this.visit([token]));
309
- segments.push(printer_utils_1.rejectAndConcat(currentSegment));
309
+ segments.push((0, printer_utils_1.rejectAndConcat)(currentSegment));
310
310
  currentSegment = [];
311
311
  }
312
- else if (utils_1.isAnnotationCstNode(token)) {
312
+ else if ((0, utils_1.isAnnotationCstNode)(token)) {
313
313
  currentSegment.push(_this.visit([token]));
314
314
  currentSegment.push(" ");
315
315
  }
316
316
  else {
317
317
  currentSegment.push(token);
318
- if ((i + 1 < tokens.length && !utils_1.isTypeArgumentsCstNode(tokens[i + 1])) ||
318
+ if ((i + 1 < tokens.length && !(0, utils_1.isTypeArgumentsCstNode)(tokens[i + 1])) ||
319
319
  i + 1 === tokens.length) {
320
- segments.push(printer_utils_1.rejectAndConcat(currentSegment));
320
+ segments.push((0, printer_utils_1.rejectAndConcat)(currentSegment));
321
321
  currentSegment = [];
322
322
  }
323
323
  }
324
324
  });
325
- return printer_utils_1.rejectAndJoinSeps(ctx.Dot, segments);
325
+ return (0, printer_utils_1.rejectAndJoinSeps)(ctx.Dot, segments);
326
326
  };
327
327
  ClassesPrettierVisitor.prototype.unannInterfaceType = function (ctx) {
328
328
  return this.visit(ctx.unannClassType);
329
329
  };
330
330
  ClassesPrettierVisitor.prototype.unannTypeVariable = function (ctx) {
331
- return format_comments_1.printTokenWithComments(this.getSingle(ctx));
331
+ return (0, format_comments_1.printTokenWithComments)(this.getSingle(ctx));
332
332
  };
333
333
  ClassesPrettierVisitor.prototype.methodDeclaration = function (ctx) {
334
- var modifiers = printer_utils_1.sortModifiers(ctx.methodModifier);
334
+ var modifiers = (0, printer_utils_1.sortModifiers)(ctx.methodModifier);
335
335
  var firstAnnotations = this.mapVisit(modifiers[0]);
336
336
  var otherModifiers = this.mapVisit(modifiers[1]);
337
337
  var header = this.visit(ctx.methodHeader);
338
338
  var body = this.visit(ctx.methodBody);
339
- var headerBodySeparator = printer_utils_1.isStatementEmptyStatement(body) ? "" : " ";
340
- return printer_utils_1.rejectAndJoin(hardline, [
341
- printer_utils_1.rejectAndJoin(hardline, firstAnnotations),
342
- printer_utils_1.rejectAndJoin(" ", [
343
- printer_utils_1.rejectAndJoin(" ", otherModifiers),
344
- printer_utils_1.rejectAndJoin(headerBodySeparator, [header, body])
339
+ var headerBodySeparator = (0, printer_utils_1.isStatementEmptyStatement)(body) ? "" : " ";
340
+ return (0, printer_utils_1.rejectAndJoin)(hardline, [
341
+ (0, printer_utils_1.rejectAndJoin)(hardline, firstAnnotations),
342
+ (0, printer_utils_1.rejectAndJoin)(" ", [
343
+ (0, printer_utils_1.rejectAndJoin)(" ", otherModifiers),
344
+ (0, printer_utils_1.rejectAndJoin)(headerBodySeparator, [header, body])
345
345
  ])
346
346
  ]);
347
347
  };
@@ -350,7 +350,7 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
350
350
  return this.visit(ctx.annotation);
351
351
  }
352
352
  // public | protected | private | Synchronized | ...
353
- return format_comments_1.printTokenWithComments(this.getSingle(ctx));
353
+ return (0, format_comments_1.printTokenWithComments)(this.getSingle(ctx));
354
354
  };
355
355
  ClassesPrettierVisitor.prototype.methodHeader = function (ctx) {
356
356
  var typeParameters = this.visit(ctx.typeParameters);
@@ -358,10 +358,10 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
358
358
  var result = this.visit(ctx.result);
359
359
  var declarator = this.visit(ctx.methodDeclarator);
360
360
  var throws = this.visit(ctx.throws);
361
- return prettier_builder_1.group(prettier_builder_1.concat([
362
- printer_utils_1.rejectAndJoin(" ", [
361
+ return (0, prettier_builder_1.group)((0, prettier_builder_1.concat)([
362
+ (0, printer_utils_1.rejectAndJoin)(" ", [
363
363
  typeParameters,
364
- printer_utils_1.rejectAndJoin(line, annotations),
364
+ (0, printer_utils_1.rejectAndJoin)(line, annotations),
365
365
  result,
366
366
  declarator,
367
367
  throws
@@ -373,15 +373,15 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
373
373
  return this.visit(ctx.unannType);
374
374
  }
375
375
  // void
376
- return format_comments_1.printTokenWithComments(this.getSingle(ctx));
376
+ return (0, format_comments_1.printTokenWithComments)(this.getSingle(ctx));
377
377
  };
378
378
  ClassesPrettierVisitor.prototype.methodDeclarator = function (ctx) {
379
- var identifier = format_comments_1.printTokenWithComments(ctx.Identifier[0]);
379
+ var identifier = (0, format_comments_1.printTokenWithComments)(ctx.Identifier[0]);
380
380
  var formalParameterList = this.visit(ctx.formalParameterList);
381
381
  var dims = this.visit(ctx.dims);
382
- return printer_utils_1.rejectAndConcat([
382
+ return (0, printer_utils_1.rejectAndConcat)([
383
383
  identifier,
384
- printer_utils_1.putIntoBraces(formalParameterList, softline, ctx.LBrace[0], ctx.RBrace[0]),
384
+ (0, printer_utils_1.putIntoBraces)(formalParameterList, softline, ctx.LBrace[0], ctx.RBrace[0]),
385
385
  dims
386
386
  ]);
387
387
  };
@@ -389,10 +389,10 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
389
389
  var annotations = this.mapVisit(ctx.annotation);
390
390
  var unannType = this.visit(ctx.unannType);
391
391
  var identifier = ctx.Identifier
392
- ? prettier_builder_1.concat([ctx.Identifier[0], ctx.Dot[0]])
392
+ ? (0, prettier_builder_1.concat)([ctx.Identifier[0], ctx.Dot[0]])
393
393
  : "";
394
- return printer_utils_1.rejectAndJoin("", [
395
- printer_utils_1.rejectAndJoin(" ", annotations),
394
+ return (0, printer_utils_1.rejectAndJoin)("", [
395
+ (0, printer_utils_1.rejectAndJoin)(" ", annotations),
396
396
  unannType,
397
397
  identifier,
398
398
  ctx.This[0]
@@ -400,8 +400,8 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
400
400
  };
401
401
  ClassesPrettierVisitor.prototype.formalParameterList = function (ctx) {
402
402
  var formalParameter = this.mapVisit(ctx.formalParameter);
403
- var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return prettier_builder_1.concat([elt, line]); }) : [];
404
- return printer_utils_1.rejectAndJoinSeps(commas, formalParameter);
403
+ var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return (0, prettier_builder_1.concat)([elt, line]); }) : [];
404
+ return (0, printer_utils_1.rejectAndJoinSeps)(commas, formalParameter);
405
405
  };
406
406
  ClassesPrettierVisitor.prototype.formalParameter = function (ctx) {
407
407
  return this.visitSingle(ctx);
@@ -410,8 +410,8 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
410
410
  var variableModifier = this.mapVisit(ctx.variableModifier);
411
411
  var unannType = this.visit(ctx.unannType);
412
412
  var variableDeclaratorId = this.visit(ctx.variableDeclaratorId);
413
- return printer_utils_1.rejectAndJoin(" ", [
414
- printer_utils_1.rejectAndJoin(" ", variableModifier),
413
+ return (0, printer_utils_1.rejectAndJoin)(" ", [
414
+ (0, printer_utils_1.rejectAndJoin)(" ", variableModifier),
415
415
  unannType,
416
416
  variableDeclaratorId
417
417
  ]);
@@ -422,13 +422,13 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
422
422
  var annotations = this.mapVisit(ctx.annotation);
423
423
  var identifier = ctx.Identifier[0];
424
424
  var unannTypePrinted = ctx.annotation === undefined
425
- ? prettier_builder_1.concat([unannType, ctx.DotDotDot[0]])
425
+ ? (0, prettier_builder_1.concat)([unannType, ctx.DotDotDot[0]])
426
426
  : unannType;
427
427
  var annotationsPrinted = ctx.annotation === undefined
428
428
  ? annotations
429
- : prettier_builder_1.concat([printer_utils_1.rejectAndJoin(" ", annotations), ctx.DotDotDot[0]]);
430
- return printer_utils_1.rejectAndJoin(" ", [
431
- prettier_builder_1.join(" ", variableModifier),
429
+ : (0, prettier_builder_1.concat)([(0, printer_utils_1.rejectAndJoin)(" ", annotations), ctx.DotDotDot[0]]);
430
+ return (0, printer_utils_1.rejectAndJoin)(" ", [
431
+ (0, prettier_builder_1.join)(" ", variableModifier),
432
432
  unannTypePrinted,
433
433
  annotationsPrinted,
434
434
  identifier
@@ -438,17 +438,17 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
438
438
  if (ctx.annotation) {
439
439
  return this.visit(ctx.annotation);
440
440
  }
441
- return format_comments_1.printTokenWithComments(this.getSingle(ctx));
441
+ return (0, format_comments_1.printTokenWithComments)(this.getSingle(ctx));
442
442
  };
443
443
  ClassesPrettierVisitor.prototype.throws = function (ctx) {
444
444
  var exceptionTypeList = this.visit(ctx.exceptionTypeList);
445
- var throwsDeclaration = prettier_builder_1.join(" ", [ctx.Throws[0], exceptionTypeList]);
446
- return prettier_builder_1.group(prettier_builder_1.indent(printer_utils_1.rejectAndConcat([softline, throwsDeclaration])));
445
+ var throwsDeclaration = (0, prettier_builder_1.join)(" ", [ctx.Throws[0], exceptionTypeList]);
446
+ return (0, prettier_builder_1.group)((0, prettier_builder_1.indent)((0, printer_utils_1.rejectAndConcat)([softline, throwsDeclaration])));
447
447
  };
448
448
  ClassesPrettierVisitor.prototype.exceptionTypeList = function (ctx) {
449
449
  var exceptionTypes = this.mapVisit(ctx.exceptionType);
450
- var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return prettier_builder_1.concat([elt, " "]); }) : [];
451
- return printer_utils_1.rejectAndJoinSeps(commas, exceptionTypes);
450
+ var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return (0, prettier_builder_1.concat)([elt, " "]); }) : [];
451
+ return (0, printer_utils_1.rejectAndJoinSeps)(commas, exceptionTypes);
452
452
  };
453
453
  ClassesPrettierVisitor.prototype.exceptionType = function (ctx) {
454
454
  return this.visitSingle(ctx);
@@ -457,27 +457,27 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
457
457
  if (ctx.block) {
458
458
  return this.visit(ctx.block);
459
459
  }
460
- return format_comments_1.printTokenWithComments(this.getSingle(ctx));
460
+ return (0, format_comments_1.printTokenWithComments)(this.getSingle(ctx));
461
461
  };
462
462
  ClassesPrettierVisitor.prototype.instanceInitializer = function (ctx) {
463
463
  return this.visitSingle(ctx);
464
464
  };
465
465
  ClassesPrettierVisitor.prototype.staticInitializer = function (ctx) {
466
466
  var block = this.visit(ctx.block);
467
- return prettier_builder_1.join(" ", [ctx.Static[0], block]);
467
+ return (0, prettier_builder_1.join)(" ", [ctx.Static[0], block]);
468
468
  };
469
469
  ClassesPrettierVisitor.prototype.constructorDeclaration = function (ctx) {
470
- var modifiers = printer_utils_1.sortModifiers(ctx.constructorModifier);
470
+ var modifiers = (0, printer_utils_1.sortModifiers)(ctx.constructorModifier);
471
471
  var firstAnnotations = this.mapVisit(modifiers[0]);
472
472
  var otherModifiers = this.mapVisit(modifiers[1]);
473
473
  var constructorDeclarator = this.visit(ctx.constructorDeclarator);
474
474
  var throws = this.visit(ctx.throws);
475
475
  var constructorBody = this.visit(ctx.constructorBody);
476
- return printer_utils_1.rejectAndJoin(" ", [
477
- prettier_builder_1.group(printer_utils_1.rejectAndJoin(hardline, [
478
- printer_utils_1.rejectAndJoin(hardline, firstAnnotations),
479
- printer_utils_1.rejectAndJoin(" ", [
480
- prettier_builder_1.join(" ", otherModifiers),
476
+ return (0, printer_utils_1.rejectAndJoin)(" ", [
477
+ (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndJoin)(hardline, [
478
+ (0, printer_utils_1.rejectAndJoin)(hardline, firstAnnotations),
479
+ (0, printer_utils_1.rejectAndJoin)(" ", [
480
+ (0, prettier_builder_1.join)(" ", otherModifiers),
481
481
  constructorDeclarator,
482
482
  throws
483
483
  ])
@@ -490,29 +490,29 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
490
490
  return this.visit(ctx.annotation);
491
491
  }
492
492
  // public | protected | private | Synchronized | ...
493
- return format_comments_1.printTokenWithComments(this.getSingle(ctx));
493
+ return (0, format_comments_1.printTokenWithComments)(this.getSingle(ctx));
494
494
  };
495
495
  ClassesPrettierVisitor.prototype.constructorDeclarator = function (ctx) {
496
496
  var typeParameters = this.visit(ctx.typeParameters);
497
497
  var simpleTypeName = this.visit(ctx.simpleTypeName);
498
498
  var receiverParameter = this.visit(ctx.receiverParameter);
499
499
  var formalParameterList = this.visit(ctx.formalParameterList);
500
- var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return prettier_builder_1.concat([elt, " "]); }) : [];
501
- return printer_utils_1.rejectAndJoin(" ", [
500
+ var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return (0, prettier_builder_1.concat)([elt, " "]); }) : [];
501
+ return (0, printer_utils_1.rejectAndJoin)(" ", [
502
502
  typeParameters,
503
- prettier_builder_1.concat([
503
+ (0, prettier_builder_1.concat)([
504
504
  simpleTypeName,
505
- printer_utils_1.putIntoBraces(printer_utils_1.rejectAndJoinSeps(commas, [receiverParameter, formalParameterList]), softline, ctx.LBrace[0], ctx.RBrace[0])
505
+ (0, printer_utils_1.putIntoBraces)((0, printer_utils_1.rejectAndJoinSeps)(commas, [receiverParameter, formalParameterList]), softline, ctx.LBrace[0], ctx.RBrace[0])
506
506
  ])
507
507
  ]);
508
508
  };
509
509
  ClassesPrettierVisitor.prototype.simpleTypeName = function (ctx) {
510
- return format_comments_1.printTokenWithComments(this.getSingle(ctx));
510
+ return (0, format_comments_1.printTokenWithComments)(this.getSingle(ctx));
511
511
  };
512
512
  ClassesPrettierVisitor.prototype.constructorBody = function (ctx) {
513
513
  var explicitConstructorInvocation = this.visit(ctx.explicitConstructorInvocation);
514
514
  var blockStatements = this.visit(ctx.blockStatements);
515
- return printer_utils_1.putIntoBraces(printer_utils_1.rejectAndJoin(hardline, [explicitConstructorInvocation, blockStatements]), hardline, ctx.LCurly[0], ctx.RCurly[0]);
515
+ return (0, printer_utils_1.putIntoBraces)((0, printer_utils_1.rejectAndJoin)(hardline, [explicitConstructorInvocation, blockStatements]), hardline, ctx.LCurly[0], ctx.RCurly[0]);
516
516
  };
517
517
  ClassesPrettierVisitor.prototype.explicitConstructorInvocation = function (ctx) {
518
518
  return this.visitSingle(ctx);
@@ -521,22 +521,22 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
521
521
  var typeArguments = this.visit(ctx.typeArguments);
522
522
  var keyWord = ctx.This ? ctx.This[0] : ctx.Super[0];
523
523
  var argumentList = utils_2.printArgumentListWithBraces.call(this, ctx.argumentList, ctx.RBrace[0], ctx.LBrace[0]);
524
- return printer_utils_1.rejectAndConcat([
524
+ return (0, printer_utils_1.rejectAndConcat)([
525
525
  typeArguments,
526
526
  keyWord,
527
- prettier_builder_1.group(printer_utils_1.rejectAndConcat([argumentList, ctx.Semicolon[0]]))
527
+ (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndConcat)([argumentList, ctx.Semicolon[0]]))
528
528
  ]);
529
529
  };
530
530
  ClassesPrettierVisitor.prototype.qualifiedExplicitConstructorInvocation = function (ctx) {
531
531
  var expressionName = this.visit(ctx.expressionName);
532
532
  var typeArguments = this.visit(ctx.typeArguments);
533
533
  var argumentList = utils_2.printArgumentListWithBraces.call(this, ctx.argumentList, ctx.RBrace[0], ctx.LBrace[0]);
534
- return printer_utils_1.rejectAndConcat([
534
+ return (0, printer_utils_1.rejectAndConcat)([
535
535
  expressionName,
536
536
  ctx.Dot[0],
537
537
  typeArguments,
538
538
  ctx.Super[0],
539
- prettier_builder_1.group(printer_utils_1.rejectAndConcat([argumentList, ctx.Semicolon[0]]))
539
+ (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndConcat)([argumentList, ctx.Semicolon[0]]))
540
540
  ]);
541
541
  };
542
542
  ClassesPrettierVisitor.prototype.enumDeclaration = function (ctx) {
@@ -544,8 +544,8 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
544
544
  var typeIdentifier = this.visit(ctx.typeIdentifier);
545
545
  var superinterfaces = this.visit(ctx.superinterfaces);
546
546
  var enumBody = this.visit(ctx.enumBody);
547
- return printer_utils_1.rejectAndJoin(" ", [
548
- prettier_builder_1.join(" ", classModifier),
547
+ return (0, printer_utils_1.rejectAndJoin)(" ", [
548
+ (0, prettier_builder_1.join)(" ", classModifier),
549
549
  ctx.Enum[0],
550
550
  typeIdentifier,
551
551
  superinterfaces,
@@ -560,7 +560,7 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
560
560
  ctx.enumBodyDeclarations[0].children.classBodyDeclaration === undefined;
561
561
  // edge case: https://github.com/jhipster/prettier-java/issues/383
562
562
  var handleEnumBodyDeclarationsLeadingComments = !hasNoClassBodyDeclarations &&
563
- comments_utils_1.hasLeadingComments(ctx.enumBodyDeclarations[0])
563
+ (0, comments_utils_1.hasLeadingComments)(ctx.enumBodyDeclarations[0])
564
564
  ? hardline
565
565
  : "";
566
566
  var optionalComma;
@@ -572,7 +572,7 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
572
572
  else {
573
573
  optionalComma = ctx.Comma ? __assign(__assign({}, ctx.Comma[0]), { image: "" }) : "";
574
574
  }
575
- return printer_utils_1.putIntoBraces(printer_utils_1.rejectAndConcat([
575
+ return (0, printer_utils_1.putIntoBraces)((0, printer_utils_1.rejectAndConcat)([
576
576
  enumConstantList,
577
577
  optionalComma,
578
578
  handleEnumBodyDeclarationsLeadingComments,
@@ -581,16 +581,16 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
581
581
  };
582
582
  ClassesPrettierVisitor.prototype.enumConstantList = function (ctx) {
583
583
  var enumConstants = this.mapVisit(ctx.enumConstant);
584
- var blankLineSeparators = printer_utils_1.getBlankLinesSeparator(ctx.enumConstant);
584
+ var blankLineSeparators = (0, printer_utils_1.getBlankLinesSeparator)(ctx.enumConstant);
585
585
  var commas = ctx.Comma
586
586
  ? ctx.Comma.map(function (elt, index) {
587
- return prettier_builder_1.concat([elt, blankLineSeparators[index]]);
587
+ return (0, prettier_builder_1.concat)([elt, blankLineSeparators[index]]);
588
588
  })
589
589
  : [];
590
- return prettier_builder_1.group(printer_utils_1.rejectAndJoinSeps(commas, enumConstants));
590
+ return (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndJoinSeps)(commas, enumConstants));
591
591
  };
592
592
  ClassesPrettierVisitor.prototype.enumConstant = function (ctx) {
593
- var modifiers = printer_utils_1.sortModifiers(ctx.enumConstantModifier);
593
+ var modifiers = (0, printer_utils_1.sortModifiers)(ctx.enumConstantModifier);
594
594
  var firstAnnotations = this.mapVisit(modifiers[0]);
595
595
  var otherModifiers = this.mapVisit(modifiers[1]);
596
596
  var identifier = ctx.Identifier[0];
@@ -598,11 +598,11 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
598
598
  var optionalBracesAndArgumentList = ctx.LBrace
599
599
  ? utils_2.printArgumentListWithBraces.call(this, ctx.argumentList, ctx.RBrace[0], ctx.LBrace[0])
600
600
  : "";
601
- return printer_utils_1.rejectAndJoin(hardline, [
602
- printer_utils_1.rejectAndJoin(hardline, firstAnnotations),
603
- printer_utils_1.rejectAndJoin(" ", [
604
- printer_utils_1.rejectAndJoin(" ", otherModifiers),
605
- printer_utils_1.rejectAndConcat([identifier, optionalBracesAndArgumentList]),
601
+ return (0, printer_utils_1.rejectAndJoin)(hardline, [
602
+ (0, printer_utils_1.rejectAndJoin)(hardline, firstAnnotations),
603
+ (0, printer_utils_1.rejectAndJoin)(" ", [
604
+ (0, printer_utils_1.rejectAndJoin)(" ", otherModifiers),
605
+ (0, printer_utils_1.rejectAndConcat)([identifier, optionalBracesAndArgumentList]),
606
606
  classBody
607
607
  ])
608
608
  ]);
@@ -613,13 +613,13 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
613
613
  ClassesPrettierVisitor.prototype.enumBodyDeclarations = function (ctx) {
614
614
  if (ctx.classBodyDeclaration !== undefined) {
615
615
  var classBodyDeclaration = this.mapVisit(ctx.classBodyDeclaration);
616
- var separators = printer_utils_1.getClassBodyDeclarationsSeparator(ctx.classBodyDeclaration);
617
- return printer_utils_1.rejectAndJoin(prettier_builder_1.concat([hardline, hardline]), [
616
+ var separators = (0, printer_utils_1.getClassBodyDeclarationsSeparator)(ctx.classBodyDeclaration);
617
+ return (0, printer_utils_1.rejectAndJoin)((0, prettier_builder_1.concat)([hardline, hardline]), [
618
618
  ctx.Semicolon[0],
619
- printer_utils_1.rejectAndJoinSeps(separators, classBodyDeclaration)
619
+ (0, printer_utils_1.rejectAndJoinSeps)(separators, classBodyDeclaration)
620
620
  ]);
621
621
  }
622
- return __assign(__assign({}, ctx.Semicolon[0]), { image: "" });
622
+ return (0, format_comments_1.printTokenWithComments)(__assign(__assign({}, ctx.Semicolon[0]), { image: "" }));
623
623
  };
624
624
  ClassesPrettierVisitor.prototype.recordDeclaration = function (ctx) {
625
625
  var name = this.visit(ctx.typeIdentifier);
@@ -628,12 +628,12 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
628
628
  var superInterfacesPart = "";
629
629
  var optionalSuperInterfaces = this.visit(ctx.superinterfaces);
630
630
  if (optionalSuperInterfaces) {
631
- superInterfacesPart = prettier_builder_1.indent(printer_utils_1.rejectAndConcat([line, optionalSuperInterfaces]));
631
+ superInterfacesPart = (0, prettier_builder_1.indent)((0, printer_utils_1.rejectAndConcat)([line, optionalSuperInterfaces]));
632
632
  }
633
633
  var body = this.visit(ctx.recordBody);
634
- return printer_utils_1.rejectAndJoin(" ", [
635
- prettier_builder_1.group(printer_utils_1.rejectAndConcat([
636
- printer_utils_1.rejectAndJoin(" ", [ctx.Record[0], name]),
634
+ return (0, printer_utils_1.rejectAndJoin)(" ", [
635
+ (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndConcat)([
636
+ (0, printer_utils_1.rejectAndJoin)(" ", [ctx.Record[0], name]),
637
637
  optionalTypeParams,
638
638
  recordHeader,
639
639
  superInterfacesPart
@@ -643,44 +643,44 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
643
643
  };
644
644
  ClassesPrettierVisitor.prototype.recordHeader = function (ctx) {
645
645
  var recordComponentList = this.visit(ctx.recordComponentList);
646
- return printer_utils_1.putIntoBraces(recordComponentList, softline, ctx.LBrace[0], ctx.RBrace[0]);
646
+ return (0, printer_utils_1.putIntoBraces)(recordComponentList, softline, ctx.LBrace[0], ctx.RBrace[0]);
647
647
  };
648
648
  ClassesPrettierVisitor.prototype.recordComponentList = function (ctx) {
649
649
  var recordComponents = this.mapVisit(ctx.recordComponent);
650
- var blankLineSeparators = printer_utils_1.getBlankLinesSeparator(ctx.recordComponent, line);
650
+ var blankLineSeparators = (0, printer_utils_1.getBlankLinesSeparator)(ctx.recordComponent, line);
651
651
  var commas = ctx.Comma
652
652
  ? ctx.Comma.map(function (elt, index) {
653
- return prettier_builder_1.concat([elt, blankLineSeparators[index]]);
653
+ return (0, prettier_builder_1.concat)([elt, blankLineSeparators[index]]);
654
654
  })
655
655
  : [];
656
- return printer_utils_1.rejectAndJoinSeps(commas, recordComponents);
656
+ return (0, printer_utils_1.rejectAndJoinSeps)(commas, recordComponents);
657
657
  };
658
658
  ClassesPrettierVisitor.prototype.recordComponent = function (ctx) {
659
659
  var modifiers = this.mapVisit(ctx.recordComponentModifier);
660
660
  var unannType = this.visit(ctx.unannType);
661
661
  if (ctx.Identifier !== undefined) {
662
- return prettier_builder_1.group(printer_utils_1.rejectAndJoin(line, [
663
- prettier_builder_1.join(line, modifiers),
664
- prettier_builder_1.join(" ", [unannType, ctx.Identifier[0]])
662
+ return (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndJoin)(line, [
663
+ (0, prettier_builder_1.join)(line, modifiers),
664
+ (0, prettier_builder_1.join)(" ", [unannType, ctx.Identifier[0]])
665
665
  ]));
666
666
  }
667
667
  var variableArityRecordComponent = this.visit(ctx.variableArityRecordComponent);
668
668
  if (ctx.variableArityRecordComponent[0].children.annotation !== undefined) {
669
- return prettier_builder_1.group(printer_utils_1.rejectAndJoin(line, [
670
- prettier_builder_1.join(line, modifiers),
671
- prettier_builder_1.join(" ", [unannType, variableArityRecordComponent])
669
+ return (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndJoin)(line, [
670
+ (0, prettier_builder_1.join)(line, modifiers),
671
+ (0, prettier_builder_1.join)(" ", [unannType, variableArityRecordComponent])
672
672
  ]));
673
673
  }
674
- return prettier_builder_1.group(printer_utils_1.rejectAndJoin(line, [
675
- prettier_builder_1.join(line, modifiers),
676
- prettier_builder_1.concat([unannType, variableArityRecordComponent])
674
+ return (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndJoin)(line, [
675
+ (0, prettier_builder_1.join)(line, modifiers),
676
+ (0, prettier_builder_1.concat)([unannType, variableArityRecordComponent])
677
677
  ]));
678
678
  };
679
679
  ClassesPrettierVisitor.prototype.variableArityRecordComponent = function (ctx) {
680
680
  var annotations = this.mapVisit(ctx.annotation);
681
681
  var identifier = ctx.Identifier[0];
682
- return printer_utils_1.rejectAndJoin(" ", [
683
- printer_utils_1.rejectAndConcat([printer_utils_1.rejectAndJoin(" ", annotations), ctx.DotDotDot[0]]),
682
+ return (0, printer_utils_1.rejectAndJoin)(" ", [
683
+ (0, printer_utils_1.rejectAndConcat)([(0, printer_utils_1.rejectAndJoin)(" ", annotations), ctx.DotDotDot[0]]),
684
684
  identifier
685
685
  ]);
686
686
  };
@@ -688,21 +688,21 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
688
688
  return this.visitSingle(ctx);
689
689
  };
690
690
  ClassesPrettierVisitor.prototype.recordBody = function (ctx) {
691
- return printer_utils_1.putIntoBraces(printer_utils_1.rejectAndJoinSeps(printer_utils_1.getBlankLinesSeparator(ctx.recordBodyDeclaration), this.mapVisit(ctx.recordBodyDeclaration)), hardline, ctx.LCurly[0], ctx.RCurly[0]);
691
+ return (0, printer_utils_1.putIntoBraces)((0, printer_utils_1.rejectAndJoinSeps)((0, printer_utils_1.getBlankLinesSeparator)(ctx.recordBodyDeclaration), this.mapVisit(ctx.recordBodyDeclaration)), hardline, ctx.LCurly[0], ctx.RCurly[0]);
692
692
  };
693
693
  ClassesPrettierVisitor.prototype.recordBodyDeclaration = function (ctx) {
694
694
  return this.visitSingle(ctx);
695
695
  };
696
696
  ClassesPrettierVisitor.prototype.compactConstructorDeclaration = function (ctx) {
697
- var modifiers = printer_utils_1.sortModifiers(ctx.constructorModifier);
697
+ var modifiers = (0, printer_utils_1.sortModifiers)(ctx.constructorModifier);
698
698
  var firstAnnotations = this.mapVisit(modifiers[0]);
699
699
  var otherModifiers = this.mapVisit(modifiers[1]);
700
700
  var name = this.visit(ctx.simpleTypeName);
701
701
  var constructorBody = this.visit(ctx.constructorBody);
702
- return printer_utils_1.rejectAndJoin(" ", [
703
- prettier_builder_1.group(printer_utils_1.rejectAndJoin(hardline, [
704
- printer_utils_1.rejectAndJoin(hardline, firstAnnotations),
705
- printer_utils_1.rejectAndJoin(" ", [prettier_builder_1.join(" ", otherModifiers), name])
702
+ return (0, printer_utils_1.rejectAndJoin)(" ", [
703
+ (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndJoin)(hardline, [
704
+ (0, printer_utils_1.rejectAndJoin)(hardline, firstAnnotations),
705
+ (0, printer_utils_1.rejectAndJoin)(" ", [(0, prettier_builder_1.join)(" ", otherModifiers), name])
706
706
  ])),
707
707
  constructorBody
708
708
  ]);
@@ -722,3 +722,4 @@ var ClassesPrettierVisitor = /** @class */ (function (_super) {
722
722
  return ClassesPrettierVisitor;
723
723
  }(base_cst_printer_1.BaseCstPrettierPrinter));
724
724
  exports.ClassesPrettierVisitor = ClassesPrettierVisitor;
725
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcmludGVycy9jbGFzc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkRBQXFDO0FBQ3JDLGlEQVl5QjtBQUN6Qix1REFBaUU7QUFDakUsOERBQW9FO0FBQ3BFLDREQUdtQztBQUNuQyxvQ0FBd0M7QUFDeEMsd0RBQTZEO0FBdUU3RCx3Q0FBNkU7QUFDN0Usa0NBQXVEO0FBRS9DLElBQUEsSUFBSSxHQUF5QixjQUFRLEtBQWpDLEVBQUUsUUFBUSxHQUFlLGNBQVEsU0FBdkIsRUFBRSxRQUFRLEdBQUssY0FBUSxTQUFiLENBQWM7QUFFOUM7SUFBNEMsMENBQXNCO0lBQWxFOztJQWk3QkEsQ0FBQztJQWg3QkMsaURBQWdCLEdBQWhCLFVBQWlCLEdBQXdCO1FBQ3ZDLElBQU0sU0FBUyxHQUFHLElBQUEsNkJBQWEsRUFBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkQsSUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELElBQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbkQsSUFBSSxRQUFRLENBQUM7UUFDYixJQUFJLEdBQUcsQ0FBQyxzQkFBc0IsS0FBSyxTQUFTLEVBQUU7WUFDNUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQztTQUN2QzthQUFNLElBQUksR0FBRyxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUU7WUFDNUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7U0FDaEM7YUFBTTtZQUNMLFFBQVEsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUM7U0FDbEM7UUFFRCxJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FB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