Skip to content

Commit 93607f6

Browse files
committed
TASK: Pass token iterator by-reference in all Parser implementations
1 parent 45f6fe0 commit 93607f6

File tree

12 files changed

+42
-42
lines changed

12 files changed

+42
-42
lines changed

src/Language/Parser/BooleanLiteral/BooleanLiteralParser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ final class BooleanLiteralParser
3333
* @param \Iterator<mixed,Token> $tokens
3434
* @return BooleanLiteralNode
3535
*/
36-
public function parse(\Iterator $tokens): BooleanLiteralNode
36+
public function parse(\Iterator &$tokens): BooleanLiteralNode
3737
{
3838
Scanner::assertType($tokens, TokenType::KEYWORD_TRUE, TokenType::KEYWORD_FALSE);
3939

src/Language/Parser/EnumDeclaration/EnumDeclarationParser.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public function __construct()
5252
* @param \Iterator<mixed,Token> $tokens
5353
* @return EnumDeclarationNode
5454
*/
55-
public function parse(\Iterator $tokens): EnumDeclarationNode
55+
public function parse(\Iterator &$tokens): EnumDeclarationNode
5656
{
5757
$enumKeyWordToken = $this->extractEnumKeywordToken($tokens);
5858
$enumNameNode = $this->parseEnumName($tokens);
@@ -76,7 +76,7 @@ public function parse(\Iterator $tokens): EnumDeclarationNode
7676
* @param \Iterator<mixed,Token> $tokens
7777
* @return Token
7878
*/
79-
private function extractEnumKeywordToken(\Iterator $tokens): Token
79+
private function extractEnumKeywordToken(\Iterator &$tokens): Token
8080
{
8181
Scanner::assertType($tokens, TokenType::KEYWORD_ENUM);
8282

@@ -92,7 +92,7 @@ private function extractEnumKeywordToken(\Iterator $tokens): Token
9292
* @param \Iterator<mixed,Token> $tokens
9393
* @return EnumNameNode
9494
*/
95-
private function parseEnumName(\Iterator $tokens): EnumNameNode
95+
private function parseEnumName(\Iterator &$tokens): EnumNameNode
9696
{
9797
Scanner::assertType($tokens, TokenType::STRING);
9898

@@ -112,7 +112,7 @@ private function parseEnumName(\Iterator $tokens): EnumNameNode
112112
* @param \Iterator<mixed,Token> $tokens
113113
* @return void
114114
*/
115-
private function skipOpeningBracketToken(\Iterator $tokens): void
115+
private function skipOpeningBracketToken(\Iterator &$tokens): void
116116
{
117117
Scanner::assertType($tokens, TokenType::BRACKET_CURLY_OPEN);
118118
Scanner::skipOne($tokens);
@@ -122,7 +122,7 @@ private function skipOpeningBracketToken(\Iterator $tokens): void
122122
* @param \Iterator<mixed,Token> $tokens
123123
* @return EnumMemberDeclarationNodes
124124
*/
125-
private function parseEnumMemberDeclarations(\Iterator $tokens): EnumMemberDeclarationNodes
125+
private function parseEnumMemberDeclarations(\Iterator &$tokens): EnumMemberDeclarationNodes
126126
{
127127
$items = [];
128128
while (true) {
@@ -146,7 +146,7 @@ private function parseEnumMemberDeclarations(\Iterator $tokens): EnumMemberDecla
146146
* @param \Iterator<mixed,Token> $tokens
147147
* @return Token
148148
*/
149-
private function extractClosingBracketToken(\Iterator $tokens): Token
149+
private function extractClosingBracketToken(\Iterator &$tokens): Token
150150
{
151151
Scanner::skipSpace($tokens);
152152
Scanner::assertType($tokens, TokenType::BRACKET_CURLY_CLOSE);
@@ -162,7 +162,7 @@ private function extractClosingBracketToken(\Iterator $tokens): Token
162162
* @param \Iterator<mixed,Token> $tokens
163163
* @return EnumMemberDeclarationNode
164164
*/
165-
private function parseEnumMemberDeclaration(\Iterator $tokens): EnumMemberDeclarationNode
165+
private function parseEnumMemberDeclaration(\Iterator &$tokens): EnumMemberDeclarationNode
166166
{
167167
$enumMemberName = $this->parseEnumMemberName($tokens);
168168
$value = $this->parseEnumMemberValue($tokens);
@@ -182,7 +182,7 @@ private function parseEnumMemberDeclaration(\Iterator $tokens): EnumMemberDeclar
182182
* @param \Iterator<mixed,Token> $tokens
183183
* @return EnumMemberNameNode
184184
*/
185-
private function parseEnumMemberName(\Iterator $tokens): EnumMemberNameNode
185+
private function parseEnumMemberName(\Iterator &$tokens): EnumMemberNameNode
186186
{
187187
Scanner::assertType($tokens, TokenType::STRING);
188188

@@ -201,7 +201,7 @@ private function parseEnumMemberName(\Iterator $tokens): EnumMemberNameNode
201201
* @param \Iterator $tokens
202202
* @return null|EnumMemberValueNode
203203
*/
204-
private function parseEnumMemberValue(\Iterator $tokens): ?EnumMemberValueNode
204+
private function parseEnumMemberValue(\Iterator &$tokens): ?EnumMemberValueNode
205205
{
206206
if (Scanner::type($tokens) !== TokenType::BRACKET_ROUND_OPEN) {
207207
return null;

src/Language/Parser/Expression/ExpressionParser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -530,7 +530,7 @@ private function parseBinaryOperator(\Iterator &$tokens): BinaryOperator
530530
* @param ExpressionNode $condition
531531
* @return ExpressionNode
532532
*/
533-
private function parseTernaryOperation(\Iterator $tokens, ExpressionNode $condition): ExpressionNode
533+
private function parseTernaryOperation(\Iterator &$tokens, ExpressionNode $condition): ExpressionNode
534534
{
535535
Scanner::assertType($tokens, TokenType::QUESTIONMARK);
536536
Scanner::skipOne($tokens);

src/Language/Parser/IntegerLiteral/IntegerLiteralParser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ final class IntegerLiteralParser
3333
* @param \Iterator<mixed,Token> $tokens
3434
* @return IntegerLiteralNode
3535
*/
36-
public function parse(\Iterator $tokens): IntegerLiteralNode
36+
public function parse(\Iterator &$tokens): IntegerLiteralNode
3737
{
3838
$token = $tokens->current();
3939

src/Language/Parser/NullLiteral/NullLiteralParser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ final class NullLiteralParser
3333
* @param \Iterator<mixed,Token> $tokens
3434
* @return NullLiteralNode
3535
*/
36-
public function parse(\Iterator $tokens): NullLiteralNode
36+
public function parse(\Iterator &$tokens): NullLiteralNode
3737
{
3838
Scanner::assertType($tokens, TokenType::KEYWORD_NULL);
3939

src/Language/Parser/PropertyDeclaration/PropertyDeclarationParser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public function __construct()
4444
* @param \Iterator<mixed,Token> $tokens
4545
* @return PropertyDeclarationNode
4646
*/
47-
public function parse(\Iterator $tokens): PropertyDeclarationNode
47+
public function parse(\Iterator &$tokens): PropertyDeclarationNode
4848
{
4949
Scanner::assertType($tokens, TokenType::STRING);
5050
$propertyNameToken = $tokens->current();

src/Language/Parser/StringLiteral/StringLiteralParser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ final class StringLiteralParser
3333
* @param \Iterator<mixed,Token> $tokens
3434
* @return StringLiteralNode
3535
*/
36-
public function parse(\Iterator $tokens): StringLiteralNode
36+
public function parse(\Iterator &$tokens): StringLiteralNode
3737
{
3838
Scanner::assertType($tokens, TokenType::STRING_QUOTED);
3939

src/Language/Parser/StructDeclaration/StructDeclarationParser.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public function __construct()
4545
* @param \Iterator<mixed,Token> $tokens
4646
* @return StructDeclarationNode
4747
*/
48-
public function parse(\Iterator $tokens): StructDeclarationNode
48+
public function parse(\Iterator &$tokens): StructDeclarationNode
4949
{
5050
$structKeywordToken = $this->extractStructKeywordToken($tokens);
5151
$structNameNode = $this->parseStructName($tokens);
@@ -67,7 +67,7 @@ public function parse(\Iterator $tokens): StructDeclarationNode
6767
* @param \Iterator<mixed,Token> $tokens
6868
* @return Token
6969
*/
70-
public function extractStructKeywordToken(\Iterator $tokens): Token
70+
public function extractStructKeywordToken(\Iterator &$tokens): Token
7171
{
7272
Scanner::assertType($tokens, TokenType::KEYWORD_STRUCT);
7373

@@ -83,7 +83,7 @@ public function extractStructKeywordToken(\Iterator $tokens): Token
8383
* @param \Iterator<mixed,Token> $tokens
8484
* @return StructNameNode
8585
*/
86-
public function parseStructName(\Iterator $tokens): StructNameNode
86+
public function parseStructName(\Iterator &$tokens): StructNameNode
8787
{
8888
Scanner::assertType($tokens, TokenType::STRING);
8989

@@ -102,7 +102,7 @@ public function parseStructName(\Iterator $tokens): StructNameNode
102102
* @param \Iterator<mixed,Token> $tokens
103103
* @return void
104104
*/
105-
public function skipOpeningBracketToken(\Iterator $tokens): void
105+
public function skipOpeningBracketToken(\Iterator &$tokens): void
106106
{
107107
Scanner::assertType($tokens, TokenType::BRACKET_CURLY_OPEN);
108108
Scanner::skipOne($tokens);
@@ -113,7 +113,7 @@ public function skipOpeningBracketToken(\Iterator $tokens): void
113113
* @param \Iterator<mixed,Token> $tokens
114114
* @return PropertyDeclarationNodes
115115
*/
116-
public function parsePropertyDeclarations(\Iterator $tokens): PropertyDeclarationNodes
116+
public function parsePropertyDeclarations(\Iterator &$tokens): PropertyDeclarationNodes
117117
{
118118
$items = [];
119119
while (Scanner::type($tokens) === TokenType::STRING) {
@@ -128,7 +128,7 @@ public function parsePropertyDeclarations(\Iterator $tokens): PropertyDeclaratio
128128
* @param \Iterator<mixed,Token> $tokens
129129
* @return Token
130130
*/
131-
public function extractClosingBracketToken(\Iterator $tokens): Token
131+
public function extractClosingBracketToken(\Iterator &$tokens): Token
132132
{
133133
Scanner::assertType($tokens, TokenType::BRACKET_CURLY_CLOSE);
134134

src/Language/Parser/Tag/TagParser.php

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public function __construct()
5757
* @param \Iterator<mixed,Token> $tokens
5858
* @return TagNode
5959
*/
60-
public function parse(\Iterator $tokens): TagNode
60+
public function parse(\Iterator &$tokens): TagNode
6161
{
6262
$tagStartOpeningToken = $this->extractTagStartOpeningToken($tokens);
6363
$tagNameNode = $this->parseTagName($tokens);
@@ -98,7 +98,7 @@ public function parse(\Iterator $tokens): TagNode
9898
* @param \Iterator<mixed,Token> $tokens
9999
* @return Token
100100
*/
101-
private function extractTagStartOpeningToken(\Iterator $tokens): Token
101+
private function extractTagStartOpeningToken(\Iterator &$tokens): Token
102102
{
103103
Scanner::assertType($tokens, TokenType::TAG_START_OPENING);
104104
$tagStartOpeningToken = $tokens->current();
@@ -111,7 +111,7 @@ private function extractTagStartOpeningToken(\Iterator $tokens): Token
111111
* @param \Iterator<mixed,Token> $tokens
112112
* @return TagNameNode
113113
*/
114-
private function parseTagName(\Iterator $tokens): TagNameNode
114+
private function parseTagName(\Iterator &$tokens): TagNameNode
115115
{
116116
Scanner::assertType($tokens, TokenType::STRING);
117117
$tagNameToken = $tokens->current();
@@ -127,7 +127,7 @@ private function parseTagName(\Iterator $tokens): TagNameNode
127127
* @param \Iterator<mixed,Token> $tokens
128128
* @return AttributeNodes
129129
*/
130-
private function parseAttributes(\Iterator $tokens): AttributeNodes
130+
private function parseAttributes(\Iterator &$tokens): AttributeNodes
131131
{
132132
$items = [];
133133
while (!$this->isTagEnd($tokens)) {
@@ -145,7 +145,7 @@ private function parseAttributes(\Iterator $tokens): AttributeNodes
145145
* @param \Iterator<mixed,Token> $tokens
146146
* @return boolean
147147
*/
148-
private function isTagEnd($tokens): bool
148+
private function isTagEnd(\Iterator $tokens): bool
149149
{
150150
return (
151151
Scanner::type($tokens) === TokenType::TAG_END ||
@@ -157,7 +157,7 @@ private function isTagEnd($tokens): bool
157157
* @param \Iterator<mixed,Token> $tokens
158158
* @return AttributeNode
159159
*/
160-
private function parseAttribute(\Iterator $tokens): AttributeNode
160+
private function parseAttribute(\Iterator &$tokens): AttributeNode
161161
{
162162
$attributeNameNode = $this->parseAttributeName($tokens);
163163
$attributeValueNode = $this->parseAttributeValue($tokens);
@@ -177,7 +177,7 @@ private function parseAttribute(\Iterator $tokens): AttributeNode
177177
* @param \Iterator<mixed,Token> $tokens
178178
* @return AttributeNameNode
179179
*/
180-
private function parseAttributeName(\Iterator $tokens): AttributeNameNode
180+
private function parseAttributeName(\Iterator &$tokens): AttributeNameNode
181181
{
182182
Scanner::assertType($tokens, TokenType::STRING);
183183
$attributeNameToken = $tokens->current();
@@ -193,7 +193,7 @@ private function parseAttributeName(\Iterator $tokens): AttributeNameNode
193193
* @param \Iterator<mixed,Token> $tokens
194194
* @return null|StringLiteralNode|ExpressionNode
195195
*/
196-
private function parseAttributeValue(\Iterator $tokens): null|StringLiteralNode|ExpressionNode
196+
private function parseAttributeValue(\Iterator &$tokens): null|StringLiteralNode|ExpressionNode
197197
{
198198
if (Scanner::type($tokens) === TokenType::EQUALS) {
199199
Scanner::skipOne($tokens);
@@ -241,7 +241,7 @@ private function parseExpression(\Iterator &$tokens): ExpressionNode
241241
* @param \Iterator<mixed,Token> $tokens
242242
* @return null|Token
243243
*/
244-
private function extractTagSelfCloseToken(\Iterator $tokens): ?Token
244+
private function extractTagSelfCloseToken(\Iterator &$tokens): ?Token
245245
{
246246
if (Scanner::type($tokens) === TokenType::TAG_SELF_CLOSE) {
247247
$tagSelfCloseToken = $tokens->current();
@@ -257,7 +257,7 @@ private function extractTagSelfCloseToken(\Iterator $tokens): ?Token
257257
* @param \Iterator<mixed,Token> $tokens
258258
* @return void
259259
*/
260-
private function skipTagEndToken(\Iterator $tokens): void
260+
private function skipTagEndToken(\Iterator &$tokens): void
261261
{
262262
Scanner::assertType($tokens, TokenType::TAG_END);
263263
Scanner::skipOne($tokens);
@@ -267,7 +267,7 @@ private function skipTagEndToken(\Iterator $tokens): void
267267
* @param \Iterator<mixed,Token> $tokens
268268
* @return ChildNodes
269269
*/
270-
private function parseChildren(\Iterator $tokens): ChildNodes
270+
private function parseChildren(\Iterator &$tokens): ChildNodes
271271
{
272272
$items = [];
273273
$preserveLeadingSpace = false;
@@ -307,7 +307,7 @@ private function parseChildren(\Iterator $tokens): ChildNodes
307307
* @param \Iterator<mixed,Token> $tokens
308308
* @return void
309309
*/
310-
private function skipTagStartClosingToken(\Iterator $tokens): void
310+
private function skipTagStartClosingToken(\Iterator &$tokens): void
311311
{
312312
Scanner::assertType($tokens, TokenType::TAG_START_CLOSING);
313313
Scanner::skipOne($tokens);
@@ -318,7 +318,7 @@ private function skipTagStartClosingToken(\Iterator $tokens): void
318318
* @param TagNameNode $openingTagNameNode
319319
* @return void
320320
*/
321-
private function assertAndSkipClosingTagName(\Iterator $tokens, TagNameNode $openingTagNameNode): void
321+
private function assertAndSkipClosingTagName(\Iterator &$tokens, TagNameNode $openingTagNameNode): void
322322
{
323323
Scanner::assertType($tokens, TokenType::STRING);
324324
$tagNameToken = $tokens->current();
@@ -337,7 +337,7 @@ private function assertAndSkipClosingTagName(\Iterator $tokens, TagNameNode $ope
337337
* @param \Iterator<mixed,Token> $tokens
338338
* @return Token
339339
*/
340-
private function extractTagEndToken(\Iterator $tokens): Token
340+
private function extractTagEndToken(\Iterator &$tokens): Token
341341
{
342342
Scanner::assertType($tokens, TokenType::TAG_END);
343343
$tagEndToken = $tokens->current();

src/Language/Parser/Text/TextParser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ final class TextParser
4646
* @param boolean $preserveLeadingSpace
4747
* @return null|TextNode
4848
*/
49-
public function parse(\Iterator $tokens, bool $preserveLeadingSpace = false): ?TextNode
49+
public function parse(\Iterator &$tokens, bool $preserveLeadingSpace = false): ?TextNode
5050
{
5151
$this->reset($preserveLeadingSpace);
5252

0 commit comments

Comments
 (0)