File tree Expand file tree Collapse file tree 7 files changed +23
-0
lines changed Expand file tree Collapse file tree 7 files changed +23
-0
lines changed Original file line number Diff line number Diff line change 18
18
use Microsoft \PhpParser \Node \ClassMembersNode ;
19
19
use Microsoft \PhpParser \Node \ConstElement ;
20
20
use Microsoft \PhpParser \Node \EnumCaseDeclaration ;
21
+ use Microsoft \PhpParser \Node \EnumInterfaceClause ;
21
22
use Microsoft \PhpParser \Node \EnumMembers ;
22
23
use Microsoft \PhpParser \Node \Expression ;
23
24
use Microsoft \PhpParser \Node \Expression \{
@@ -3723,11 +3724,27 @@ private function parseEnumDeclaration($parentNode) {
3723
3724
?: new MissingToken (TokenKind::EnumType, $ this ->token ->fullStart );
3724
3725
}
3725
3726
3727
+ $ enumDeclaration ->enumInterfaceClause = $ this ->parseEnumInterfaceClause ($ enumDeclaration );
3726
3728
$ enumDeclaration ->enumMembers = $ this ->parseEnumMembers ($ enumDeclaration );
3727
3729
3728
3730
return $ enumDeclaration ;
3729
3731
}
3730
3732
3733
+ private function parseEnumInterfaceClause (EnumDeclaration $ enumDeclaration ): ?EnumInterfaceClause {
3734
+ $ enumInterfaceClause = new EnumInterfaceClause ();
3735
+ $ enumInterfaceClause ->parent = $ enumDeclaration ;
3736
+ $ enumInterfaceClause ->implementsKeyword = $ this ->eatOptional1 (TokenKind::ImplementsKeyword);
3737
+
3738
+ if ($ enumInterfaceClause ->implementsKeyword === null ) {
3739
+ return null ;
3740
+ }
3741
+
3742
+ $ enumInterfaceClause ->interfaceNameList =
3743
+ $ this ->parseQualifiedNameList ($ enumInterfaceClause );
3744
+ return $ enumInterfaceClause ;
3745
+ }
3746
+
3747
+
3731
3748
private function parseEnumMembers ($ parentNode ) {
3732
3749
$ enumMembers = new EnumMembers ();
3733
3750
$ enumMembers ->parent = $ parentNode ;
Original file line number Diff line number Diff line change 24
24
},
25
25
"colonToken": null,
26
26
"enumType": null,
27
+ "enumInterfaceClause": null,
27
28
"enumMembers": {
28
29
"EnumMembers": {
29
30
"openBrace": {
Original file line number Diff line number Diff line change 30
30
"kind": "IntReservedWord",
31
31
"textLength": 3
32
32
},
33
+ "enumInterfaceClause": null,
33
34
"enumMembers": {
34
35
"EnumMembers": {
35
36
"openBrace": {
Original file line number Diff line number Diff line change 62
62
},
63
63
"colonToken": null,
64
64
"enumType": null,
65
+ "enumInterfaceClause": null,
65
66
"enumMembers": {
66
67
"EnumMembers": {
67
68
"openBrace": {
Original file line number Diff line number Diff line change 30
30
"kind": "StringReservedWord",
31
31
"textLength": 6
32
32
},
33
+ "enumInterfaceClause": null,
33
34
"enumMembers": {
34
35
"EnumMembers": {
35
36
"openBrace": {
Original file line number Diff line number Diff line change 31
31
"kind": "EnumType",
32
32
"textLength": 0
33
33
},
34
+ "enumInterfaceClause": null,
34
35
"enumMembers": {
35
36
"EnumMembers": {
36
37
"openBrace": {
Original file line number Diff line number Diff line change 30
30
"kind": "IntReservedWord",
31
31
"textLength": 3
32
32
},
33
+ "enumInterfaceClause": null,
33
34
"enumMembers": {
34
35
"EnumMembers": {
35
36
"openBrace": {
You can’t perform that action at this time.
0 commit comments