* Dariusz Rumiński * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace PhpCsFixer\Fixer\PhpTag; use PhpCsFixer\AbstractFixer; use PhpCsFixer\FixerDefinition\CodeSample; use PhpCsFixer\FixerDefinition\FixerDefinition; use PhpCsFixer\FixerDefinition\FixerDefinitionInterface; use PhpCsFixer\Preg; use PhpCsFixer\Tokenizer\Token; use PhpCsFixer\Tokenizer\Tokens; /** * Fixer for rules defined in PSR1 ¶2.1. * * @author Dariusz Rumiński */ final class FullOpeningTagFixer extends AbstractFixer { public function getDefinition(): FixerDefinitionInterface { return new FixerDefinition( 'PHP code must use the long `generateCode(); // replace all echo ' echo ' $token) { if ($token->isGivenKind(T_OPEN_TAG)) { $tokenContent = $token->getContent(); $possibleOpenContent = substr($content, $tokensOldContentLength, 5); if (false === $possibleOpenContent || 'isGivenKind([T_COMMENT, T_DOC_COMMENT, T_CONSTANT_ENCAPSED_STRING, T_ENCAPSED_AND_WHITESPACE, T_STRING])) { $tokenContent = ''; $tokenContentLength = 0; $parts = explode('getContent()); $iLast = \count($parts) - 1; foreach ($parts as $i => $part) { $tokenContent .= $part; $tokenContentLength += \strlen($part); if ($i !== $iLast) { $originalTokenContent = substr($content, $tokensOldContentLength + $tokenContentLength, 5); if ('getId(), $tokenContent]); $token = $newTokens[$index]; } $tokensOldContentLength += \strlen($token->getContent()); } $tokens->overrideRange(0, $tokens->count() - 1, $newTokens); } }