Skip to content
This repository was archived by the owner on Nov 5, 2022. It is now read-only.

Commit b6f54ef

Browse files
committed
FilenameMatchesClassSniff - improved metric
1 parent 4158e39 commit b6f54ef

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

CodeIgniter4/Sniffs/Files/FilenameMatchesClassSniff.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ public function register()
6161
public function process(File $phpcsFile, $stackPtr)
6262
{
6363

64+
$tokens = $phpcsFile->getTokens();
65+
6466
$fileName = basename($phpcsFile->getFilename());
6567

6668
if (strpos($fileName, '_helper.php') !== false) {
@@ -69,19 +71,20 @@ public function process(File $phpcsFile, $stackPtr)
6971

7072
$className = trim($phpcsFile->getDeclarationName($stackPtr));
7173

72-
if ($fileName !== $className.'.php' && $this->badFilename === false) {
73-
$nextContentPtr = $phpcsFile->findNext(T_WHITESPACE, ($stackPtr + 1), null, true);
74+
$nextContentPtr = $phpcsFile->findNext(T_WHITESPACE, ($stackPtr + 1), null, true);
7475

76+
if ($fileName !== $className.'.php' && $this->badFilename === false) {
77+
$type = $tokens[$stackPtr]['content'];
7578
$data = array(
7679
$fileName,
7780
$className.'.php',
7881
);
7982
$error = 'Filename "%s" doesn\'t match the expected filename "%s"';
80-
$phpcsFile->addError($error, $nextContentPtr, 'ClassBadFilename', $data);
81-
$phpcsFile->recordMetric($nextContentPtr, 'Filename matches class', 'no');
83+
$phpcsFile->addError($error, $nextContentPtr, ucfirst($type).'BadFilename', $data);
84+
$phpcsFile->recordMetric($nextContentPtr, 'Filename matches '.$type, 'no');
8285
$this->badFilename = true;
8386
} else {
84-
$phpcsFile->recordMetric($nextContentPtr, 'Filename matches class', 'yes');
87+
$phpcsFile->recordMetric($nextContentPtr, 'Filename matches '.$type, 'yes');
8588
}
8689

8790
// Ignore the rest of the file.

0 commit comments

Comments
 (0)