mirror of
https://github.com/phabelio/PHP-Parser.git
synced 2024-12-02 17:38:19 +01:00
4c22c62783
Adds support for PHP 8 attributes, represented using `AttrGroup` nodes containing `Attribute` nodes. The `attrGroup` subnode is added to all nodes that can have attributes. This is still missing FPPP support. Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
292 lines
5.4 KiB
Plaintext
292 lines
5.4 KiB
Plaintext
Invalid class name
|
|
-----
|
|
<?php class self {}
|
|
-----
|
|
Cannot use 'self' as class name as it is reserved from 1:13 to 1:16
|
|
array(
|
|
0: Stmt_Class(
|
|
attrGroups: array(
|
|
)
|
|
flags: 0
|
|
name: Identifier(
|
|
name: self
|
|
)
|
|
extends: null
|
|
implements: array(
|
|
)
|
|
stmts: array(
|
|
)
|
|
)
|
|
)
|
|
-----
|
|
<?php class PARENT {}
|
|
-----
|
|
Cannot use 'PARENT' as class name as it is reserved from 1:13 to 1:18
|
|
array(
|
|
0: Stmt_Class(
|
|
attrGroups: array(
|
|
)
|
|
flags: 0
|
|
name: Identifier(
|
|
name: PARENT
|
|
)
|
|
extends: null
|
|
implements: array(
|
|
)
|
|
stmts: array(
|
|
)
|
|
)
|
|
)
|
|
-----
|
|
<?php class static {}
|
|
-----
|
|
Syntax error, unexpected T_STATIC, expecting T_STRING from 1:13 to 1:18
|
|
array(
|
|
)
|
|
-----
|
|
<?php class A extends self {}
|
|
-----
|
|
Cannot use 'self' as class name as it is reserved from 1:23 to 1:26
|
|
array(
|
|
0: Stmt_Class(
|
|
attrGroups: array(
|
|
)
|
|
flags: 0
|
|
name: Identifier(
|
|
name: A
|
|
)
|
|
extends: Name(
|
|
parts: array(
|
|
0: self
|
|
)
|
|
)
|
|
implements: array(
|
|
)
|
|
stmts: array(
|
|
)
|
|
)
|
|
)
|
|
-----
|
|
<?php class A extends PARENT {}
|
|
-----
|
|
Cannot use 'PARENT' as class name as it is reserved from 1:23 to 1:28
|
|
array(
|
|
0: Stmt_Class(
|
|
attrGroups: array(
|
|
)
|
|
flags: 0
|
|
name: Identifier(
|
|
name: A
|
|
)
|
|
extends: Name(
|
|
parts: array(
|
|
0: PARENT
|
|
)
|
|
)
|
|
implements: array(
|
|
)
|
|
stmts: array(
|
|
)
|
|
)
|
|
)
|
|
-----
|
|
<?php class A extends static {}
|
|
-----
|
|
Cannot use 'static' as class name as it is reserved from 1:23 to 1:28
|
|
array(
|
|
0: Stmt_Class(
|
|
attrGroups: array(
|
|
)
|
|
flags: 0
|
|
name: Identifier(
|
|
name: A
|
|
)
|
|
extends: Name(
|
|
parts: array(
|
|
0: static
|
|
)
|
|
)
|
|
implements: array(
|
|
)
|
|
stmts: array(
|
|
)
|
|
)
|
|
)
|
|
-----
|
|
<?php class A implements self {}
|
|
-----
|
|
Cannot use 'self' as interface name as it is reserved from 1:26 to 1:29
|
|
array(
|
|
0: Stmt_Class(
|
|
attrGroups: array(
|
|
)
|
|
flags: 0
|
|
name: Identifier(
|
|
name: A
|
|
)
|
|
extends: null
|
|
implements: array(
|
|
0: Name(
|
|
parts: array(
|
|
0: self
|
|
)
|
|
)
|
|
)
|
|
stmts: array(
|
|
)
|
|
)
|
|
)
|
|
-----
|
|
<?php class A implements PARENT {}
|
|
-----
|
|
Cannot use 'PARENT' as interface name as it is reserved from 1:26 to 1:31
|
|
array(
|
|
0: Stmt_Class(
|
|
attrGroups: array(
|
|
)
|
|
flags: 0
|
|
name: Identifier(
|
|
name: A
|
|
)
|
|
extends: null
|
|
implements: array(
|
|
0: Name(
|
|
parts: array(
|
|
0: PARENT
|
|
)
|
|
)
|
|
)
|
|
stmts: array(
|
|
)
|
|
)
|
|
)
|
|
-----
|
|
<?php class A implements static {}
|
|
-----
|
|
Cannot use 'static' as interface name as it is reserved from 1:26 to 1:31
|
|
array(
|
|
0: Stmt_Class(
|
|
attrGroups: array(
|
|
)
|
|
flags: 0
|
|
name: Identifier(
|
|
name: A
|
|
)
|
|
extends: null
|
|
implements: array(
|
|
0: Name(
|
|
parts: array(
|
|
0: static
|
|
)
|
|
)
|
|
)
|
|
stmts: array(
|
|
)
|
|
)
|
|
)
|
|
-----
|
|
<?php interface self {}
|
|
-----
|
|
Cannot use 'self' as class name as it is reserved from 1:17 to 1:20
|
|
array(
|
|
0: Stmt_Interface(
|
|
attrGroups: array(
|
|
)
|
|
name: Identifier(
|
|
name: self
|
|
)
|
|
extends: array(
|
|
)
|
|
stmts: array(
|
|
)
|
|
)
|
|
)
|
|
-----
|
|
<?php interface PARENT {}
|
|
-----
|
|
Cannot use 'PARENT' as class name as it is reserved from 1:17 to 1:22
|
|
array(
|
|
0: Stmt_Interface(
|
|
attrGroups: array(
|
|
)
|
|
name: Identifier(
|
|
name: PARENT
|
|
)
|
|
extends: array(
|
|
)
|
|
stmts: array(
|
|
)
|
|
)
|
|
)
|
|
-----
|
|
<?php interface static {}
|
|
-----
|
|
Syntax error, unexpected T_STATIC, expecting T_STRING from 1:17 to 1:22
|
|
array(
|
|
)
|
|
-----
|
|
<?php interface A extends self {}
|
|
-----
|
|
Cannot use 'self' as interface name as it is reserved from 1:27 to 1:30
|
|
array(
|
|
0: Stmt_Interface(
|
|
attrGroups: array(
|
|
)
|
|
name: Identifier(
|
|
name: A
|
|
)
|
|
extends: array(
|
|
0: Name(
|
|
parts: array(
|
|
0: self
|
|
)
|
|
)
|
|
)
|
|
stmts: array(
|
|
)
|
|
)
|
|
)
|
|
-----
|
|
<?php interface A extends PARENT {}
|
|
-----
|
|
Cannot use 'PARENT' as interface name as it is reserved from 1:27 to 1:32
|
|
array(
|
|
0: Stmt_Interface(
|
|
attrGroups: array(
|
|
)
|
|
name: Identifier(
|
|
name: A
|
|
)
|
|
extends: array(
|
|
0: Name(
|
|
parts: array(
|
|
0: PARENT
|
|
)
|
|
)
|
|
)
|
|
stmts: array(
|
|
)
|
|
)
|
|
)
|
|
-----
|
|
<?php interface A extends static {}
|
|
-----
|
|
Cannot use 'static' as interface name as it is reserved from 1:27 to 1:32
|
|
array(
|
|
0: Stmt_Interface(
|
|
attrGroups: array(
|
|
)
|
|
name: Identifier(
|
|
name: A
|
|
)
|
|
extends: array(
|
|
0: Name(
|
|
parts: array(
|
|
0: static
|
|
)
|
|
)
|
|
)
|
|
stmts: array(
|
|
)
|
|
)
|
|
) |