File tree Expand file tree Collapse file tree 2 files changed +53
-1
lines changed
test/tall/regression/1600 Expand file tree Collapse file tree 2 files changed +53
-1
lines changed Original file line number Diff line number Diff line change @@ -398,6 +398,7 @@ final class PieceWriter {
398398 if (comments.isEmpty) return const [];
399399
400400 var leadingComments = < Piece > [];
401+ var afterHanging = false ;
401402 for (var i = 0 ; i < comments.length; i++ ) {
402403 var comment = comments[i];
403404
@@ -411,12 +412,16 @@ final class PieceWriter {
411412
412413 var piece = commentPiece (comment, trailingWhitespace);
413414
414- if (comments.isHanging (i)) {
415+ if (! afterHanging && comments.isHanging (i)) {
415416 // Attach it to the previous CodePiece.
416417 _previousCode! .addHangingComment (piece);
417418 } else {
418419 // Add it to the list of leading comments for the upcoming token.
419420 leadingComments.add (piece);
421+
422+ // Once we've found a single non-hanging comment, all subsequent ones
423+ // must also be non-hanging since they follow it.
424+ afterHanging = true ;
420425 }
421426 }
422427
Original file line number Diff line number Diff line change 1+ >>>
2+ /*Debugger:stepOver*/
3+ void main() {
4+ /*bl*/ /*sl:1*/ var data = [1, 2, 3];
5+ for (
6+ // comment forcing formatting
7+ /*sl:3*/ /*sl:5*/ /*sl:7*/ /*sl:8*/ var datapoint
8+ // comment forcing formatting
9+ in
10+ // comment forcing formatting
11+ /*sl:2*/ data
12+ // comment forcing formatting
13+ ) {
14+ /*sl:4*/ /*sl:6*/ /*sl:8*/ print(datapoint);
15+ }
16+ /*sl:9 */ print('Done');
17+ }
18+ <<<
19+ /*Debugger:stepOver*/
20+ void main() {
21+ /*bl*/ /*sl:1*/
22+ var data = [1, 2, 3];
23+ for (
24+ // comment forcing formatting
25+ /*sl:3*/ /*sl:5*/ /*sl:7*/ /*sl:8*/ var datapoint
26+ // comment forcing formatting
27+ in
28+ // comment forcing formatting
29+ /*sl:2*/ data
30+ // comment forcing formatting
31+ ) {
32+ /*sl:4*/ /*sl:6*/ /*sl:8*/
33+ print(datapoint);
34+ }
35+ /*sl:9 */
36+ print('Done');
37+ }
38+ >>> Minimal repro.
39+ main() {
40+ for (
41+ /* 1 */ /* 2 */ datapoint in data) {}
42+ }
43+ <<<
44+ main() {
45+ for (
46+ /* 1 */ /* 2 */ datapoint in data) {}
47+ }
You can’t perform that action at this time.
0 commit comments