Skip to content

Commit d2812fd

Browse files
committed
Ignore attributes when figuring out if the docblock is file level or code level (ref #3286)
1 parent 3decd5e commit d2812fd

File tree

3 files changed

+33
-2
lines changed

3 files changed

+33
-2
lines changed

package.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1275,6 +1275,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
12751275
<file baseinstalldir="PHP/CodeSniffer" name="FileHeaderUnitTest.14.inc" role="test" />
12761276
<file baseinstalldir="PHP/CodeSniffer" name="FileHeaderUnitTest.15.inc" role="test" />
12771277
<file baseinstalldir="PHP/CodeSniffer" name="FileHeaderUnitTest.16.inc" role="test" />
1278+
<file baseinstalldir="PHP/CodeSniffer" name="FileHeaderUnitTest.17.inc" role="test" />
12781279
<file baseinstalldir="PHP/CodeSniffer" name="FileHeaderUnitTest.php" role="test" />
12791280
<file baseinstalldir="PHP/CodeSniffer" name="ImportStatementUnitTest.inc" role="test" />
12801281
<file baseinstalldir="PHP/CodeSniffer" name="ImportStatementUnitTest.inc.fixed" role="test" />

src/Standards/PSR12/Sniffs/Files/FileHeaderSniff.php

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,25 @@ public function getHeaderLines(File $phpcsFile, $stackPtr)
166166
}
167167

168168
// Make sure this is not a code-level docblock.
169-
$end = $tokens[$next]['comment_closer'];
170-
$docToken = $phpcsFile->findNext(Tokens::$emptyTokens, ($end + 1), null, true);
169+
$end = $tokens[$next]['comment_closer'];
170+
for ($docToken = ($end + 1); $docToken < $phpcsFile->numTokens; $docToken++) {
171+
if (isset(Tokens::$emptyTokens[$tokens[$docToken]['code']]) === true) {
172+
continue;
173+
}
174+
175+
if ($tokens[$docToken]['code'] === T_ATTRIBUTE
176+
&& isset($tokens[$docToken]['attribute_closer']) === true
177+
) {
178+
$docToken = $tokens[$docToken]['attribute_closer'];
179+
continue;
180+
}
181+
182+
break;
183+
}
184+
185+
if ($docToken === $phpcsFile->numTokens) {
186+
$docToken--;
187+
}
171188

172189
if (isset($commentOpeners[$tokens[$docToken]['code']]) === false
173190
&& isset(Tokens::$methodPrefixes[$tokens[$docToken]['code']]) === false
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
namespace project\Controller;
4+
5+
use project\Auth\Authenticate;
6+
7+
/**
8+
* Shows open tasks for admins
9+
*/
10+
#[Authenticate('admin_logged_in')]
11+
class TodoController extends AbstractController implements MustBeLoggedInInterface
12+
{
13+
}

0 commit comments

Comments
 (0)