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.
- package/LICENSE +1 -1
- package/dist/base-cst-printer.js +22 -44
- package/dist/cst-printer.js +19 -27
- package/dist/index.js +19 -20
- package/dist/options.js +16 -21
- package/dist/parser.js +2 -4
- package/dist/printer.js +3 -5
- package/dist/printers/arrays.js +17 -41
- package/dist/printers/blocks-and-statements.js +289 -356
- package/dist/printers/classes.js +451 -495
- package/dist/printers/comments/comments-utils.js +5 -13
- package/dist/printers/comments/format-comments.js +34 -50
- package/dist/printers/comments/handle-comments.js +17 -23
- package/dist/printers/expressions.js +378 -386
- package/dist/printers/interfaces.js +148 -181
- package/dist/printers/lexical-structure.js +26 -58
- package/dist/printers/names.js +29 -53
- package/dist/printers/packages-and-modules.js +116 -143
- package/dist/printers/prettier-builder.js +21 -31
- package/dist/printers/printer-utils.js +173 -221
- package/dist/printers/types-values-and-variables.js +111 -149
- package/dist/types/utils.js +6 -15
- package/dist/utils/expressions-utils.js +7 -11
- package/dist/utils/index.js +2 -12
- package/dist/utils/isEmptyDoc.js +2 -4
- package/dist/utils/printArgumentListWithBraces.js +29 -19
- package/dist/utils/printSingleLambdaInvocation.js +15 -17
- package/package.json +10 -13
- package/dist/src/base-cst-printer.js +0 -77
- package/dist/src/cst-printer.js +0 -37
- package/dist/src/index.js +0 -67
- package/dist/src/options.js +0 -256
- package/dist/src/parser.js +0 -7
- package/dist/src/printer.js +0 -28
- package/dist/src/printers/arrays.js +0 -49
- package/dist/src/printers/blocks-and-statements.js +0 -493
- package/dist/src/printers/classes.js +0 -724
- package/dist/src/printers/comments/comments-utils.js +0 -29
- package/dist/src/printers/comments/format-comments.js +0 -187
- package/dist/src/printers/comments/handle-comments.js +0 -38
- package/dist/src/printers/expressions.js +0 -549
- package/dist/src/printers/interfaces.js +0 -251
- package/dist/src/printers/lexical-structure.js +0 -43
- package/dist/src/printers/names.js +0 -53
- package/dist/src/printers/packages-and-modules.js +0 -185
- package/dist/src/printers/prettier-builder.js +0 -47
- package/dist/src/printers/printer-utils.js +0 -577
- package/dist/src/printers/types-values-and-variables.js +0 -183
- package/dist/src/types/utils.js +0 -29
- package/dist/src/utils/expressions-utils.js +0 -29
- package/dist/src/utils/index.js +0 -10
- package/dist/src/utils/printArgumentListWithBraces.js +0 -21
- package/dist/src/utils/printSingleLambdaInvocation.js +0 -20
- package/dist/test/babel-register.js +0 -3
- package/dist/test/repository-test/core-test.js +0 -12
- package/dist/test/repository-test/jhipster-1-test.js +0 -17
- package/dist/test/repository-test/jhipster-2-test.js +0 -16
- package/dist/test/test-utils.js +0 -215
- package/dist/test/unit-test/annotation_type_declaration/annotation_type_declaration-spec.js +0 -6
- package/dist/test/unit-test/args/args-spec.js +0 -6
- package/dist/test/unit-test/assert/assert-spec.js +0 -6
- package/dist/test/unit-test/binary_expressions/binary_expressions-spec.js +0 -6
- package/dist/test/unit-test/blank_lines/blank_lines-spec.js +0 -6
- package/dist/test/unit-test/bug-fixes/bug-fixes-spec.js +0 -6
- package/dist/test/unit-test/cast/cast-spec.js +0 -6
- package/dist/test/unit-test/char_literal/char_literal-spec.js +0 -6
- package/dist/test/unit-test/classes/multiple_classes-spec.js +0 -6
- package/dist/test/unit-test/comments/comments-spec.js +0 -14
- package/dist/test/unit-test/complex_generic_class/complex_generic_class-spec.js +0 -6
- package/dist/test/unit-test/constructors/constructors-spec.js +0 -6
- package/dist/test/unit-test/empty_statement/empty_statement-spec.js +0 -6
- package/dist/test/unit-test/enum/enum-spec.js +0 -6
- package/dist/test/unit-test/expressions/expressions-spec.js +0 -6
- package/dist/test/unit-test/extends_abstract_class/extends_abstract_class-spec.js +0 -6
- package/dist/test/unit-test/extends_abstract_class_and_implements_interfaces/extends_abstract_class_and_implements_interfaces-spec.js +0 -6
- package/dist/test/unit-test/for/for-spec.js +0 -6
- package/dist/test/unit-test/generic_class/generic_class-spec.js +0 -6
- package/dist/test/unit-test/generic_questionmark/generic_questionmark-spec.js +0 -6
- package/dist/test/unit-test/hello-world/hello-word-spec.js +0 -6
- package/dist/test/unit-test/if/if-spec.js +0 -6
- package/dist/test/unit-test/indent/indent-spec.js +0 -6
- package/dist/test/unit-test/instantiation/instantiation-spec.js +0 -6
- package/dist/test/unit-test/interface/interface-spec.js +0 -6
- package/dist/test/unit-test/lambda/lambda-spec.js +0 -6
- package/dist/test/unit-test/marker_annotations/marker_annotations-spec.js +0 -6
- package/dist/test/unit-test/member_chain/member_chain-spec.js +0 -6
- package/dist/test/unit-test/method_reference/method_reference-spec.js +0 -6
- package/dist/test/unit-test/modifiers/modifiers-spec.js +0 -6
- package/dist/test/unit-test/modules/modules-spec.js +0 -6
- package/dist/test/unit-test/package_and_imports/package_and_imports-spec.js +0 -34
- package/dist/test/unit-test/pattern-matching/pattern-matching-spec.js +0 -6
- package/dist/test/unit-test/prettier-ignore/prettier-ignore-spec.js +0 -28
- package/dist/test/unit-test/records/records-spec.js +0 -6
- package/dist/test/unit-test/return/return-spec.js +0 -6
- package/dist/test/unit-test/sealed/sealed-spec.js +0 -6
- package/dist/test/unit-test/snippets/arrays/array-initializer.spec.js +0 -94
- package/dist/test/unit-test/snippets/arrays/variable-initializer-list.spec.js +0 -19
- package/dist/test/unit-test/snippets/blocks-and-statements/switch.spec.js +0 -26
- package/dist/test/unit-test/snippets/classes/class-body.spec.js +0 -181
- package/dist/test/unit-test/snippets/classes/enum-body.spec.js +0 -87
- package/dist/test/unit-test/snippets/classes/variableDeclarator/test.spec.js +0 -186
- package/dist/test/unit-test/snippets/interfaces/element-value-array-initializer.spec.js +0 -85
- package/dist/test/unit-test/snippets/names/ambiguousName/test.spec.js +0 -19
- package/dist/test/unit-test/snippets/names/expressionName/test.spec.js +0 -19
- package/dist/test/unit-test/snippets/names/methodName/test.spec.js +0 -12
- package/dist/test/unit-test/snippets/names/packageOrTypeName/test.spec.js +0 -19
- package/dist/test/unit-test/snippets/types-values-and-variables/floatingPointType/test.spec.js +0 -19
- package/dist/test/unit-test/snippets/types-values-and-variables/integralType/test.spec.js +0 -40
- package/dist/test/unit-test/snippets/types-values-and-variables/numericType/test.spec.js +0 -88
- package/dist/test/unit-test/snippets/types-values-and-variables/wildcard/test.spec.js +0 -112
- package/dist/test/unit-test/snippets/types-values-and-variables/wildcardBounds/test.spec.js +0 -81
- package/dist/test/unit-test/switch/switch-spec.js +0 -6
- package/dist/test/unit-test/synchronized/synchronized-spec.js +0 -6
- package/dist/test/unit-test/text-blocks/text-block-spec.js +0 -6
- package/dist/test/unit-test/throws/throws-spec.js +0 -6
- package/dist/test/unit-test/try_catch/try_catch-spec.js +0 -6
- package/dist/test/unit-test/types/types-spec.js +0 -6
- package/dist/test/unit-test/variables/variables-spec.js +0 -6
- package/dist/test/unit-test/while/while-spec.js +0 -6
- package/dist/test/unit-test/yield-statement/yield-statement-spec.js +0 -6
|
@@ -1,191 +1,153 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
|
50
|
-
}
|
|
51
|
-
|
|
15
|
+
return rejectAndJoin(" ", [join(" ", annotations), type]);
|
|
16
|
+
}
|
|
17
|
+
numericType(ctx) {
|
|
52
18
|
return this.visitSingle(ctx);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
66
|
-
return
|
|
67
|
-
}
|
|
68
|
-
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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 (
|
|
83
|
-
currentSegment.push(
|
|
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 && !
|
|
52
|
+
if ((i + 1 < tokens.length && !isTypeArgumentsCstNode(tokens[i + 1])) ||
|
|
88
53
|
i + 1 === tokens.length) {
|
|
89
|
-
segments.push(
|
|
54
|
+
segments.push(rejectAndConcat(currentSegment));
|
|
90
55
|
currentSegment = [];
|
|
91
56
|
}
|
|
92
57
|
}
|
|
93
58
|
});
|
|
94
|
-
return
|
|
95
|
-
}
|
|
96
|
-
|
|
59
|
+
return rejectAndJoinSeps(ctx.Dot, segments);
|
|
60
|
+
}
|
|
61
|
+
interfaceType(ctx) {
|
|
97
62
|
return this.visitSingle(ctx);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
return
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
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 =
|
|
72
|
+
tokens = [...tokens, ...ctx.annotation];
|
|
109
73
|
}
|
|
110
|
-
tokens = tokens.sort(
|
|
111
|
-
|
|
74
|
+
tokens = tokens.sort((a, b) => {
|
|
75
|
+
const startOffset1 = isCstNode(a)
|
|
112
76
|
? a.children.At[0].startOffset
|
|
113
77
|
: a.startOffset;
|
|
114
|
-
|
|
78
|
+
const startOffset2 = isCstNode(b)
|
|
115
79
|
? b.children.At[0].startOffset
|
|
116
80
|
: b.startOffset;
|
|
117
81
|
return startOffset1 - startOffset2;
|
|
118
82
|
});
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
(
|
|
122
|
-
if (
|
|
123
|
-
currentSegment.push(
|
|
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(
|
|
127
|
-
|
|
128
|
-
|
|
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
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
return
|
|
140
|
-
|
|
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
|
-
|
|
108
|
+
}
|
|
109
|
+
typeParameterModifier(ctx) {
|
|
146
110
|
return this.visitSingle(ctx);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
return
|
|
152
|
-
|
|
153
|
-
|
|
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
|
-
|
|
119
|
+
rejectAndJoin(line, additionalBound)
|
|
156
120
|
])))
|
|
157
121
|
]);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
return
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
return
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
return
|
|
171
|
-
}
|
|
172
|
-
|
|
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
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
return
|
|
179
|
-
|
|
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
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
return
|
|
188
|
-
}
|
|
189
|
-
|
|
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
|
+
}
|
package/dist/types/utils.js
CHANGED
|
@@ -1,29 +1,20 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
8
|
-
function isIToken(tokenOrNode) {
|
|
4
|
+
export function isIToken(tokenOrNode) {
|
|
9
5
|
return (tokenOrNode.tokenType !== undefined &&
|
|
10
6
|
tokenOrNode.image !== undefined);
|
|
11
7
|
}
|
|
12
|
-
|
|
13
|
-
function isCstElementOrUndefinedIToken(tokenOrNode) {
|
|
8
|
+
export function isCstElementOrUndefinedIToken(tokenOrNode) {
|
|
14
9
|
return tokenOrNode !== undefined && isIToken(tokenOrNode);
|
|
15
10
|
}
|
|
16
|
-
|
|
17
|
-
var isTypeArgumentsCstNode = function (cstElement) {
|
|
11
|
+
export const isTypeArgumentsCstNode = (cstElement) => {
|
|
18
12
|
return cstElement.name === "typeArguments";
|
|
19
13
|
};
|
|
20
|
-
|
|
21
|
-
var isAnnotationCstNode = function (cstElement) {
|
|
14
|
+
export const isAnnotationCstNode = (cstElement) => {
|
|
22
15
|
return cstElement.name === "annotation";
|
|
23
16
|
};
|
|
24
|
-
|
|
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
|
-
|
|
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
|
-
|
|
5
|
+
const args = argumentList[0].children.expression;
|
|
9
6
|
if (args.length !== 1) {
|
|
10
7
|
return false;
|
|
11
8
|
}
|
|
12
|
-
|
|
9
|
+
const argument = args[0];
|
|
13
10
|
return argument.children.lambdaExpression !== undefined;
|
|
14
11
|
}
|
|
15
|
-
|
|
16
|
-
var isSingleArgumentLambdaExpressionWithBlock = function (argumentList) {
|
|
12
|
+
export const isSingleArgumentLambdaExpressionWithBlock = (argumentList) => {
|
|
17
13
|
if (argumentList === undefined) {
|
|
18
14
|
return false;
|
|
19
15
|
}
|
|
20
|
-
|
|
16
|
+
const args = argumentList[0].children.expression;
|
|
21
17
|
if (args.length !== 1) {
|
|
22
18
|
return false;
|
|
23
19
|
}
|
|
24
|
-
|
|
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
|
-
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc2lvbnMtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZXhwcmVzc2lvbnMtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxZQUErQztJQUUvQyxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7UUFDOUIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ2pELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDckIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxDQUFDO0FBQzFELENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSx5Q0FBeUMsR0FBRyxDQUN2RCxZQUErQyxFQUMvQyxFQUFFO0lBQ0YsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUNqRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3JCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekIsT0FBTyxDQUNMLFFBQVEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEtBQUssU0FBUztRQUNoRCxRQUFRLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTthQUNsRSxLQUFLLEtBQUssU0FBUyxDQUN2QixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|
package/dist/utils/index.js
CHANGED
|
@@ -1,12 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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";
|
package/dist/utils/isEmptyDoc.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
4
|
+
export default isEmptyDoc;
|
|
@@ -1,21 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
16
|
-
? ifBreak(
|
|
17
|
-
:
|
|
18
|
-
return
|
|
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
|
-
|
|
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.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"description": "Prettier Java Plugin",
|
|
5
|
-
"
|
|
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.
|
|
14
|
+
"java-parser": "2.3.0",
|
|
13
15
|
"lodash": "4.17.21",
|
|
14
|
-
"prettier": "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
|
|
25
|
-
"build:watch": "tsc
|
|
26
|
+
"build": "tsc",
|
|
27
|
+
"build:watch": "tsc --inlineSourceMap -w"
|
|
26
28
|
},
|
|
27
29
|
"devDependencies": {
|
|
28
|
-
"@
|
|
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": "
|
|
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;
|