opt
/
cpanel
/
ea-wappspector
/
vendor
/
rector
/
rector
/
src
/
BetterPhpDocParser
/
PhpDocInfo
➕ New
📤 Upload
✎ Editing:
TokenIteratorFactory.php
← Back
<?php declare (strict_types=1); namespace Rector\BetterPhpDocParser\PhpDocInfo; use PHPStan\PhpDocParser\Lexer\Lexer; use PHPStan\PhpDocParser\Parser\TokenIterator; use Rector\BetterPhpDocParser\ValueObject\Parser\BetterTokenIterator; final class TokenIteratorFactory { /** * @readonly * @var \PHPStan\PhpDocParser\Lexer\Lexer */ private $lexer; public function __construct(Lexer $lexer) { $this->lexer = $lexer; } public function create(string $content) : BetterTokenIterator { $tokens = $this->lexer->tokenize($content); return new BetterTokenIterator($tokens); } public function createFromTokenIterator(TokenIterator $tokenIterator) : BetterTokenIterator { if ($tokenIterator instanceof BetterTokenIterator) { return $tokenIterator; } // keep original tokens and index position $tokens = $tokenIterator->getTokens(); $currentIndex = $tokenIterator->currentTokenIndex(); return new BetterTokenIterator($tokens, $currentIndex); } }
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel