Skip to content

Commit 13198dd

Browse files
committed
Make 'with' semi-reserved
1 parent ac511c8 commit 13198dd

File tree

4 files changed

+29
-1
lines changed

4 files changed

+29
-1
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
--TEST--
2+
'with' keyword is semi reserved
3+
--FILE--
4+
<?php
5+
6+
class Test {
7+
const WITH = 1;
8+
public $with;
9+
function with ($with) {}
10+
}
11+
12+
$with = 1;
13+
14+
// Not allowed:
15+
// function with() {}
16+
// class with {}
17+
// const WITH = 1;
18+
19+
?>
20+
==DONE==
21+
--EXPECT--
22+
==DONE==

Zend/zend_language_parser.y

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ reserved_non_modifiers:
312312
| T_THROW | T_USE | T_INSTEADOF | T_GLOBAL | T_VAR | T_UNSET | T_ISSET | T_EMPTY | T_CONTINUE | T_GOTO
313313
| T_FUNCTION | T_CONST | T_RETURN | T_PRINT | T_YIELD | T_LIST | T_SWITCH | T_ENDSWITCH | T_CASE | T_DEFAULT | T_BREAK
314314
| T_ARRAY | T_CALLABLE | T_EXTENDS | T_IMPLEMENTS | T_NAMESPACE | T_TRAIT | T_INTERFACE | T_CLASS
315-
| T_CLASS_C | T_TRAIT_C | T_FUNC_C | T_METHOD_C | T_LINE | T_FILE | T_DIR | T_NS_C | T_FN | T_MATCH | T_ENUM
315+
| T_CLASS_C | T_TRAIT_C | T_FUNC_C | T_METHOD_C | T_LINE | T_FILE | T_DIR | T_NS_C | T_FN | T_MATCH | T_ENUM | T_WITH
316316
| T_PROPERTY_C
317317
;
318318

ext/tokenizer/tokenizer_data.c

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ext/tokenizer/tokenizer_data.stub.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,11 @@
477477
* @cvalue T_NS_C
478478
*/
479479
const T_NS_C = UNKNOWN;
480+
/**
481+
* @var int
482+
* @cvalue T_WITH
483+
*/
484+
const T_WITH = UNKNOWN;
480485
/**
481486
* @var int
482487
* @cvalue T_ATTRIBUTE

0 commit comments

Comments
 (0)