Skip to content

Commit 979cad3

Browse files
committed
Merge branch 'feature/tokenizer-declare-alternative-syntax' of https://github.com/jrfnl/PHP_CodeSniffer
2 parents 3544117 + b80a2b4 commit 979cad3

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

src/Standards/PSR1/Sniffs/Files/SideEffectsSniff.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,12 @@ private function searchForConflict($phpcsFile, $start, $end, $tokens)
151151
) {
152152
if (isset($tokens[$i]['scope_opener']) === true) {
153153
$i = $tokens[$i]['scope_closer'];
154+
if ($tokens[$i]['code'] === T_ENDDECLARE) {
155+
$semicolon = $phpcsFile->findNext(Tokens::$emptyTokens, ($i + 1), null, true);
156+
if ($semicolon !== false && $tokens[$semicolon]['code'] === T_SEMICOLON) {
157+
$i = $semicolon;
158+
}
159+
}
154160
} else {
155161
$semicolon = $phpcsFile->findNext(T_SEMICOLON, ($i + 1));
156162
if ($semicolon !== false) {

src/Standards/PSR1/Tests/Files/SideEffectsUnitTest.1.inc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,13 @@ use SomethingElse;
1010
declare(ticks=1);
1111

1212
declare(ticks=1) {
13-
// Code.
13+
echo $i;
1414
}
1515

16+
declare(ticks=1) :
17+
echo $i;
18+
enddeclare;
19+
1620
define("MAXSIZE", 100);
1721
if (defined('MINSIZE') === false) {
1822
define("MINSIZE", 10);

src/Tokenizers/PHP.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,14 @@ class PHP extends Tokenizer
160160
'with' => [],
161161
],
162162
T_DECLARE => [
163-
'start' => [T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET],
164-
'end' => [T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET],
163+
'start' => [
164+
T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET,
165+
T_COLON => T_COLON,
166+
],
167+
'end' => [
168+
T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET,
169+
T_ENDDECLARE => T_ENDDECLARE,
170+
],
165171
'strict' => false,
166172
'shared' => false,
167173
'with' => [],

0 commit comments

Comments
 (0)