Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SlevomatCodingStandard.Commenting.DocCommentSpacing crashes when using backticks with double quotes #1608

Open
kkmuffme opened this issue Aug 11, 2023 · 5 comments

Comments

@kkmuffme
Copy link

PHPCS 3.7.2
Slevomat 8.13.4

Running phpcbf with config:

<?xml version="1.0"?>
<ruleset name="debug">
	<description>debugging</description>
	<rule ref="SlevomatCodingStandard.Commenting.DocCommentSpacing" />
</ruleset>

For file: (this seems weird, but this is the minimal reproducer, in reality the code comment makes more sense, but I removed everything that isn't strictly necessary to reproduce the issue)

<?php
/**
 * `"= "`
 * a
 * "
 *
 * @package foo
 */
Click to see output in stderr with -vvv
Processing ruleset /path/to/phpcs-ruleset.xml
	Processing rule "SlevomatCodingStandard.Commenting.DocCommentSpacing"
		=> /path/to/vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Commenting/DocCommentSpacingSniff.php
=> Ruleset processing complete; included 1 sniffs and excluded 0
Registered SlevomatCodingStandard\Sniffs\Commenting\DocCommentSpacingSniff
Creating file list... DONE (1 files in queue)
Changing into directory /path/to/file
Processing hello.php 
	*** START PHP TOKENIZING ***
	Process token [0]: T_OPEN_TAG => <?php�[30;1m\n�[0m
	Process token [1]: T_DOC_COMMENT => /**�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m·�[0m`"=�[30;1m·�[0m"`�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m·�[0ma�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m·�[0m@package�[30;1m·�[0mfoo�[30;1m\n�[0m�[30;1m·�[0m*/
		*** START COMMENT TOKENIZING ***
		Create comment token: T_DOC_COMMENT_OPEN_TAG => /**
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Create comment token: T_DOC_COMMENT_STAR => *
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Create comment token: T_DOC_COMMENT_STRING => `"=�[30;1m·�[0m"`
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Create comment token: T_DOC_COMMENT_STAR => *
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Create comment token: T_DOC_COMMENT_STRING => a
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Create comment token: T_DOC_COMMENT_STAR => *
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Create comment token: T_DOC_COMMENT_STRING => "
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Create comment token: T_DOC_COMMENT_STAR => *
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Create comment token: T_DOC_COMMENT_STAR => *
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Create comment token: T_DOC_COMMENT_TAG => @package
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Create comment token: T_DOC_COMMENT_STRING => foo
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
		Create comment token: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Create comment token: T_DOC_COMMENT_CLOSE_TAG => */
		*** END COMMENT TOKENIZING ***
	Process token [2]: T_WHITESPACE => �[30;1m\n�[0m
	*** END PHP TOKENIZING ***
	*** START TOKEN MAP ***
	*** END TOKEN MAP ***
	*** START SCOPE MAP ***
	*** END SCOPE MAP ***
	*** START LEVEL MAP ***
	Process token 0 on line 1 [col:1;len:5;lvl:0;]: T_OPEN_TAG => <?php�[30;1m\n�[0m
	Process token 1 on line 2 [col:1;len:3;lvl:0;]: T_DOC_COMMENT_OPEN_TAG => /**
	Process token 2 on line 2 [col:4;len:0;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
	Process token 3 on line 3 [col:1;len:1;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
	Process token 4 on line 3 [col:2;len:1;lvl:0;]: T_DOC_COMMENT_STAR => *
	Process token 5 on line 3 [col:3;len:1;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
	Process token 6 on line 3 [col:4;len:6;lvl:0;]: T_DOC_COMMENT_STRING => `"=�[30;1m·�[0m"`
	Process token 7 on line 3 [col:10;len:0;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
	Process token 8 on line 4 [col:1;len:1;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
	Process token 9 on line 4 [col:2;len:1;lvl:0;]: T_DOC_COMMENT_STAR => *
	Process token 10 on line 4 [col:3;len:1;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
	Process token 11 on line 4 [col:4;len:1;lvl:0;]: T_DOC_COMMENT_STRING => a
	Process token 12 on line 4 [col:5;len:0;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
	Process token 13 on line 5 [col:1;len:1;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
	Process token 14 on line 5 [col:2;len:1;lvl:0;]: T_DOC_COMMENT_STAR => *
	Process token 15 on line 5 [col:3;len:1;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
	Process token 16 on line 5 [col:4;len:1;lvl:0;]: T_DOC_COMMENT_STRING => "
	Process token 17 on line 5 [col:5;len:0;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
	Process token 18 on line 6 [col:1;len:1;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
	Process token 19 on line 6 [col:2;len:1;lvl:0;]: T_DOC_COMMENT_STAR => *
	Process token 20 on line 6 [col:3;len:0;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
	Process token 21 on line 7 [col:1;len:1;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
	Process token 22 on line 7 [col:2;len:1;lvl:0;]: T_DOC_COMMENT_STAR => *
	Process token 23 on line 7 [col:3;len:1;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
	Process token 24 on line 7 [col:4;len:8;lvl:0;]: T_DOC_COMMENT_TAG => @package
	Process token 25 on line 7 [col:12;len:1;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
	Process token 26 on line 7 [col:13;len:3;lvl:0;]: T_DOC_COMMENT_STRING => foo
	Process token 27 on line 7 [col:16;len:0;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
	Process token 28 on line 8 [col:1;len:1;lvl:0;]: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
	Process token 29 on line 8 [col:2;len:2;lvl:0;]: T_DOC_COMMENT_CLOSE_TAG => */
	Process token 30 on line 8 [col:4;len:0;lvl:0;]: T_WHITESPACE => �[30;1m\n�[0m
	*** END LEVEL MAP ***
	*** START ADDITIONAL PHP PROCESSING ***
	*** END ADDITIONAL PHP PROCESSING ***
[PHP => 31 tokens in 8 lines]... 
	*** START TOKEN PROCESSING ***
		Process token 0: T_OPEN_TAG => <?php�[30;1m\n�[0m
		Process token 1: T_DOC_COMMENT_OPEN_TAG => /**
			Processing SlevomatCodingStandard\Sniffs\Commenting\DocCommentSpacingSniff... DONE in 0.0027 seconds
		Process token 2: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
		Process token 3: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Process token 4: T_DOC_COMMENT_STAR => *
		Process token 5: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Process token 6: T_DOC_COMMENT_STRING => `"=�[30;1m·�[0m"`
		Process token 7: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
		Process token 8: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Process token 9: T_DOC_COMMENT_STAR => *
		Process token 10: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Process token 11: T_DOC_COMMENT_STRING => a
		Process token 12: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
		Process token 13: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Process token 14: T_DOC_COMMENT_STAR => *
		Process token 15: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Process token 16: T_DOC_COMMENT_STRING => "
		Process token 17: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
		Process token 18: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Process token 19: T_DOC_COMMENT_STAR => *
		Process token 20: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
		Process token 21: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Process token 22: T_DOC_COMMENT_STAR => *
		Process token 23: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Process token 24: T_DOC_COMMENT_TAG => @package
		Process token 25: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Process token 26: T_DOC_COMMENT_STRING => foo
		Process token 27: T_DOC_COMMENT_WHITESPACE => �[30;1m\n�[0m
		Process token 28: T_DOC_COMMENT_WHITESPACE => �[30;1m·�[0m
		Process token 29: T_DOC_COMMENT_CLOSE_TAG => */
		Process token 30: T_WHITESPACE => �[30;1m\n�[0m
	*** END TOKEN PROCESSING ***
	*** START SNIFF PROCESSING REPORT ***
	SlevomatCodingStandard\Sniffs\Commenting\DocCommentSpacingSniff: 0.0027 secs
	*** END SNIFF PROCESSING REPORT ***
DONE in 6ms (1 fixable violations)
	=> Fixing file: 1/1 violations remaining
---START FILE CONTENT---
1|<?php
2|/**
3| * `"= "`
4| * a
5| * "
6| *
7| * @package foo
8| */
9|
--- END FILE CONTENT ---
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:258
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:260 replaced token 16 (T_DOC_COMMENT_STRING on line 5) """ => ""�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:265 replaced token 16 (T_DOC_COMMENT_STRING on line 5) """ => ""�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:268 replaced token 16 (T_DOC_COMMENT_STRING on line 5) """ => "�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 16 (T_DOC_COMMENT_STRING on line 5) """ => "�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
	=> Changeset ended: 1 changes applied

                                                                                
	=> Fixing file: 1/1 violations remaining [made 1 pass]... 
	* fixed 1 violations, starting loop 2 *
---START FILE CONTENT---
 1|<?php
 2|/**
 3| * `"= "`
 4| * a
 5| *  * "
 6| *
 7|
 8| *
 9| * @package foo
10| */
11|
--- END FILE CONTENT ---
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:258
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:260 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m"" => "*�[30;1m·�[0m"�[30;1m\n�[0m"
		Q: .Helpers.Fix:29 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		Q: .Helpers.Fix:29 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m\n�[0m" => "�[30;1m\n�[0m"
		Q: .Helpers.Fix:29 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 22 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 23 (T_DOC_COMMENT_STAR on line 8) "*" => ""
		Q: .Helpers.Fix:29 replaced token 24 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 26 (T_DOC_COMMENT_STAR on line 9) "*" => ""
		Q: .Helpers.Fix:29 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m@package" => "@package"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:265 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m"" => "*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:268 replaced token 28 (T_DOC_COMMENT_TAG on line 9) "@package" => "�[30;1m·�[0m*�[30;1m·�[0m@package"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m"" => "*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m\n�[0m" => "�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 22 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 23 (T_DOC_COMMENT_STAR on line 8) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 24 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 26 (T_DOC_COMMENT_STAR on line 9) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m@package" => "@package"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 28 (T_DOC_COMMENT_TAG on line 9) "@package" => "�[30;1m·�[0m*�[30;1m·�[0m@package"
	=> Changeset ended: 13 changes applied

                                                                                
	=> Fixing file: 13/1 violations remaining [made 2 passes]... 
	* fixed 13 violations, starting loop 3 *
---START FILE CONTENT---
1|<?php
2|/**
3| * `"= "`
4| * a
5| *  * "
6| *
7| * @package foo
8| */
9|
--- END FILE CONTENT ---
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:258
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:260 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m"" => "*�[30;1m·�[0m"�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:265 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m"" => "*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:268 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m"" => "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m"" => "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
	=> Changeset ended: 1 changes applied

                                                                                
	=> Fixing file: 1/1 violations remaining [made 3 passes]... 
	* fixed 1 violations, starting loop 4 *
---START FILE CONTENT---
 1|<?php
 2|/**
 3| * `"= "`
 4| * a
 5| *   * * "
 6| *
 7|
 8| *
 9| * @package foo
10| */
11|
--- END FILE CONTENT ---
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:258
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:260 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m"
		Q: .Helpers.Fix:29 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		Q: .Helpers.Fix:29 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m\n�[0m" => "�[30;1m\n�[0m"
		Q: .Helpers.Fix:29 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 22 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 23 (T_DOC_COMMENT_STAR on line 8) "*" => ""
		Q: .Helpers.Fix:29 replaced token 24 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 26 (T_DOC_COMMENT_STAR on line 9) "*" => ""
		Q: .Helpers.Fix:29 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m@package" => "@package"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:265 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:268 replaced token 28 (T_DOC_COMMENT_TAG on line 9) "@package" => "�[30;1m·�[0m*�[30;1m·�[0m@package"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m\n�[0m" => "�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 22 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 23 (T_DOC_COMMENT_STAR on line 8) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 24 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 26 (T_DOC_COMMENT_STAR on line 9) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m@package" => "@package"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 28 (T_DOC_COMMENT_TAG on line 9) "@package" => "�[30;1m·�[0m*�[30;1m·�[0m@package"
	=> Changeset ended: 13 changes applied

                                                                                
	=> Fixing file: 13/1 violations remaining [made 4 passes]... 
	* fixed 13 violations, starting loop 5 *
---START FILE CONTENT---
1|<?php
2|/**
3| * `"= "`
4| * a
5| *   * * "
6| *
7| * @package foo
8| */
9|
--- END FILE CONTENT ---
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:258
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:260 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:265 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:268 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m"" => "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m"" => "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
	=> Changeset ended: 1 changes applied
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:751
		Q: .Helpers.Fix:29 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		Q: .Helpers.Fix:29 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 22 (T_DOC_COMMENT_STAR on line 7) "*" => ""
		Q: .Helpers.Fix:29 replaced token 23 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m·�[0m@package" => "@package"
		Q: .Helpers.Fix:29 replaced token 24 (T_DOC_COMMENT_TAG on line 7) "@package" => ""
		Q: .Helpers.Fix:29 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m·�[0mfoo" => "foo"
		Q: .Helpers.Fix:29 replaced token 26 (T_DOC_COMMENT_STRING on line 7) "foo" => ""
		Q: .Helpers.Fix:29 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 28 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*/" => "*/"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:755 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m" => "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:761 replaced token 29 (T_DOC_COMMENT_CLOSE_TAG on line 8) "*/" => "�[30;1m·�[0m*/"
		**** SlevomatCodingStandard.Commenting.DocCommentSpacing:763 has possible conflict with another sniff on loop 3; caused by the following change ****
		**** replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m" ****
		**** ignoring all changes until next loop ****
	=> Changeset failed to apply

                                                                                
	=> Fixing file: 1/1 violations remaining [made 5 passes]... 
	* fixed 1 violations, starting loop 6 *
---START FILE CONTENT---
 1|<?php
 2|/**
 3| * `"= "`
 4| * a
 5| *    * * * "
 6| *
 7|
 8| *
 9| * @package foo
10| */
11|
--- END FILE CONTENT ---
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:258
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:260 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m"
		Q: .Helpers.Fix:29 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		Q: .Helpers.Fix:29 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m\n�[0m" => "�[30;1m\n�[0m"
		Q: .Helpers.Fix:29 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 22 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 23 (T_DOC_COMMENT_STAR on line 8) "*" => ""
		Q: .Helpers.Fix:29 replaced token 24 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 26 (T_DOC_COMMENT_STAR on line 9) "*" => ""
		Q: .Helpers.Fix:29 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m@package" => "@package"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:265 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:268 replaced token 28 (T_DOC_COMMENT_TAG on line 9) "@package" => "�[30;1m·�[0m*�[30;1m·�[0m@package"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m\n�[0m" => "�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 22 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 23 (T_DOC_COMMENT_STAR on line 8) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 24 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 26 (T_DOC_COMMENT_STAR on line 9) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m@package" => "@package"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 28 (T_DOC_COMMENT_TAG on line 9) "@package" => "�[30;1m·�[0m*�[30;1m·�[0m@package"
	=> Changeset ended: 13 changes applied

                                                                                
	=> Fixing file: 13/1 violations remaining [made 6 passes]... 
	* fixed 13 violations, starting loop 7 *
---START FILE CONTENT---
1|<?php
2|/**
3| * `"= "`
4| * a
5| *    * * * "
6| *
7| * @package foo
8| */
9|
--- END FILE CONTENT ---
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:258
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:260 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:265 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:268 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
	=> Changeset ended: 1 changes applied
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:751
		Q: .Helpers.Fix:29 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		Q: .Helpers.Fix:29 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 22 (T_DOC_COMMENT_STAR on line 7) "*" => ""
		Q: .Helpers.Fix:29 replaced token 23 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m·�[0m@package" => "@package"
		Q: .Helpers.Fix:29 replaced token 24 (T_DOC_COMMENT_TAG on line 7) "@package" => ""
		Q: .Helpers.Fix:29 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m·�[0mfoo" => "foo"
		Q: .Helpers.Fix:29 replaced token 26 (T_DOC_COMMENT_STRING on line 7) "foo" => ""
		Q: .Helpers.Fix:29 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 28 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*/" => "*/"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:755 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m" => "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:761 replaced token 29 (T_DOC_COMMENT_CLOSE_TAG on line 8) "*/" => "�[30;1m·�[0m*/"
		**** SlevomatCodingStandard.Commenting.DocCommentSpacing:763 has possible conflict with another sniff on loop 5; caused by the following change ****
		**** replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m" ****
		**** ignoring all changes until next loop ****
	=> Changeset failed to apply

                                                                                
	=> Fixing file: 1/1 violations remaining [made 7 passes]... 
	* fixed 1 violations, starting loop 8 *
---START FILE CONTENT---
 1|<?php
 2|/**
 3| * `"= "`
 4| * a
 5| *     * * * * "
 6| *
 7|
 8| *
 9| * @package foo
10| */
11|
--- END FILE CONTENT ---
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:258
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:260 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m"
		Q: .Helpers.Fix:29 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		Q: .Helpers.Fix:29 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m\n�[0m" => "�[30;1m\n�[0m"
		Q: .Helpers.Fix:29 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 22 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 23 (T_DOC_COMMENT_STAR on line 8) "*" => ""
		Q: .Helpers.Fix:29 replaced token 24 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 26 (T_DOC_COMMENT_STAR on line 9) "*" => ""
		Q: .Helpers.Fix:29 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m@package" => "@package"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:265 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:268 replaced token 28 (T_DOC_COMMENT_TAG on line 9) "@package" => "�[30;1m·�[0m*�[30;1m·�[0m@package"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m\n�[0m" => "�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 22 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 23 (T_DOC_COMMENT_STAR on line 8) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 24 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 26 (T_DOC_COMMENT_STAR on line 9) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m@package" => "@package"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 28 (T_DOC_COMMENT_TAG on line 9) "@package" => "�[30;1m·�[0m*�[30;1m·�[0m@package"
	=> Changeset ended: 13 changes applied

                                                                                
	=> Fixing file: 13/1 violations remaining [made 8 passes]... 
	* fixed 13 violations, starting loop 9 *
---START FILE CONTENT---
1|<?php
2|/**
3| * `"= "`
4| * a
5| *     * * * * "
6| *
7| * @package foo
8| */
9|
--- END FILE CONTENT ---
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:258
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:260 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:265 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:268 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
	=> Changeset ended: 1 changes applied
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:751
		Q: .Helpers.Fix:29 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		Q: .Helpers.Fix:29 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 22 (T_DOC_COMMENT_STAR on line 7) "*" => ""
		Q: .Helpers.Fix:29 replaced token 23 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m·�[0m@package" => "@package"
		Q: .Helpers.Fix:29 replaced token 24 (T_DOC_COMMENT_TAG on line 7) "@package" => ""
		Q: .Helpers.Fix:29 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m·�[0mfoo" => "foo"
		Q: .Helpers.Fix:29 replaced token 26 (T_DOC_COMMENT_STRING on line 7) "foo" => ""
		Q: .Helpers.Fix:29 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 28 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*/" => "*/"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:755 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m" => "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:761 replaced token 29 (T_DOC_COMMENT_CLOSE_TAG on line 8) "*/" => "�[30;1m·�[0m*/"
		**** SlevomatCodingStandard.Commenting.DocCommentSpacing:763 has possible conflict with another sniff on loop 7; caused by the following change ****
		**** replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m" ****
		**** ignoring all changes until next loop ****
	=> Changeset failed to apply

                                                                                
	=> Fixing file: 1/1 violations remaining [made 9 passes]... 
	* fixed 1 violations, starting loop 10 *
---START FILE CONTENT---
 1|<?php
 2|/**
 3| * `"= "`
 4| * a
 5| *      * * * * * "
 6| *
 7|
 8| *
 9| * @package foo
10| */
11|
--- END FILE CONTENT ---
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:258
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:260 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m"
		Q: .Helpers.Fix:29 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		Q: .Helpers.Fix:29 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m\n�[0m" => "�[30;1m\n�[0m"
		Q: .Helpers.Fix:29 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 22 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 23 (T_DOC_COMMENT_STAR on line 8) "*" => ""
		Q: .Helpers.Fix:29 replaced token 24 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 26 (T_DOC_COMMENT_STAR on line 9) "*" => ""
		Q: .Helpers.Fix:29 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m@package" => "@package"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:265 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:268 replaced token 28 (T_DOC_COMMENT_TAG on line 9) "@package" => "�[30;1m·�[0m*�[30;1m·�[0m@package"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m\n�[0m" => "�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 22 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 23 (T_DOC_COMMENT_STAR on line 8) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 24 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 26 (T_DOC_COMMENT_STAR on line 9) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m@package" => "@package"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 28 (T_DOC_COMMENT_TAG on line 9) "@package" => "�[30;1m·�[0m*�[30;1m·�[0m@package"
	=> Changeset ended: 13 changes applied

                                                                                
	=> Fixing file: 13/1 violations remaining [made 10 passes]... 
	* fixed 13 violations, starting loop 11 *
---START FILE CONTENT---
1|<?php
2|/**
3| * `"= "`
4| * a
5| *      * * * * * "
6| *
7| * @package foo
8| */
9|
--- END FILE CONTENT ---

... removed bc too long for github

	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:258
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:260 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:265 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:268 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
	=> Changeset ended: 1 changes applied
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:751
		Q: .Helpers.Fix:29 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		Q: .Helpers.Fix:29 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 22 (T_DOC_COMMENT_STAR on line 7) "*" => ""
		Q: .Helpers.Fix:29 replaced token 23 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m·�[0m@package" => "@package"
		Q: .Helpers.Fix:29 replaced token 24 (T_DOC_COMMENT_TAG on line 7) "@package" => ""
		Q: .Helpers.Fix:29 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m·�[0mfoo" => "foo"
		Q: .Helpers.Fix:29 replaced token 26 (T_DOC_COMMENT_STRING on line 7) "foo" => ""
		Q: .Helpers.Fix:29 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 28 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*/" => "*/"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:755 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m" => "�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:761 replaced token 29 (T_DOC_COMMENT_CLOSE_TAG on line 8) "*/" => "�[30;1m·�[0m*/"
		**** SlevomatCodingStandard.Commenting.DocCommentSpacing:763 has possible conflict with another sniff on loop 47; caused by the following change ****
		**** replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m" ****
		**** ignoring all changes until next loop ****
	=> Changeset failed to apply

                                                                                
	=> Fixing file: 1/1 violations remaining [made 49 passes]... 
	* fixed 1 violations, starting loop 50 *
---START FILE CONTENT---
 1|<?php
 2|/**
 3| * `"= "`
 4| * a
 5| *                          * * * * * * * * * * * * * * * * * * * * * * * * * "
 6| *
 7|
 8| *
 9| * @package foo
10| */
11|
--- END FILE CONTENT ---
	=> Changeset started by SlevomatCodingStandard.Commenting.DocCommentSpacing:258
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:260 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m"
		Q: .Helpers.Fix:29 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		Q: .Helpers.Fix:29 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m\n�[0m" => "�[30;1m\n�[0m"
		Q: .Helpers.Fix:29 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 22 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 23 (T_DOC_COMMENT_STAR on line 8) "*" => ""
		Q: .Helpers.Fix:29 replaced token 24 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		Q: .Helpers.Fix:29 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m*" => "*"
		Q: .Helpers.Fix:29 replaced token 26 (T_DOC_COMMENT_STAR on line 9) "*" => ""
		Q: .Helpers.Fix:29 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m@package" => "@package"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:265 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		Q: SlevomatCodingStandard.Commenting.DocCommentSpacing:268 replaced token 28 (T_DOC_COMMENT_TAG on line 9) "@package" => "�[30;1m·�[0m*�[30;1m·�[0m@package"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 16 (T_DOC_COMMENT_STRING on line 5) "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"" => "*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m*�[30;1m·�[0m"�[30;1m\n�[0m�[30;1m·�[0m*�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 17 (T_DOC_COMMENT_WHITESPACE on line 5) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 18 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 19 (T_DOC_COMMENT_STAR on line 6) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 20 (T_DOC_COMMENT_WHITESPACE on line 6) "�[30;1m\n�[0m�[30;1m\n�[0m" => "�[30;1m\n�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 21 (T_DOC_COMMENT_WHITESPACE on line 7) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 22 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 23 (T_DOC_COMMENT_STAR on line 8) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 24 (T_DOC_COMMENT_WHITESPACE on line 8) "�[30;1m\n�[0m�[30;1m·�[0m" => "�[30;1m·�[0m"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 25 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m*" => "*"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 26 (T_DOC_COMMENT_STAR on line 9) "*" => ""
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 27 (T_DOC_COMMENT_WHITESPACE on line 9) "�[30;1m·�[0m@package" => "@package"
		A: SlevomatCodingStandard.Commenting.DocCommentSpacing:270 replaced token 28 (T_DOC_COMMENT_TAG on line 9) "@package" => "�[30;1m·�[0m*�[30;1m·�[0m@package"
	=> Changeset ended: 13 changes applied

                                                                                
	=> Fixing file: 13/1 violations remaining [made 50 passes]... 
	* fixed 13 violations, starting loop 51 *
	*** Reached maximum number of loops with 13 violations left unfixed ***
ERROR in 16ms

PHPCBF RESULT SUMMARY
----------------------------------------------------------------------
FILE                                                  FIXED  REMAINING
----------------------------------------------------------------------
.../to/file/hello.php  FAILED TO FIX
----------------------------------------------------------------------
A TOTAL OF 0 ERRORS WERE FIXED IN 1 FILE
----------------------------------------------------------------------
PHPCBF FAILED TO FIX 1 FILE
----------------------------------------------------------------------

Time: 31ms; Memory: 6MB
@kukulich
Copy link
Contributor

@kkmuffme do you use latest phpstan parser? It’s dependency of this repository. Can you try to upgrade it? Or if you can try our master it should be upgraded automatically

@kkmuffme
Copy link
Author

Yes, I do use the latest parser already:

composer show | grep parser
nikic/php-parser v4.16.0 A PHP parser written in PHP
phpstan/phpdoc-parser 1.23.1 PHPDoc parser with support for nullable, intersection and generic types

@kukulich
Copy link
Contributor

Cc @ondrejmirtes

@ondrejmirtes
Copy link
Contributor

I just checked how this gets parsed by phpdoc-parser, the AST seems expected to me: phpstan/phpdoc-parser@5cd06e2

@kukulich
Copy link
Contributor

kukulich commented Mar 9, 2024

@ondrejmirtes I've tried to debug the problem and it looks there's problem with lines calculation. The @package annotation should start and end on line 6 but there's 4 in node data. Indexes are broken as well.

object(PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocTagNode)#576 (3) {
  ["name"]=>
  string(8) "@package"
  ["value"]=>
  object(PHPStan\PhpDocParser\Ast\PhpDoc\GenericTagValueNode)#577 (2) {
    ["value"]=>
    string(3) "foo"
    ["attributes":"PHPStan\PhpDocParser\Ast\PhpDoc\GenericTagValueNode":private]=>
    array(4) {
      ["startLine"]=>
      int(4)
      ["endLine"]=>
      int(4)
      ["startIndex"]=>
      int(9)
      ["endIndex"]=>
      int(9)
    }
  }
  ["attributes":"PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocTagNode":private]=>
  array(4) {
    ["startLine"]=>
    int(4)
    ["endLine"]=>
    int(4)
    ["startIndex"]=>
    int(7)
    ["endIndex"]=>
    int(9)
  }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants