prettier-plugin-java 2.6.0 → 2.6.1
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/package.json +9 -4
- package/dist/base-cst-printer.js +0 -55
- package/dist/cst-printer.js +0 -29
- package/dist/index.js +0 -66
- package/dist/options.js +0 -254
- package/dist/parser.js +0 -4
- package/dist/printer.js +0 -6
- package/dist/printers/arrays.js +0 -25
- package/dist/printers/blocks-and-statements.js +0 -435
- package/dist/printers/classes.js +0 -698
- package/dist/printers/comments/comments-utils.js +0 -21
- package/dist/printers/comments/format-comments.js +0 -171
- package/dist/printers/comments/handle-comments.js +0 -73
- package/dist/printers/expressions.js +0 -543
- package/dist/printers/interfaces.js +0 -218
- package/dist/printers/lexical-structure.js +0 -31
- package/dist/printers/names.js +0 -29
- package/dist/printers/packages-and-modules.js +0 -171
- package/dist/printers/prettier-builder.js +0 -45
- package/dist/printers/printer-utils.js +0 -592
- package/dist/printers/types-values-and-variables.js +0 -153
- package/dist/types/utils.js +0 -20
- package/dist/utils/expressions-utils.js +0 -25
- package/dist/utils/index.js +0 -2
- package/dist/utils/isEmptyDoc.js +0 -4
- package/dist/utils/printArgumentListWithBraces.js +0 -31
- package/dist/utils/printSingleLambdaInvocation.js +0 -18
|
@@ -1,153 +0,0 @@
|
|
|
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
|
|
13
|
-
? this.visit(ctx.numericType)
|
|
14
|
-
: this.getSingle(ctx);
|
|
15
|
-
return rejectAndJoin(" ", [join(" ", annotations), type]);
|
|
16
|
-
}
|
|
17
|
-
numericType(ctx) {
|
|
18
|
-
return this.visitSingle(ctx);
|
|
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
|
|
29
|
-
? this.visit(ctx.primitiveType)
|
|
30
|
-
: this.visit(ctx.classOrInterfaceType);
|
|
31
|
-
const dims = this.visit(ctx.dims);
|
|
32
|
-
return rejectAndJoin(" ", [join(" ", annotations), concat([type, dims])]);
|
|
33
|
-
}
|
|
34
|
-
classOrInterfaceType(ctx) {
|
|
35
|
-
return this.visitSingle(ctx);
|
|
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));
|
|
45
|
-
currentSegment = [];
|
|
46
|
-
}
|
|
47
|
-
else if (isAnnotationCstNode(token)) {
|
|
48
|
-
currentSegment.push(this.visit([token]), " ");
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
currentSegment.push(token);
|
|
52
|
-
if ((i + 1 < tokens.length && !isTypeArgumentsCstNode(tokens[i + 1])) ||
|
|
53
|
-
i + 1 === tokens.length) {
|
|
54
|
-
segments.push(rejectAndConcat(currentSegment));
|
|
55
|
-
currentSegment = [];
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
return rejectAndJoinSeps(ctx.Dot, segments);
|
|
60
|
-
}
|
|
61
|
-
interfaceType(ctx) {
|
|
62
|
-
return this.visitSingle(ctx);
|
|
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];
|
|
71
|
-
if (ctx.annotation) {
|
|
72
|
-
tokens = [...tokens, ...ctx.annotation];
|
|
73
|
-
}
|
|
74
|
-
tokens = tokens.sort((a, b) => {
|
|
75
|
-
const startOffset1 = isCstNode(a)
|
|
76
|
-
? a.children.At[0].startOffset
|
|
77
|
-
: a.startOffset;
|
|
78
|
-
const startOffset2 = isCstNode(b)
|
|
79
|
-
? b.children.At[0].startOffset
|
|
80
|
-
: b.startOffset;
|
|
81
|
-
return startOffset1 - startOffset2;
|
|
82
|
-
});
|
|
83
|
-
const segments = [];
|
|
84
|
-
let currentSegment = [];
|
|
85
|
-
forEach(tokens, token => {
|
|
86
|
-
if (isCstNode(token)) {
|
|
87
|
-
currentSegment.push(this.visit([token]));
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
segments.push(rejectAndConcat([
|
|
91
|
-
rejectAndJoin(" ", currentSegment),
|
|
92
|
-
concat([ctx.LSquare[0], ctx.RSquare[0]])
|
|
93
|
-
]));
|
|
94
|
-
currentSegment = [];
|
|
95
|
-
}
|
|
96
|
-
});
|
|
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),
|
|
105
|
-
typeIdentifier,
|
|
106
|
-
typeBound
|
|
107
|
-
]);
|
|
108
|
-
}
|
|
109
|
-
typeParameterModifier(ctx) {
|
|
110
|
-
return this.visitSingle(ctx);
|
|
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([
|
|
118
|
-
additionalBound.length ? line : "",
|
|
119
|
-
rejectAndJoin(line, additionalBound)
|
|
120
|
-
])))
|
|
121
|
-
]);
|
|
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) {
|
|
137
|
-
return this.visitSingle(ctx);
|
|
138
|
-
}
|
|
139
|
-
wildcard(ctx) {
|
|
140
|
-
const annotations = this.mapVisit(ctx.annotation);
|
|
141
|
-
const wildcardBounds = this.visit(ctx.wildcardBounds);
|
|
142
|
-
return rejectAndJoin(" ", [
|
|
143
|
-
join(" ", annotations),
|
|
144
|
-
ctx.QuestionMark[0],
|
|
145
|
-
wildcardBounds
|
|
146
|
-
]);
|
|
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
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export function isCstNode(tokenOrNode) {
|
|
2
|
-
return !isIToken(tokenOrNode);
|
|
3
|
-
}
|
|
4
|
-
export function isIToken(tokenOrNode) {
|
|
5
|
-
return (tokenOrNode.tokenType !== undefined &&
|
|
6
|
-
tokenOrNode.image !== undefined);
|
|
7
|
-
}
|
|
8
|
-
export function isCstElementOrUndefinedIToken(tokenOrNode) {
|
|
9
|
-
return tokenOrNode !== undefined && isIToken(tokenOrNode);
|
|
10
|
-
}
|
|
11
|
-
export const isTypeArgumentsCstNode = (cstElement) => {
|
|
12
|
-
return cstElement.name === "typeArguments";
|
|
13
|
-
};
|
|
14
|
-
export const isAnnotationCstNode = (cstElement) => {
|
|
15
|
-
return cstElement.name === "annotation";
|
|
16
|
-
};
|
|
17
|
-
export const isOrdinaryCompilationUnitCtx = (ctx) => {
|
|
18
|
-
return (ctx.ordinaryCompilationUnit !==
|
|
19
|
-
undefined);
|
|
20
|
-
};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export function isArgumentListSingleLambda(argumentList) {
|
|
2
|
-
if (argumentList === undefined) {
|
|
3
|
-
return false;
|
|
4
|
-
}
|
|
5
|
-
const args = argumentList[0].children.expression;
|
|
6
|
-
if (args.length !== 1) {
|
|
7
|
-
return false;
|
|
8
|
-
}
|
|
9
|
-
const argument = args[0];
|
|
10
|
-
return argument.children.lambdaExpression !== undefined;
|
|
11
|
-
}
|
|
12
|
-
export const isSingleArgumentLambdaExpressionWithBlock = (argumentList) => {
|
|
13
|
-
if (argumentList === undefined) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
const args = argumentList[0].children.expression;
|
|
17
|
-
if (args.length !== 1) {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
const argument = args[0];
|
|
21
|
-
return (argument.children.lambdaExpression !== undefined &&
|
|
22
|
-
argument.children.lambdaExpression[0].children.lambdaBody[0].children
|
|
23
|
-
.block !== undefined);
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc2lvbnMtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZXhwcmVzc2lvbnMtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxZQUErQztJQUUvQyxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7UUFDOUIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ2pELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDckIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxDQUFDO0FBQzFELENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSx5Q0FBeUMsR0FBRyxDQUN2RCxZQUErQyxFQUMvQyxFQUFFO0lBQ0YsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUNqRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3JCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekIsT0FBTyxDQUNMLFFBQVEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEtBQUssU0FBUztRQUNoRCxRQUFRLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTthQUNsRSxLQUFLLEtBQUssU0FBUyxDQUN2QixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|
package/dist/utils/index.js
DELETED
package/dist/utils/isEmptyDoc.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
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
|
-
];
|
|
21
|
-
}
|
|
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);
|
|
31
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
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,
|
|
11
|
-
isInsideMethodInvocationSuffix: true
|
|
12
|
-
});
|
|
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));
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnRTaW5nbGVMYW1iZGFJbnZvY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3ByaW50U2luZ2xlTGFtYmRhSW52b2NhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU3RCxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQztBQUV2QyxNQUFNLENBQUMsT0FBTyxVQUFVLDJCQUEyQixDQUNqRCxlQUFrRCxFQUNsRCxNQUFjLEVBQ2QsTUFBYztJQUVkLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDM0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUU7UUFDL0MsdUJBQXVCO1FBQ3ZCLDhCQUE4QixFQUFFLElBQUk7S0FDckMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxlQUFlLEdBQUcseUNBQXlDLENBQy9ELGVBQWUsQ0FDaEI7UUFDQyxDQUFDLENBQUMsT0FBTyxDQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUNsQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsRUFDOUIsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsQ0FDckM7UUFDSCxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkMsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQyJ9
|