Skip to content

Commit 65c3959

Browse files
committed
Format-preserving printer - use original detected newline
1 parent c001601 commit 65c3959

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

Diff for: src/Printer/Printer.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -516,7 +516,7 @@ private function printArrayFormatPreserving(array $nodes, array $originalNodes,
516516
[$isMultiline, $beforeAsteriskIndent, $afterAsteriskIndent] = $this->isMultiline($tokenIndex, $originalNodes, $originalTokens);
517517

518518
if ($insertStr === "\n * ") {
519-
$insertStr = sprintf("\n%s*%s", $beforeAsteriskIndent, $afterAsteriskIndent);
519+
$insertStr = sprintf('%s%s*%s', $originalTokens->getDetectedNewline() ?? "\n", $beforeAsteriskIndent, $afterAsteriskIndent);
520520
}
521521

522522
foreach ($diff as $i => $diffElem) {
@@ -549,7 +549,7 @@ private function printArrayFormatPreserving(array $nodes, array $originalNodes,
549549
}
550550

551551
if ($insertNewline) {
552-
$result .= $insertStr . sprintf("\n%s*%s", $beforeAsteriskIndent, $afterAsteriskIndent);
552+
$result .= $insertStr . sprintf('%s%s*%s', $originalTokens->getDetectedNewline() ?? "\n", $beforeAsteriskIndent, $afterAsteriskIndent);
553553
} else {
554554
$result .= $insertStr;
555555
}
@@ -593,7 +593,7 @@ private function printArrayFormatPreserving(array $nodes, array $originalNodes,
593593

594594
$itemEndPos = $tokenIndex - 1;
595595
if ($insertNewline) {
596-
$result .= $insertStr . sprintf("\n%s*%s", $beforeAsteriskIndent, $afterAsteriskIndent);
596+
$result .= $insertStr . sprintf('%s%s*%s', $originalTokens->getDetectedNewline() ?? "\n", $beforeAsteriskIndent, $afterAsteriskIndent);
597597
} else {
598598
$result .= $insertStr;
599599
}
@@ -662,7 +662,7 @@ private function printArrayFormatPreserving(array $nodes, array $originalNodes,
662662
if (!$first) {
663663
$result .= $insertStr;
664664
if ($insertNewline) {
665-
$result .= sprintf("\n%s*%s", $beforeAsteriskIndent, $afterAsteriskIndent);
665+
$result .= sprintf('%s%s*%s', $originalTokens->getDetectedNewline() ?? "\n", $beforeAsteriskIndent, $afterAsteriskIndent);
666666
}
667667
}
668668

Diff for: tests/PHPStan/Parser/PhpDocParserTest.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -5332,7 +5332,7 @@ public function provideDescriptionWithOrWithoutHtml(): Iterator
53325332
new ParserException(
53335333
'Important',
53345334
Lexer::TOKEN_IDENTIFIER,
5335-
27,
5335+
PHP_EOL === "\n" ? 27 : 28,
53365336
Lexer::TOKEN_HORIZONTAL_WS,
53375337
null,
53385338
2
@@ -5817,7 +5817,7 @@ public function provideDoctrineData(): Iterator
58175817
new PhpDocTagNode('@X', new DoctrineTagValueNode(new DoctrineAnnotation(
58185818
'@X',
58195819
[]
5820-
), "test\ntest2")),
5820+
), 'test' . PHP_EOL . 'test2')),
58215821
]),
58225822
null,
58235823
null,
@@ -5887,7 +5887,7 @@ public function provideDoctrineData(): Iterator
58875887
' * test2' . PHP_EOL .
58885888
' */',
58895889
new PhpDocNode([
5890-
new PhpDocTagNode('@X', new GenericTagValueNode("test\ntest2")),
5890+
new PhpDocTagNode('@X', new GenericTagValueNode('test' . PHP_EOL . 'test2')),
58915891
]),
58925892
null,
58935893
null,

0 commit comments

Comments
 (0)