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,191 +1,153 @@
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
19
- if (ar || !(i in from)) {
20
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
21
- ar[i] = from[i];
22
- }
23
- }
24
- return to.concat(ar || Array.prototype.slice.call(from));
25
- };
26
- var __importDefault = (this && this.__importDefault) || function (mod) {
27
- return (mod && mod.__esModule) ? mod : { "default": mod };
28
- };
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.TypesValuesAndVariablesPrettierVisitor = void 0;
31
- var forEach_1 = __importDefault(require("lodash/forEach"));
32
- var doc_1 = require("prettier/doc");
33
- var prettier_builder_1 = require("./prettier-builder");
34
- var format_comments_1 = require("./comments/format-comments");
35
- var printer_utils_1 = require("./printer-utils");
36
- var base_cst_printer_1 = require("../base-cst-printer");
37
- var utils_1 = require("../types/utils");
38
- var line = doc_1.builders.line, softline = doc_1.builders.softline;
39
- var TypesValuesAndVariablesPrettierVisitor = /** @class */ (function (_super) {
40
- __extends(TypesValuesAndVariablesPrettierVisitor, _super);
41
- function TypesValuesAndVariablesPrettierVisitor() {
42
- return _super !== null && _super.apply(this, arguments) || this;
43
- }
44
- TypesValuesAndVariablesPrettierVisitor.prototype.primitiveType = function (ctx) {
45
- var annotations = this.mapVisit(ctx.annotation);
46
- var type = ctx.numericType
1
+ import forEach from "lodash/forEach.js";
2
+ import { builders } from "prettier/doc";
3
+ import { concat, group, indent, join } from "./prettier-builder.js";
4
+ import { printTokenWithComments } from "./comments/format-comments.js";
5
+ import { putIntoBraces, rejectAndConcat, rejectAndJoin, rejectAndJoinSeps, sortClassTypeChildren } from "./printer-utils.js";
6
+ import { BaseCstPrettierPrinter } from "../base-cst-printer.js";
7
+ import { isAnnotationCstNode, isCstNode, isTypeArgumentsCstNode } from "../types/utils.js";
8
+ const { line, softline } = builders;
9
+ export class TypesValuesAndVariablesPrettierVisitor extends BaseCstPrettierPrinter {
10
+ primitiveType(ctx) {
11
+ const annotations = this.mapVisit(ctx.annotation);
12
+ const type = ctx.numericType
47
13
  ? this.visit(ctx.numericType)
48
14
  : this.getSingle(ctx);
49
- return (0, printer_utils_1.rejectAndJoin)(" ", [(0, prettier_builder_1.join)(" ", annotations), type]);
50
- };
51
- TypesValuesAndVariablesPrettierVisitor.prototype.numericType = function (ctx) {
15
+ return rejectAndJoin(" ", [join(" ", annotations), type]);
16
+ }
17
+ numericType(ctx) {
52
18
  return this.visitSingle(ctx);
53
- };
54
- TypesValuesAndVariablesPrettierVisitor.prototype.integralType = function (ctx) {
55
- return (0, format_comments_1.printTokenWithComments)(this.getSingle(ctx));
56
- };
57
- TypesValuesAndVariablesPrettierVisitor.prototype.floatingPointType = function (ctx) {
58
- return (0, format_comments_1.printTokenWithComments)(this.getSingle(ctx));
59
- };
60
- TypesValuesAndVariablesPrettierVisitor.prototype.referenceType = function (ctx) {
61
- var annotations = this.mapVisit(ctx.annotation);
62
- var type = ctx.primitiveType
19
+ }
20
+ integralType(ctx) {
21
+ return printTokenWithComments(this.getSingle(ctx));
22
+ }
23
+ floatingPointType(ctx) {
24
+ return printTokenWithComments(this.getSingle(ctx));
25
+ }
26
+ referenceType(ctx) {
27
+ const annotations = this.mapVisit(ctx.annotation);
28
+ const type = ctx.primitiveType
63
29
  ? this.visit(ctx.primitiveType)
64
30
  : this.visit(ctx.classOrInterfaceType);
65
- var dims = this.visit(ctx.dims);
66
- return (0, printer_utils_1.rejectAndJoin)(" ", [(0, prettier_builder_1.join)(" ", annotations), (0, prettier_builder_1.concat)([type, dims])]);
67
- };
68
- TypesValuesAndVariablesPrettierVisitor.prototype.classOrInterfaceType = function (ctx) {
31
+ const dims = this.visit(ctx.dims);
32
+ return rejectAndJoin(" ", [join(" ", annotations), concat([type, dims])]);
33
+ }
34
+ classOrInterfaceType(ctx) {
69
35
  return this.visitSingle(ctx);
70
- };
71
- TypesValuesAndVariablesPrettierVisitor.prototype.classType = function (ctx) {
72
- var _this = this;
73
- var tokens = (0, printer_utils_1.sortClassTypeChildren)(ctx.annotation, ctx.typeArguments, ctx.Identifier);
74
- var segments = [];
75
- var currentSegment = [];
76
- (0, forEach_1.default)(tokens, function (token, i) {
77
- if ((0, utils_1.isTypeArgumentsCstNode)(token)) {
78
- currentSegment.push(_this.visit([token]));
79
- segments.push((0, printer_utils_1.rejectAndConcat)(currentSegment));
36
+ }
37
+ classType(ctx) {
38
+ const tokens = sortClassTypeChildren(ctx.annotation, ctx.typeArguments, ctx.Identifier);
39
+ const segments = [];
40
+ let currentSegment = [];
41
+ forEach(tokens, (token, i) => {
42
+ if (isTypeArgumentsCstNode(token)) {
43
+ currentSegment.push(this.visit([token]));
44
+ segments.push(rejectAndConcat(currentSegment));
80
45
  currentSegment = [];
81
46
  }
82
- else if ((0, utils_1.isAnnotationCstNode)(token)) {
83
- currentSegment.push(_this.visit([token]), " ");
47
+ else if (isAnnotationCstNode(token)) {
48
+ currentSegment.push(this.visit([token]), " ");
84
49
  }
85
50
  else {
86
51
  currentSegment.push(token);
87
- if ((i + 1 < tokens.length && !(0, utils_1.isTypeArgumentsCstNode)(tokens[i + 1])) ||
52
+ if ((i + 1 < tokens.length && !isTypeArgumentsCstNode(tokens[i + 1])) ||
88
53
  i + 1 === tokens.length) {
89
- segments.push((0, printer_utils_1.rejectAndConcat)(currentSegment));
54
+ segments.push(rejectAndConcat(currentSegment));
90
55
  currentSegment = [];
91
56
  }
92
57
  }
93
58
  });
94
- return (0, printer_utils_1.rejectAndJoinSeps)(ctx.Dot, segments);
95
- };
96
- TypesValuesAndVariablesPrettierVisitor.prototype.interfaceType = function (ctx) {
59
+ return rejectAndJoinSeps(ctx.Dot, segments);
60
+ }
61
+ interfaceType(ctx) {
97
62
  return this.visitSingle(ctx);
98
- };
99
- TypesValuesAndVariablesPrettierVisitor.prototype.typeVariable = function (ctx) {
100
- var annotations = this.mapVisit(ctx.annotation);
101
- var identifier = this.getSingle(ctx);
102
- return (0, printer_utils_1.rejectAndJoin)(" ", [(0, prettier_builder_1.join)(" ", annotations), identifier]);
103
- };
104
- TypesValuesAndVariablesPrettierVisitor.prototype.dims = function (ctx) {
105
- var _this = this;
106
- var tokens = __spreadArray([], ctx.LSquare, true);
63
+ }
64
+ typeVariable(ctx) {
65
+ const annotations = this.mapVisit(ctx.annotation);
66
+ const identifier = this.getSingle(ctx);
67
+ return rejectAndJoin(" ", [join(" ", annotations), identifier]);
68
+ }
69
+ dims(ctx) {
70
+ let tokens = [...ctx.LSquare];
107
71
  if (ctx.annotation) {
108
- tokens = __spreadArray(__spreadArray([], tokens, true), ctx.annotation, true);
72
+ tokens = [...tokens, ...ctx.annotation];
109
73
  }
110
- tokens = tokens.sort(function (a, b) {
111
- var startOffset1 = (0, utils_1.isCstNode)(a)
74
+ tokens = tokens.sort((a, b) => {
75
+ const startOffset1 = isCstNode(a)
112
76
  ? a.children.At[0].startOffset
113
77
  : a.startOffset;
114
- var startOffset2 = (0, utils_1.isCstNode)(b)
78
+ const startOffset2 = isCstNode(b)
115
79
  ? b.children.At[0].startOffset
116
80
  : b.startOffset;
117
81
  return startOffset1 - startOffset2;
118
82
  });
119
- var segments = [];
120
- var currentSegment = [];
121
- (0, forEach_1.default)(tokens, function (token) {
122
- if ((0, utils_1.isCstNode)(token)) {
123
- currentSegment.push(_this.visit([token]));
83
+ const segments = [];
84
+ let currentSegment = [];
85
+ forEach(tokens, token => {
86
+ if (isCstNode(token)) {
87
+ currentSegment.push(this.visit([token]));
124
88
  }
125
89
  else {
126
- segments.push((0, printer_utils_1.rejectAndConcat)([
127
- (0, printer_utils_1.rejectAndJoin)(" ", currentSegment),
128
- (0, prettier_builder_1.concat)([ctx.LSquare[0], ctx.RSquare[0]])
90
+ segments.push(rejectAndConcat([
91
+ rejectAndJoin(" ", currentSegment),
92
+ concat([ctx.LSquare[0], ctx.RSquare[0]])
129
93
  ]));
130
94
  currentSegment = [];
131
95
  }
132
96
  });
133
- return (0, printer_utils_1.rejectAndConcat)(segments);
134
- };
135
- TypesValuesAndVariablesPrettierVisitor.prototype.typeParameter = function (ctx) {
136
- var typeParameterModifiers = this.mapVisit(ctx.typeParameterModifier);
137
- var typeIdentifier = this.visit(ctx.typeIdentifier);
138
- var typeBound = this.visit(ctx.typeBound);
139
- return (0, printer_utils_1.rejectAndJoin)(" ", [
140
- (0, prettier_builder_1.join)(" ", typeParameterModifiers),
97
+ return rejectAndConcat(segments);
98
+ }
99
+ typeParameter(ctx) {
100
+ const typeParameterModifiers = this.mapVisit(ctx.typeParameterModifier);
101
+ const typeIdentifier = this.visit(ctx.typeIdentifier);
102
+ const typeBound = this.visit(ctx.typeBound);
103
+ return rejectAndJoin(" ", [
104
+ join(" ", typeParameterModifiers),
141
105
  typeIdentifier,
142
106
  typeBound
143
107
  ]);
144
- };
145
- TypesValuesAndVariablesPrettierVisitor.prototype.typeParameterModifier = function (ctx) {
108
+ }
109
+ typeParameterModifier(ctx) {
146
110
  return this.visitSingle(ctx);
147
- };
148
- TypesValuesAndVariablesPrettierVisitor.prototype.typeBound = function (ctx) {
149
- var classOrInterfaceType = this.visit(ctx.classOrInterfaceType);
150
- var additionalBound = this.mapVisit(ctx.additionalBound);
151
- return (0, prettier_builder_1.concat)([
152
- (0, printer_utils_1.rejectAndJoin)(" ", [ctx.Extends[0], classOrInterfaceType]),
153
- (0, prettier_builder_1.indent)((0, prettier_builder_1.group)((0, prettier_builder_1.concat)([
111
+ }
112
+ typeBound(ctx) {
113
+ const classOrInterfaceType = this.visit(ctx.classOrInterfaceType);
114
+ const additionalBound = this.mapVisit(ctx.additionalBound);
115
+ return concat([
116
+ rejectAndJoin(" ", [ctx.Extends[0], classOrInterfaceType]),
117
+ indent(group(concat([
154
118
  additionalBound.length ? line : "",
155
- (0, printer_utils_1.rejectAndJoin)(line, additionalBound)
119
+ rejectAndJoin(line, additionalBound)
156
120
  ])))
157
121
  ]);
158
- };
159
- TypesValuesAndVariablesPrettierVisitor.prototype.additionalBound = function (ctx) {
160
- var interfaceType = this.visit(ctx.interfaceType);
161
- return (0, prettier_builder_1.join)(" ", [ctx.And[0], interfaceType]);
162
- };
163
- TypesValuesAndVariablesPrettierVisitor.prototype.typeArguments = function (ctx) {
164
- var typeArgumentList = this.visit(ctx.typeArgumentList);
165
- return (0, printer_utils_1.putIntoBraces)(typeArgumentList, softline, ctx.Less[0], ctx.Greater[0]);
166
- };
167
- TypesValuesAndVariablesPrettierVisitor.prototype.typeArgumentList = function (ctx) {
168
- var typeArguments = this.mapVisit(ctx.typeArgument);
169
- var commas = ctx.Comma ? ctx.Comma.map(function (elt) { return (0, prettier_builder_1.concat)([elt, line]); }) : [];
170
- return (0, printer_utils_1.rejectAndJoinSeps)(commas, typeArguments);
171
- };
172
- TypesValuesAndVariablesPrettierVisitor.prototype.typeArgument = function (ctx) {
122
+ }
123
+ additionalBound(ctx) {
124
+ const interfaceType = this.visit(ctx.interfaceType);
125
+ return join(" ", [ctx.And[0], interfaceType]);
126
+ }
127
+ typeArguments(ctx) {
128
+ const typeArgumentList = this.visit(ctx.typeArgumentList);
129
+ return putIntoBraces(typeArgumentList, softline, ctx.Less[0], ctx.Greater[0]);
130
+ }
131
+ typeArgumentList(ctx) {
132
+ const typeArguments = this.mapVisit(ctx.typeArgument);
133
+ const commas = ctx.Comma ? ctx.Comma.map(elt => concat([elt, line])) : [];
134
+ return rejectAndJoinSeps(commas, typeArguments);
135
+ }
136
+ typeArgument(ctx) {
173
137
  return this.visitSingle(ctx);
174
- };
175
- TypesValuesAndVariablesPrettierVisitor.prototype.wildcard = function (ctx) {
176
- var annotations = this.mapVisit(ctx.annotation);
177
- var wildcardBounds = this.visit(ctx.wildcardBounds);
178
- return (0, printer_utils_1.rejectAndJoin)(" ", [
179
- (0, prettier_builder_1.join)(" ", annotations),
138
+ }
139
+ wildcard(ctx) {
140
+ const annotations = this.mapVisit(ctx.annotation);
141
+ const wildcardBounds = this.visit(ctx.wildcardBounds);
142
+ return rejectAndJoin(" ", [
143
+ join(" ", annotations),
180
144
  ctx.QuestionMark[0],
181
145
  wildcardBounds
182
146
  ]);
183
- };
184
- TypesValuesAndVariablesPrettierVisitor.prototype.wildcardBounds = function (ctx) {
185
- var keyWord = ctx.Extends ? ctx.Extends[0] : ctx.Super[0];
186
- var referenceType = this.visit(ctx.referenceType);
187
- return (0, prettier_builder_1.join)(" ", [keyWord, referenceType]);
188
- };
189
- return TypesValuesAndVariablesPrettierVisitor;
190
- }(base_cst_printer_1.BaseCstPrettierPrinter));
191
- exports.TypesValuesAndVariablesPrettierVisitor = TypesValuesAndVariablesPrettierVisitor;
147
+ }
148
+ wildcardBounds(ctx) {
149
+ const keyWord = ctx.Extends ? ctx.Extends[0] : ctx.Super[0];
150
+ const referenceType = this.visit(ctx.referenceType);
151
+ return join(" ", [keyWord, referenceType]);
152
+ }
153
+ }
@@ -1,29 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isOrdinaryCompilationUnitCtx = exports.isAnnotationCstNode = exports.isTypeArgumentsCstNode = exports.isCstElementOrUndefinedIToken = exports.isIToken = exports.isCstNode = void 0;
4
- function isCstNode(tokenOrNode) {
1
+ export function isCstNode(tokenOrNode) {
5
2
  return !isIToken(tokenOrNode);
6
3
  }
7
- exports.isCstNode = isCstNode;
8
- function isIToken(tokenOrNode) {
4
+ export function isIToken(tokenOrNode) {
9
5
  return (tokenOrNode.tokenType !== undefined &&
10
6
  tokenOrNode.image !== undefined);
11
7
  }
12
- exports.isIToken = isIToken;
13
- function isCstElementOrUndefinedIToken(tokenOrNode) {
8
+ export function isCstElementOrUndefinedIToken(tokenOrNode) {
14
9
  return tokenOrNode !== undefined && isIToken(tokenOrNode);
15
10
  }
16
- exports.isCstElementOrUndefinedIToken = isCstElementOrUndefinedIToken;
17
- var isTypeArgumentsCstNode = function (cstElement) {
11
+ export const isTypeArgumentsCstNode = (cstElement) => {
18
12
  return cstElement.name === "typeArguments";
19
13
  };
20
- exports.isTypeArgumentsCstNode = isTypeArgumentsCstNode;
21
- var isAnnotationCstNode = function (cstElement) {
14
+ export const isAnnotationCstNode = (cstElement) => {
22
15
  return cstElement.name === "annotation";
23
16
  };
24
- exports.isAnnotationCstNode = isAnnotationCstNode;
25
- var isOrdinaryCompilationUnitCtx = function (ctx) {
17
+ export const isOrdinaryCompilationUnitCtx = (ctx) => {
26
18
  return (ctx.ordinaryCompilationUnit !==
27
19
  undefined);
28
20
  };
29
- exports.isOrdinaryCompilationUnitCtx = isOrdinaryCompilationUnitCtx;
@@ -1,29 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSingleArgumentLambdaExpressionWithBlock = exports.isArgumentListSingleLambda = void 0;
4
- function isArgumentListSingleLambda(argumentList) {
1
+ export function isArgumentListSingleLambda(argumentList) {
5
2
  if (argumentList === undefined) {
6
3
  return false;
7
4
  }
8
- var args = argumentList[0].children.expression;
5
+ const args = argumentList[0].children.expression;
9
6
  if (args.length !== 1) {
10
7
  return false;
11
8
  }
12
- var argument = args[0];
9
+ const argument = args[0];
13
10
  return argument.children.lambdaExpression !== undefined;
14
11
  }
15
- exports.isArgumentListSingleLambda = isArgumentListSingleLambda;
16
- var isSingleArgumentLambdaExpressionWithBlock = function (argumentList) {
12
+ export const isSingleArgumentLambdaExpressionWithBlock = (argumentList) => {
17
13
  if (argumentList === undefined) {
18
14
  return false;
19
15
  }
20
- var args = argumentList[0].children.expression;
16
+ const args = argumentList[0].children.expression;
21
17
  if (args.length !== 1) {
22
18
  return false;
23
19
  }
24
- var argument = args[0];
20
+ const argument = args[0];
25
21
  return (argument.children.lambdaExpression !== undefined &&
26
22
  argument.children.lambdaExpression[0].children.lambdaBody[0].children
27
23
  .block !== undefined);
28
24
  };
29
- exports.isSingleArgumentLambdaExpressionWithBlock = isSingleArgumentLambdaExpressionWithBlock;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc2lvbnMtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZXhwcmVzc2lvbnMtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxZQUErQztJQUUvQyxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7UUFDOUIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ2pELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDckIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxDQUFDO0FBQzFELENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSx5Q0FBeUMsR0FBRyxDQUN2RCxZQUErQyxFQUMvQyxFQUFFO0lBQ0YsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUNqRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3JCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekIsT0FBTyxDQUNMLFFBQVEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEtBQUssU0FBUztRQUNoRCxRQUFRLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTthQUNsRSxLQUFLLEtBQUssU0FBUyxDQUN2QixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
@@ -1,12 +1,2 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isEmptyDoc = exports.printSingleLambdaInvocation = exports.printArgumentListWithBraces = void 0;
7
- var printArgumentListWithBraces_1 = require("./printArgumentListWithBraces");
8
- Object.defineProperty(exports, "printArgumentListWithBraces", { enumerable: true, get: function () { return __importDefault(printArgumentListWithBraces_1).default; } });
9
- var printSingleLambdaInvocation_1 = require("./printSingleLambdaInvocation");
10
- Object.defineProperty(exports, "printSingleLambdaInvocation", { enumerable: true, get: function () { return __importDefault(printSingleLambdaInvocation_1).default; } });
11
- var isEmptyDoc_1 = require("./isEmptyDoc");
12
- Object.defineProperty(exports, "isEmptyDoc", { enumerable: true, get: function () { return __importDefault(isEmptyDoc_1).default; } });
1
+ export { default as printArgumentListWithBraces } from "./printArgumentListWithBraces.js";
2
+ export { default as isEmptyDoc } from "./isEmptyDoc.js";
@@ -1,6 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var isEmptyDoc = function (argument) {
1
+ const isEmptyDoc = (argument) => {
4
2
  return argument === "" || (Array.isArray(argument) && argument.length) === 0;
5
3
  };
6
- exports.default = isEmptyDoc;
4
+ export default isEmptyDoc;
@@ -1,21 +1,31 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var doc_1 = require("prettier/doc");
7
- var expressions_utils_1 = require("./expressions-utils");
8
- var printer_utils_1 = require("../printers/printer-utils");
9
- var printSingleLambdaInvocation_1 = __importDefault(require("./printSingleLambdaInvocation"));
10
- var softline = doc_1.builders.softline;
11
- function printArgumentListWithBraces(argumentListCtx, rBrace, lBrace) {
12
- var isSingleLambda = (0, expressions_utils_1.isArgumentListSingleLambda)(argumentListCtx);
13
- if (isSingleLambda) {
14
- return printSingleLambdaInvocation_1.default.call(this, argumentListCtx, rBrace, lBrace);
1
+ import { builders, utils } from "prettier/doc";
2
+ import { putIntoBraces } from "../printers/printer-utils.js";
3
+ const { breakParent, conditionalGroup, softline } = builders;
4
+ const { willBreak } = utils;
5
+ export default function printArgumentListWithBraces(argumentListNodes, rBrace, lBrace) {
6
+ if (argumentListNodes &&
7
+ !argumentListNodes[0].leadingComments &&
8
+ !rBrace.leadingComments &&
9
+ isArgumentListHuggable(argumentListNodes[0].children)) {
10
+ const [flat, expanded] = [false, true].map(shouldBreak => {
11
+ const argumentList = this.visit(argumentListNodes, {
12
+ isHuggable: true,
13
+ shouldBreak
14
+ });
15
+ return putIntoBraces(argumentList, "", lBrace, rBrace);
16
+ });
17
+ return [
18
+ willBreak(flat) ? breakParent : "",
19
+ conditionalGroup([flat, expanded])
20
+ ];
15
21
  }
16
- var argumentList = this.visit(argumentListCtx, {
17
- isInsideMethodInvocationSuffix: true
18
- });
19
- return (0, printer_utils_1.putIntoBraces)(argumentList, softline, lBrace, rBrace);
22
+ const argumentList = this.visit(argumentListNodes);
23
+ return putIntoBraces(argumentList, softline, lBrace, rBrace);
24
+ }
25
+ function isArgumentListHuggable(argumentList) {
26
+ var _a;
27
+ const expressions = argumentList.expression;
28
+ return ((expressions.length === 1 ||
29
+ ((_a = expressions[expressions.length - 1].children.lambdaExpression) === null || _a === void 0 ? void 0 : _a[0].children.lambdaBody[0].children.block) !== undefined) &&
30
+ expressions.filter(({ children }) => children.lambdaExpression).length === 1);
20
31
  }
21
- exports.default = printArgumentListWithBraces;
@@ -1,20 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var doc_1 = require("prettier/doc");
4
- var expressions_utils_1 = require("./expressions-utils");
5
- var format_comments_1 = require("../printers/comments/format-comments");
6
- var prettier_builder_1 = require("../printers/prettier-builder");
7
- var printer_utils_1 = require("../printers/printer-utils");
8
- var softline = doc_1.builders.softline, ifBreak = doc_1.builders.ifBreak;
9
- function printSingleLambdaInvocation(argumentListCtx, rBrace, lBrace) {
10
- var lambdaParametersGroupId = Symbol("lambdaParameters");
11
- var argumentList = this.visit(argumentListCtx, {
12
- lambdaParametersGroupId: lambdaParametersGroupId,
1
+ import { builders } from "prettier/doc";
2
+ import { isSingleArgumentLambdaExpressionWithBlock } from "./expressions-utils.js";
3
+ import { printTokenWithComments } from "../printers/comments/format-comments.js";
4
+ import { concat, dedent, indent } from "../printers/prettier-builder.js";
5
+ import { putIntoBraces } from "../printers/printer-utils.js";
6
+ const { softline, ifBreak } = builders;
7
+ export default function printSingleLambdaInvocation(argumentListCtx, rBrace, lBrace) {
8
+ const lambdaParametersGroupId = Symbol("lambdaParameters");
9
+ const argumentList = this.visit(argumentListCtx, {
10
+ lambdaParametersGroupId,
13
11
  isInsideMethodInvocationSuffix: true
14
12
  });
15
- var formattedRBrace = (0, expressions_utils_1.isSingleArgumentLambdaExpressionWithBlock)(argumentListCtx)
16
- ? ifBreak((0, prettier_builder_1.indent)((0, prettier_builder_1.concat)([softline, rBrace])), (0, format_comments_1.printTokenWithComments)(rBrace), { groupId: lambdaParametersGroupId })
17
- : (0, prettier_builder_1.indent)((0, prettier_builder_1.concat)([softline, rBrace]));
18
- return (0, prettier_builder_1.dedent)((0, printer_utils_1.putIntoBraces)(argumentList, "", lBrace, formattedRBrace));
13
+ const formattedRBrace = isSingleArgumentLambdaExpressionWithBlock(argumentListCtx)
14
+ ? ifBreak(indent(concat([softline, rBrace])), printTokenWithComments(rBrace), { groupId: lambdaParametersGroupId })
15
+ : indent(concat([softline, rBrace]));
16
+ return dedent(putIntoBraces(argumentList, "", lBrace, formattedRBrace));
19
17
  }
20
- exports.default = printSingleLambdaInvocation;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnRTaW5nbGVMYW1iZGFJbnZvY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3ByaW50U2luZ2xlTGFtYmRhSW52b2NhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU3RCxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQztBQUV2QyxNQUFNLENBQUMsT0FBTyxVQUFVLDJCQUEyQixDQUNqRCxlQUFrRCxFQUNsRCxNQUFjLEVBQ2QsTUFBYztJQUVkLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDM0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUU7UUFDL0MsdUJBQXVCO1FBQ3ZCLDhCQUE4QixFQUFFLElBQUk7S0FDckMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxlQUFlLEdBQUcseUNBQXlDLENBQy9ELGVBQWUsQ0FDaEI7UUFDQyxDQUFDLENBQUMsT0FBTyxDQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUNsQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsRUFDOUIsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsQ0FDckM7UUFDSCxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkMsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQyJ9
package/package.json CHANGED
@@ -1,17 +1,19 @@
1
1
  {
2
2
  "name": "prettier-plugin-java",
3
- "version": "2.4.0",
3
+ "version": "2.6.0",
4
4
  "description": "Prettier Java Plugin",
5
- "main": "dist/index.js",
5
+ "type": "module",
6
+ "exports": "./dist/index.js",
6
7
  "files": [
7
8
  "dist"
8
9
  ],
10
+ "homepage": "https://jhipster.github.io/prettier-java/",
9
11
  "repository": "https://github.com/jhipster/prettier-java",
10
12
  "license": "Apache-2.0",
11
13
  "dependencies": {
12
- "java-parser": "2.1.0",
14
+ "java-parser": "2.3.0",
13
15
  "lodash": "4.17.21",
14
- "prettier": "3.0.3"
16
+ "prettier": "3.2.5"
15
17
  },
16
18
  "scripts": {
17
19
  "test": "yarn run test:unit && yarn run test:e2e-core",
@@ -21,16 +23,11 @@
21
23
  "test:e2e-jhipster2": "node scripts/clone-samples e2e-jhipster2 && mocha \"test/repository-test/jhipster-2-test.ts\"",
22
24
  "test:all": "yarn run test && yarn run test:e2e-jhipster1 && yarn run test:e2e-jhipster2",
23
25
  "clone-samples": "node scripts/clone-samples.js",
24
- "build": "tsc -p tsconfig.build.json --outDir dist",
25
- "build:watch": "tsc -p tsconfig.build.json --inlineSourceMap --outDir dist -w"
26
+ "build": "tsc",
27
+ "build:watch": "tsc --inlineSourceMap -w"
26
28
  },
27
29
  "devDependencies": {
28
- "@babel/cli": "7.19.3",
29
- "@babel/core": "7.20.2",
30
- "@babel/preset-env": "7.20.2",
31
- "@babel/preset-typescript": "7.18.6",
32
- "@babel/register": "7.18.9",
33
- "@chevrotain/types": "9.0.2",
30
+ "@chevrotain/types": "11.0.3",
34
31
  "@types/chai": "4.3.4",
35
32
  "@types/fs-extra": "9.0.13",
36
33
  "@types/jest": "29.2.3",
@@ -41,5 +38,5 @@
41
38
  "ts-node": "10.9.1",
42
39
  "typescript": "4.9.3"
43
40
  },
44
- "gitHead": "acdd5e7f28d08c4fb0351cfaf43d4ff9524b90ba"
41
+ "gitHead": "30e1cad12e8936df43c25eeb9dad5aef20d9af6c"
45
42
  }
@@ -1,77 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.BaseCstPrettierPrinter = void 0;
19
- var java_parser_1 = require("java-parser");
20
- var format_comments_1 = require("./printers/comments/format-comments");
21
- var BaseCstPrettierPrinter = /** @class */ (function (_super) {
22
- __extends(BaseCstPrettierPrinter, _super);
23
- function BaseCstPrettierPrinter() {
24
- var _this = _super.call(this) || this;
25
- _this.mapVisit = function (elements, params) {
26
- if (elements === undefined) {
27
- // TODO: can optimize this by returning an immutable empty array singleton.
28
- return [];
29
- }
30
- return elements.map(function (element) { return _this.visit(element, params); });
31
- };
32
- _this.getSingle = function (ctx) {
33
- var ctxKeys = Object.keys(ctx);
34
- if (ctxKeys.length !== 1) {
35
- throw Error("Expecting single key CST ctx but found: <" + ctxKeys.length + "> keys");
36
- }
37
- var singleElementKey = ctxKeys[0];
38
- var singleElementValues = ctx[singleElementKey];
39
- if ((singleElementValues === null || singleElementValues === void 0 ? void 0 : singleElementValues.length) !== 1) {
40
- throw Error("Expecting single item in CST ctx key but found: <" + (singleElementValues === null || singleElementValues === void 0 ? void 0 : singleElementValues.length) + "> items");
41
- }
42
- return singleElementValues[0];
43
- };
44
- // @ts-ignore
45
- _this.orgVisit = _this.visit;
46
- _this.visit = function (ctx, inParam) {
47
- if (ctx === undefined) {
48
- // empty Doc
49
- return "";
50
- }
51
- var node = Array.isArray(ctx) ? ctx[0] : ctx;
52
- if (node.ignore) {
53
- try {
54
- var startOffset = node.leadingComments !== undefined
55
- ? node.leadingComments[0].startOffset
56
- : node.location.startOffset;
57
- var endOffset = (node.trailingComments !== undefined
58
- ? node.trailingComments[node.trailingComments.length - 1].endOffset
59
- : node.location.endOffset);
60
- return this.prettierOptions.originalText.substring(startOffset, endOffset + 1);
61
- }
62
- catch (e) {
63
- throw Error(e +
64
- "\nThere might be a problem with prettier-ignore, please report an issue on https://github.com/jhipster/prettier-java/issues");
65
- }
66
- }
67
- return format_comments_1.printNodeWithComments(node, this.orgVisit.call(this, node, inParam));
68
- };
69
- _this.visitSingle = function (ctx, params) {
70
- var singleElement = this.getSingle(ctx);
71
- return this.visit(singleElement, params);
72
- };
73
- return _this;
74
- }
75
- return BaseCstPrettierPrinter;
76
- }(java_parser_1.BaseJavaCstVisitor));
77
- exports.BaseCstPrettierPrinter = BaseCstPrettierPrinter;