@openrewrite/rewrite 8.69.0-20251205-160300 → 8.69.0-20251205-203346

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.
@@ -1,4 +1,19 @@
1
1
  import { J } from "../java";
2
+ /**
3
+ * Gets the effective last whitespace from a Space.
4
+ * When there are comments, the last whitespace is the suffix of the last comment.
5
+ * When there are no comments, it's the whitespace property.
6
+ */
7
+ export declare function lastWhitespace(space: J.Space): string;
8
+ /**
9
+ * Replaces the effective last whitespace in a Space using a transform function.
10
+ * When there are comments, updates the suffix of the last comment.
11
+ * When there are no comments, updates the whitespace property.
12
+ *
13
+ * @param space The Space to modify (Immer draft)
14
+ * @param transform Function that receives the current last whitespace and returns the new value
15
+ */
16
+ export declare function replaceLastWhitespace(space: J.Space, transform: (ws: string) => string): J.Space;
2
17
  /**
3
18
  * Handles element removal from lists while preserving LST formatting.
4
19
  * Automatically applies prefixes from removed elements to the next kept element,
@@ -1 +1 @@
1
- {"version":3,"file":"formatting-utils.d.ts","sourceRoot":"","sources":["../../src/java/formatting-utils.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,CAAC,EAAC,MAAM,SAAS,CAAC;AAG1B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,uBAAuB,CAAC,CAAC,SAAS,CAAC;IAShC,OAAO,CAAC,QAAQ,CAAC,4BAA4B;IARzD,OAAO,CAAC,WAAW,CAAC,CAAI;IACxB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAAK;IAEzB;;;OAGG;gBAC0B,4BAA4B,GAAE,OAAe;IAE1E;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAK1B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC;CAY1B"}
1
+ {"version":3,"file":"formatting-utils.d.ts","sourceRoot":"","sources":["../../src/java/formatting-utils.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,CAAC,EAAC,MAAM,SAAS,CAAC;AAG1B;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,MAAM,CAKrD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAShG;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,uBAAuB,CAAC,CAAC,SAAS,CAAC;IAShC,OAAO,CAAC,QAAQ,CAAC,4BAA4B;IARzD,OAAO,CAAC,WAAW,CAAC,CAAI;IACxB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAAK;IAEzB;;;OAGG;gBAC0B,4BAA4B,GAAE,OAAe;IAE1E;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAK1B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC;CAY1B"}
@@ -16,7 +16,39 @@
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.ElementRemovalFormatter = void 0;
19
+ exports.lastWhitespace = lastWhitespace;
20
+ exports.replaceLastWhitespace = replaceLastWhitespace;
19
21
  const immer_1 = require("immer");
22
+ /**
23
+ * Gets the effective last whitespace from a Space.
24
+ * When there are comments, the last whitespace is the suffix of the last comment.
25
+ * When there are no comments, it's the whitespace property.
26
+ */
27
+ function lastWhitespace(space) {
28
+ if (space.comments.length > 0) {
29
+ return space.comments[space.comments.length - 1].suffix;
30
+ }
31
+ return space.whitespace;
32
+ }
33
+ /**
34
+ * Replaces the effective last whitespace in a Space using a transform function.
35
+ * When there are comments, updates the suffix of the last comment.
36
+ * When there are no comments, updates the whitespace property.
37
+ *
38
+ * @param space The Space to modify (Immer draft)
39
+ * @param transform Function that receives the current last whitespace and returns the new value
40
+ */
41
+ function replaceLastWhitespace(space, transform) {
42
+ return (0, immer_1.produce)(space, draft => {
43
+ if (draft.comments.length > 0) {
44
+ const lastComment = draft.comments[draft.comments.length - 1];
45
+ lastComment.suffix = transform(lastComment.suffix);
46
+ }
47
+ else {
48
+ draft.whitespace = transform(draft.whitespace);
49
+ }
50
+ });
51
+ }
20
52
  /**
21
53
  * Handles element removal from lists while preserving LST formatting.
22
54
  * Automatically applies prefixes from removed elements to the next kept element,
@@ -1 +1 @@
1
- {"version":3,"file":"formatting-utils.js","sourceRoot":"","sources":["../../src/java/formatting-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatting-utils.js","sourceRoot":"","sources":["../../src/java/formatting-utils.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,6 @@ export * from "./tree";
3
3
  export * from "./markers";
4
4
  export * from "./visitor";
5
5
  export * from "./type-visitor";
6
+ export * from "./formatting-utils";
6
7
  import "./print";
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/java/index.ts"],"names":[],"mappings":"AAeA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAE/B,OAAO,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/java/index.ts"],"names":[],"mappings":"AAeA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AAEnC,OAAO,SAAS,CAAC"}
@@ -34,5 +34,6 @@ __exportStar(require("./tree"), exports);
34
34
  __exportStar(require("./markers"), exports);
35
35
  __exportStar(require("./visitor"), exports);
36
36
  __exportStar(require("./type-visitor"), exports);
37
+ __exportStar(require("./formatting-utils"), exports);
37
38
  require("./print");
38
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/java/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yCAAuB;AACvB,yCAAuB;AACvB,4CAA0B;AAC1B,4CAA0B;AAC1B,iDAA+B;AAE/B,mBAAiB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/java/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yCAAuB;AACvB,yCAAuB;AACvB,4CAA0B;AAC1B,4CAA0B;AAC1B,iDAA+B;AAC/B,qDAAmC;AAEnC,mBAAiB"}
@@ -2,7 +2,8 @@ import { JS } from "./tree";
2
2
  import { JavaScriptVisitor } from "./visitor";
3
3
  import { J, Statement } from "../java";
4
4
  import { Cursor, Tree } from "../tree";
5
- import { BlankLinesStyle, SpacesStyle, TabsAndIndentsStyle, WrappingAndBracesStyle } from "./style";
5
+ import { BlankLinesStyle, SpacesStyle, WrappingAndBracesStyle } from "./style";
6
+ export { TabsAndIndentsVisitor } from "./tabs-and-indents-visitor";
6
7
  export declare const maybeAutoFormat: <J2 extends J, P>(before: J2, after: J2, p: P, stopAfter?: J, parent?: Cursor) => Promise<J2>;
7
8
  export declare const autoFormat: <J2 extends J, P>(j: J2, p: P, stopAfter?: J, parent?: Cursor) => Promise<J2>;
8
9
  export declare class AutoformatVisitor<P> extends JavaScriptVisitor<P> {
@@ -107,17 +108,4 @@ export declare class BlankLinesVisitor<P> extends JavaScriptVisitor<P> {
107
108
  private static countNewlines;
108
109
  postVisit(tree: J, p: P): Promise<J | undefined>;
109
110
  }
110
- export declare class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
111
- private readonly tabsAndIndentsStyle;
112
- private stopAfter?;
113
- private readonly singleIndent;
114
- constructor(tabsAndIndentsStyle: TabsAndIndentsStyle, stopAfter?: Tree | undefined);
115
- protected preVisit(tree: J, p: P): Promise<J | undefined>;
116
- visitSpace(space: J.Space, p: P): Promise<J.Space>;
117
- visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined>;
118
- visitLeftPadded<T extends J | J.Space | number | string | boolean>(left: J.LeftPadded<T>, p: P): Promise<J.LeftPadded<T> | undefined>;
119
- private get currentIndent();
120
- private combineIndent;
121
- postVisit(tree: J, p: P): Promise<J | undefined>;
122
- }
123
111
  //# sourceMappingURL=format.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TabsAndIndentsVisitor = exports.BlankLinesVisitor = exports.MinimumViableSpacingVisitor = exports.WrappingAndBracesVisitor = exports.SpacesVisitor = exports.NormalizeWhitespaceVisitor = exports.AutoformatVisitor = exports.autoFormat = exports.maybeAutoFormat = void 0;
12
+ exports.BlankLinesVisitor = exports.MinimumViableSpacingVisitor = exports.WrappingAndBracesVisitor = exports.SpacesVisitor = exports.NormalizeWhitespaceVisitor = exports.AutoformatVisitor = exports.autoFormat = exports.maybeAutoFormat = exports.TabsAndIndentsVisitor = void 0;
13
13
  /*
14
14
  * Copyright 2025 the original author or authors.
15
15
  * <p>
@@ -32,6 +32,10 @@ const immer_1 = require("immer");
32
32
  const tree_2 = require("../tree");
33
33
  const style_1 = require("./style");
34
34
  const visitor_2 = require("../visitor");
35
+ const markers_1 = require("../markers");
36
+ const tabs_and_indents_visitor_1 = require("./tabs-and-indents-visitor");
37
+ var tabs_and_indents_visitor_2 = require("./tabs-and-indents-visitor");
38
+ Object.defineProperty(exports, "TabsAndIndentsVisitor", { enumerable: true, get: function () { return tabs_and_indents_visitor_2.TabsAndIndentsVisitor; } });
35
39
  const maybeAutoFormat = (before, after, p, stopAfter, parent) => __awaiter(void 0, void 0, void 0, function* () {
36
40
  if (before !== after) {
37
41
  return (0, exports.autoFormat)(after, p, stopAfter, parent);
@@ -54,7 +58,7 @@ class AutoformatVisitor extends visitor_1.JavaScriptVisitor {
54
58
  new BlankLinesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.BlankLinesStyle, tree), this.stopAfter),
55
59
  new WrappingAndBracesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.WrappingAndBracesStyle, tree), this.stopAfter),
56
60
  new SpacesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.SpacesStyle, tree), this.stopAfter),
57
- new TabsAndIndentsVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.TabsAndIndentsStyle, tree), this.stopAfter),
61
+ new tabs_and_indents_visitor_1.TabsAndIndentsVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.TabsAndIndentsStyle, tree), this.stopAfter),
58
62
  ];
59
63
  let t = tree;
60
64
  for (const visitor of visitors) {
@@ -70,6 +74,7 @@ class AutoformatVisitor extends visitor_1.JavaScriptVisitor {
70
74
  exports.AutoformatVisitor = AutoformatVisitor;
71
75
  class NormalizeWhitespaceVisitor extends visitor_1.JavaScriptVisitor {
72
76
  // called NormalizeFormat in Java
77
+ // Ensures that whitespace is on the outermost AST element possible
73
78
  constructor(stopAfter) {
74
79
  super();
75
80
  this.stopAfter = stopAfter;
@@ -210,8 +215,13 @@ class SpacesVisitor extends visitor_1.JavaScriptVisitor {
210
215
  throw new Error("Unsupported operator type " + ret.operator.element.valueOf());
211
216
  }
212
217
  return (0, immer_1.produce)(ret, draft => {
213
- draft.operator.before.whitespace = property ? " " : "";
214
- draft.right.prefix.whitespace = property ? " " : "";
218
+ // Preserve newlines - only modify if no newlines present
219
+ if (!draft.operator.before.whitespace.includes("\n")) {
220
+ draft.operator.before.whitespace = property ? " " : "";
221
+ }
222
+ if (!draft.right.prefix.whitespace.includes("\n")) {
223
+ draft.right.prefix.whitespace = property ? " " : "";
224
+ }
215
225
  });
216
226
  });
217
227
  }
@@ -250,7 +260,11 @@ class SpacesVisitor extends visitor_1.JavaScriptVisitor {
250
260
  return (0, immer_1.produce)(ret, draft => {
251
261
  if (draft.elements.length > 1) {
252
262
  for (let i = 1; i < draft.elements.length; i++) {
253
- draft.elements[i].element.prefix.whitespace = this.style.other.afterComma ? " " : "";
263
+ const currentWs = draft.elements[i].element.prefix.whitespace;
264
+ // Preserve original newlines - only adjust spacing when elements are on same line
265
+ if (!currentWs.includes("\n")) {
266
+ draft.elements[i].element.prefix.whitespace = this.style.other.afterComma ? " " : "";
267
+ }
254
268
  }
255
269
  }
256
270
  });
@@ -386,6 +400,15 @@ class SpacesVisitor extends visitor_1.JavaScriptVisitor {
386
400
  draft.parameters.elements[0] = yield this.spaceAfterRightPadded(yield this.spaceBeforeRightPaddedElement(draft.parameters.elements[0], this.style.within.functionDeclarationParentheses), false);
387
401
  }
388
402
  draft.parameters = yield this.spaceBeforeContainer(draft.parameters, this.style.beforeParentheses.functionDeclarationParentheses);
403
+ // Handle generator asterisk spacing
404
+ // - space before * is in the Generator marker's prefix
405
+ // - space after * is in the method name's prefix
406
+ const generatorIndex = ret.markers.markers.findIndex(m => m.kind === tree_1.JS.Markers.Generator);
407
+ if (generatorIndex >= 0) {
408
+ const generator = draft.markers.markers[generatorIndex];
409
+ generator.prefix.whitespace = this.style.other.beforeAsteriskInGenerator ? " " : "";
410
+ draft.name.prefix.whitespace = this.style.other.afterAsteriskInGenerator ? " " : "";
411
+ }
389
412
  // TODO typeParameters handling - see visitClassDeclaration
390
413
  }));
391
414
  });
@@ -586,7 +609,10 @@ class SpacesVisitor extends visitor_1.JavaScriptVisitor {
586
609
  return __awaiter(this, void 0, void 0, function* () {
587
610
  return (yield (0, visitor_2.produceAsync)(left, (draft) => __awaiter(this, void 0, void 0, function* () {
588
611
  if (draft.before.comments.length == 0) {
589
- draft.before.whitespace = spaceBeforePadding ? " " : "";
612
+ // Preserve newlines - only modify if no newlines present
613
+ if (!draft.before.whitespace.includes("\n")) {
614
+ draft.before.whitespace = spaceBeforePadding ? " " : "";
615
+ }
590
616
  }
591
617
  draft.element = (yield this.spaceBefore(left.element, spaceBeforeElement));
592
618
  })));
@@ -803,7 +829,10 @@ class WrappingAndBracesVisitor extends visitor_1.JavaScriptVisitor {
803
829
  return (0, immer_1.produce)(b, draft => {
804
830
  var _a;
805
831
  if (!draft.end.whitespace.includes("\n") && (draft.statements.length == 0 || !draft.statements[draft.statements.length - 1].after.whitespace.includes("\n"))) {
806
- if (((_a = this.cursor.parent) === null || _a === void 0 ? void 0 : _a.value.kind) !== java_1.J.Kind.NewClass) {
832
+ // Skip newline for object literals and empty lambda/function bodies
833
+ const parentKind = (_a = this.cursor.parent) === null || _a === void 0 ? void 0 : _a.value.kind;
834
+ if (parentKind !== java_1.J.Kind.NewClass &&
835
+ !(draft.statements.length === 0 && (parentKind === java_1.J.Kind.Lambda || parentKind === java_1.J.Kind.MethodDeclaration))) {
807
836
  draft.end = this.withNewlineSpace(draft.end);
808
837
  }
809
838
  }
@@ -923,9 +952,12 @@ class MinimumViableSpacingVisitor extends visitor_1.JavaScriptVisitor {
923
952
  });
924
953
  first = false;
925
954
  }
926
- c = (0, immer_1.produce)(c, draft => {
927
- this.ensureSpace(draft.name.prefix);
928
- });
955
+ // anonymous classes have an empty name
956
+ if (c.name.simpleName !== "") {
957
+ c = (0, immer_1.produce)(c, draft => {
958
+ this.ensureSpace(draft.name.prefix);
959
+ });
960
+ }
929
961
  if (c.typeParameters && c.typeParameters.elements.length > 0 && c.typeParameters.before.whitespace === "" && !first) {
930
962
  c = (0, immer_1.produce)(c, draft => {
931
963
  this.ensureSpace(draft.typeParameters.before);
@@ -957,9 +989,6 @@ class MinimumViableSpacingVisitor extends visitor_1.JavaScriptVisitor {
957
989
  return __awaiter(this, void 0, void 0, function* () {
958
990
  let m = yield _super.visitMethodDeclaration.call(this, method, p);
959
991
  let first = m.leadingAnnotations.length === 0;
960
- if (method.markers.markers.find(x => x.kind == tree_1.JS.Markers.FunctionDeclaration)) {
961
- first = false;
962
- }
963
992
  if (m.modifiers.length > 0) {
964
993
  if (!first && m.modifiers[0].prefix.whitespace === "") {
965
994
  m = (0, immer_1.produce)(m, draft => {
@@ -973,6 +1002,11 @@ class MinimumViableSpacingVisitor extends visitor_1.JavaScriptVisitor {
973
1002
  });
974
1003
  first = false;
975
1004
  }
1005
+ // FunctionDeclaration marker check must come AFTER modifiers processing
1006
+ // to avoid adding unwanted space before the first modifier (e.g., 'async')
1007
+ if ((0, markers_1.findMarker)(method, tree_1.JS.Markers.FunctionDeclaration)) {
1008
+ first = false;
1009
+ }
976
1010
  if (!first && m.name.prefix.whitespace === "") {
977
1011
  m = (0, immer_1.produce)(m, draft => {
978
1012
  this.ensureSpace(draft.name.prefix);
@@ -1262,7 +1296,9 @@ class BlankLinesVisitor extends visitor_1.JavaScriptVisitor {
1262
1296
  const b = yield _super.visitBlock.call(this, block, p);
1263
1297
  return (0, immer_1.produce)(b, draft => {
1264
1298
  var _a;
1265
- if (((_a = this.cursor.parent) === null || _a === void 0 ? void 0 : _a.value.kind) != java_1.J.Kind.NewClass) {
1299
+ const parentKind = (_a = this.cursor.parent) === null || _a === void 0 ? void 0 : _a.value.kind;
1300
+ // Skip newline only for object literals (NewClass) - they should preserve single-line formatting
1301
+ if (parentKind != java_1.J.Kind.NewClass) {
1266
1302
  if (!draft.end.whitespace.includes("\n")) {
1267
1303
  draft.end.whitespace = draft.end.whitespace.replace(/[ \t]+$/, '') + "\n";
1268
1304
  }
@@ -1303,13 +1339,17 @@ class BlankLinesVisitor extends visitor_1.JavaScriptVisitor {
1303
1339
  }
1304
1340
  }
1305
1341
  ensurePrefixHasNewLine(node) {
1306
- if (node.prefix && !node.prefix.whitespace.includes("\n")) {
1307
- if (node.kind === tree_1.JS.Kind.ExpressionStatement) {
1308
- this.ensurePrefixHasNewLine(node.expression);
1309
- }
1310
- else {
1311
- node.prefix.whitespace = "\n";
1312
- }
1342
+ if (!node.prefix)
1343
+ return;
1344
+ // Check if newline already exists in the effective last whitespace
1345
+ if ((0, java_1.lastWhitespace)(node.prefix).includes("\n")) {
1346
+ return; // Already has a newline
1347
+ }
1348
+ if (node.kind === tree_1.JS.Kind.ExpressionStatement) {
1349
+ this.ensurePrefixHasNewLine(node.expression);
1350
+ }
1351
+ else {
1352
+ node.prefix = (0, java_1.replaceLastWhitespace)(node.prefix, () => "\n");
1313
1353
  }
1314
1354
  }
1315
1355
  static countNewlines(s) {
@@ -1329,195 +1369,4 @@ class BlankLinesVisitor extends visitor_1.JavaScriptVisitor {
1329
1369
  }
1330
1370
  }
1331
1371
  exports.BlankLinesVisitor = BlankLinesVisitor;
1332
- class TabsAndIndentsVisitor extends visitor_1.JavaScriptVisitor {
1333
- constructor(tabsAndIndentsStyle, stopAfter) {
1334
- super();
1335
- this.tabsAndIndentsStyle = tabsAndIndentsStyle;
1336
- this.stopAfter = stopAfter;
1337
- if (this.tabsAndIndentsStyle.useTabCharacter) {
1338
- this.singleIndent = "\t";
1339
- }
1340
- else {
1341
- this.singleIndent = " ".repeat(this.tabsAndIndentsStyle.indentSize);
1342
- }
1343
- }
1344
- preVisit(tree, p) {
1345
- const _super = Object.create(null, {
1346
- preVisit: { get: () => super.preVisit }
1347
- });
1348
- return __awaiter(this, void 0, void 0, function* () {
1349
- var _a, _b, _c;
1350
- let ret = yield _super.preVisit.call(this, tree, p);
1351
- let indentShouldIncrease = tree.kind === java_1.J.Kind.Block
1352
- || ((_c = (_b = (_a = this.cursor.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.parent) === null || _c === void 0 ? void 0 : _c.value.kind) == java_1.J.Kind.Case
1353
- || (tree.kind === tree_1.JS.Kind.StatementExpression && tree.statement.kind == java_1.J.Kind.MethodDeclaration && tree.prefix.whitespace.includes("\n"))
1354
- || tree.kind === tree_1.JS.Kind.JsxTag;
1355
- const previousIndent = this.currentIndent;
1356
- if (tree.kind === java_1.J.Kind.IfElse && this.cursor.getNearestMessage("else-indent") !== undefined) {
1357
- this.cursor.messages.set("indentToUse", this.cursor.getNearestMessage("else-indent"));
1358
- }
1359
- else if (indentShouldIncrease) {
1360
- this.cursor.messages.set("indentToUse", this.currentIndent + this.singleIndent);
1361
- }
1362
- if (tree.kind === tree_1.JS.Kind.JsxTag) {
1363
- this.cursor.messages.set("jsxTagIndent", this.currentIndent);
1364
- }
1365
- if (tree.kind === java_1.J.Kind.IfElse && this.cursor.messages.get("else-indent") !== undefined) {
1366
- this.cursor.messages.set("indentToUse", this.cursor.messages.get("else-indent"));
1367
- this.cursor.messages.delete("else-indent");
1368
- }
1369
- const relativeIndent = this.currentIndent;
1370
- ret = (0, immer_1.produce)(ret, draft => {
1371
- if (draft.prefix == undefined) {
1372
- draft.prefix = { kind: java_1.J.Kind.Space, comments: [], whitespace: "" };
1373
- }
1374
- if (draft.prefix.whitespace.includes("\n")) {
1375
- draft.prefix.whitespace = this.combineIndent(draft.prefix.whitespace, relativeIndent);
1376
- }
1377
- if (draft.kind === java_1.J.Kind.Block) {
1378
- const block = draft;
1379
- const indentToUseInClosing = indentShouldIncrease ? previousIndent : relativeIndent;
1380
- block.end.whitespace = this.combineIndent(block.end.whitespace, indentToUseInClosing);
1381
- }
1382
- });
1383
- indentShouldIncrease = false;
1384
- // Increase indent for control structures with non-block bodies
1385
- if (tree.kind === java_1.J.Kind.If) {
1386
- const ifStmt = tree;
1387
- if (ifStmt.thenPart.element.kind !== java_1.J.Kind.Block) {
1388
- indentShouldIncrease = true;
1389
- this.cursor.messages.set("else-indent", this.currentIndent);
1390
- }
1391
- }
1392
- else if (tree.kind === java_1.J.Kind.WhileLoop) {
1393
- const whileLoop = tree;
1394
- if (whileLoop.body.element.kind !== java_1.J.Kind.Block) {
1395
- indentShouldIncrease = true;
1396
- }
1397
- }
1398
- else if (tree.kind === java_1.J.Kind.ForLoop) {
1399
- const forLoop = tree;
1400
- if (forLoop.body.element.kind !== java_1.J.Kind.Block) {
1401
- indentShouldIncrease = true;
1402
- }
1403
- }
1404
- else if (tree.kind === tree_1.JS.Kind.JsxTag) {
1405
- indentShouldIncrease = true;
1406
- }
1407
- if (indentShouldIncrease) {
1408
- this.cursor.messages.set("indentToUse", this.currentIndent + this.singleIndent);
1409
- }
1410
- return ret;
1411
- });
1412
- }
1413
- visitSpace(space, p) {
1414
- const _super = Object.create(null, {
1415
- visitSpace: { get: () => super.visitSpace }
1416
- });
1417
- return __awaiter(this, void 0, void 0, function* () {
1418
- const ret = yield _super.visitSpace.call(this, space, p);
1419
- if (space.whitespace.includes("\n")) {
1420
- let parentCursor = this.cursor.parent;
1421
- while (parentCursor != null && parentCursor.value.kind !== tree_1.JS.Kind.JsxTag) {
1422
- parentCursor = parentCursor.parent;
1423
- }
1424
- if (parentCursor && parentCursor.value.kind === tree_1.JS.Kind.JsxTag) {
1425
- parentCursor.messages.set("jsxTagWithNewline", true);
1426
- }
1427
- }
1428
- return ret;
1429
- });
1430
- }
1431
- visit(tree, p, parent) {
1432
- const _super = Object.create(null, {
1433
- visit: { get: () => super.visit }
1434
- });
1435
- return __awaiter(this, void 0, void 0, function* () {
1436
- var _a;
1437
- if (((_a = this.cursor) === null || _a === void 0 ? void 0 : _a.getNearestMessage("stop")) != null) {
1438
- return tree;
1439
- }
1440
- if (parent) {
1441
- this.cursor = new tree_2.Cursor(tree, parent);
1442
- for (let c = this.cursor; c != null; c = c.parent) {
1443
- let space;
1444
- const v = c.value;
1445
- if (v.kind == java_1.J.Kind.RightPadded) {
1446
- space = v.after;
1447
- }
1448
- else if (v.kind == java_1.J.Kind.LeftPadded || v.kind == java_1.J.Kind.Container) {
1449
- space = v.before;
1450
- }
1451
- else if ((0, java_1.isJava)(v) || (0, tree_1.isJavaScript)(v)) {
1452
- space = v.prefix;
1453
- }
1454
- else {
1455
- continue;
1456
- }
1457
- const lastWhitespace = space.comments.length > 0 ? space.comments[space.comments.length - 1].suffix : space.whitespace;
1458
- const idx = lastWhitespace.lastIndexOf('\n');
1459
- if (idx !== -1) {
1460
- c.messages.set("indentToUse", lastWhitespace.substring(idx + 1));
1461
- break;
1462
- }
1463
- }
1464
- }
1465
- return yield _super.visit.call(this, tree, p);
1466
- });
1467
- }
1468
- visitLeftPadded(left, p) {
1469
- const _super = Object.create(null, {
1470
- visitLeftPadded: { get: () => super.visitLeftPadded }
1471
- });
1472
- return __awaiter(this, void 0, void 0, function* () {
1473
- const ret = yield _super.visitLeftPadded.call(this, left, p);
1474
- if (ret == undefined) {
1475
- return ret;
1476
- }
1477
- return (0, immer_1.produce)(ret, draft => {
1478
- if (draft.before.whitespace.includes("\n")) {
1479
- draft.before.whitespace = this.combineIndent(draft.before.whitespace, this.currentIndent);
1480
- }
1481
- });
1482
- });
1483
- }
1484
- get currentIndent() {
1485
- var _a;
1486
- return (_a = this.cursor.getNearestMessage("indentToUse")) !== null && _a !== void 0 ? _a : "";
1487
- }
1488
- combineIndent(oldWs, relativeIndent) {
1489
- return oldWs.substring(0, oldWs.lastIndexOf("\n") + 1) + relativeIndent;
1490
- }
1491
- postVisit(tree, p) {
1492
- const _super = Object.create(null, {
1493
- postVisit: { get: () => super.postVisit }
1494
- });
1495
- return __awaiter(this, void 0, void 0, function* () {
1496
- var _a;
1497
- if (this.stopAfter != null && (0, tree_2.isScope)(this.stopAfter, tree)) {
1498
- (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.root.messages.set("stop", true);
1499
- }
1500
- let treeChanged = tree;
1501
- if (tree.kind == tree_1.JS.Kind.JsxTag) {
1502
- const tag = tree;
1503
- if (this.cursor.messages.get("jsxTagWithNewline")) {
1504
- const jsxTagIndent = this.cursor.messages.get("jsxTagIndent");
1505
- if (jsxTagIndent) {
1506
- this.cursor.messages.delete("jsxTagWithNewline");
1507
- treeChanged = (0, immer_1.produce)(tag, draft => {
1508
- if (draft.children) {
1509
- const lastChild = draft.children[draft.children.length - 1];
1510
- if (lastChild.kind === java_1.J.Kind.Literal) {
1511
- lastChild.prefix.whitespace = this.combineIndent(lastChild.prefix.whitespace, jsxTagIndent);
1512
- }
1513
- }
1514
- });
1515
- }
1516
- }
1517
- }
1518
- return _super.postVisit.call(this, treeChanged, p);
1519
- });
1520
- }
1521
- }
1522
- exports.TabsAndIndentsVisitor = TabsAndIndentsVisitor;
1523
1372
  //# sourceMappingURL=format.js.map