Mercurial > hg > isophonics-drupal-site
diff vendor/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/PHP.php @ 12:7a779792577d
Update Drupal core to v8.4.5 (via Composer)
author | Chris Cannam |
---|---|
date | Fri, 23 Feb 2018 15:52:07 +0000 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line diff
--- a/vendor/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/PHP.php Fri Feb 23 15:51:18 2018 +0000 +++ b/vendor/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/PHP.php Fri Feb 23 15:52:07 2018 +0000 @@ -722,6 +722,7 @@ $newToken = array(); $newToken['content'] = '?'; + $prevNonEmpty = null; for ($i = ($stackPtr - 1); $i >= 0; $i--) { if (is_array($tokens[$i]) === true) { $tokenType = $tokens[$i][0]; @@ -729,18 +730,31 @@ $tokenType = $tokens[$i]; } + if ($prevNonEmpty === null + && isset(PHP_CodeSniffer_Tokens::$emptyTokens[$tokenType]) === false + ) { + // Found the previous non-empty token. + if ($tokenType === ':' || $tokenType === ',') { + $newToken['code'] = T_NULLABLE; + $newToken['type'] = 'T_NULLABLE'; + break; + } + + $prevNonEmpty = $tokenType; + } + if ($tokenType === T_FUNCTION) { $newToken['code'] = T_NULLABLE; $newToken['type'] = 'T_NULLABLE'; break; - } else if (in_array($tokenType, array(T_OPEN_TAG, T_OPEN_TAG_WITH_ECHO, '{', ';')) === true) { + } else if (in_array($tokenType, array(T_OPEN_TAG, T_OPEN_TAG_WITH_ECHO, '=', '{', ';')) === true) { $newToken['code'] = T_INLINE_THEN; $newToken['type'] = 'T_INLINE_THEN'; $insideInlineIf[] = $stackPtr; break; } - } + }//end for $finalTokens[$newStackPtr] = $newToken; $newStackPtr++; @@ -1277,11 +1291,13 @@ // it is the start of an array being defined using the short syntax. $isShortArray = false; $allowed = array( - T_CLOSE_SQUARE_BRACKET => T_CLOSE_SQUARE_BRACKET, - T_CLOSE_PARENTHESIS => T_CLOSE_PARENTHESIS, - T_VARIABLE => T_VARIABLE, - T_OBJECT_OPERATOR => T_OBJECT_OPERATOR, - T_STRING => T_STRING, + T_CLOSE_SQUARE_BRACKET => T_CLOSE_SQUARE_BRACKET, + T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET, + T_CLOSE_PARENTHESIS => T_CLOSE_PARENTHESIS, + T_VARIABLE => T_VARIABLE, + T_OBJECT_OPERATOR => T_OBJECT_OPERATOR, + T_STRING => T_STRING, + T_CONSTANT_ENCAPSED_STRING => T_CONSTANT_ENCAPSED_STRING, ); for ($x = ($i - 1); $x > 0; $x--) { @@ -1293,13 +1309,6 @@ break; } - if (isset($tokens[$x]['bracket_opener']) === true - && $x > $tokens[$x]['bracket_opener'] - ) { - $x = $tokens[$x]['bracket_opener']; - continue; - } - if (isset(PHP_CodeSniffer_Tokens::$emptyTokens[$tokens[$x]['code']]) === false) { if (isset($allowed[$tokens[$x]['code']]) === false) { $isShortArray = true; @@ -1307,7 +1316,7 @@ break; } - }//end for + } if ($isShortArray === true) { $tokens[$i]['code'] = T_OPEN_SHORT_ARRAY;