File tree 2 files changed +34
-8
lines changed
2 files changed +34
-8
lines changed Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ GH-14961: Comment between -> and keyword
3
+ --FILE--
4
+ <?php
5
+
6
+ class C {
7
+ public $ class = C::class;
8
+ }
9
+
10
+ $ c = new C ();
11
+ $ c ->/* comment */ class = 42 ;
12
+ var_dump ($ c ->/** doc comment */ class );
13
+ var_dump ($ c ->
14
+ // line comment
15
+ class );
16
+ var_dump ($ c ->
17
+ # hash comment
18
+ class );
19
+ var_dump ($ c ?->/* comment */ class);
20
+
21
+ ?>
22
+ --EXPECT--
23
+ int(42)
24
+ int(42)
25
+ int(42)
26
+ int(42)
Original file line number Diff line number Diff line change @@ -1597,12 +1597,6 @@ OPTIONAL_WHITESPACE_OR_COMMENTS ({WHITESPACE}|{MULTI_LINE_COMMENT}|{SINGLE_LINE_
1597
1597
RETURN_TOKEN_WITH_STR (T_STRING, 0 );
1598
1598
}
1599
1599
1600
- <ST_LOOKING_FOR_PROPERTY>{ANY_CHAR} {
1601
- yyless (0 );
1602
- yy_pop_state ();
1603
- goto restart;
1604
- }
1605
-
1606
1600
<ST_IN_SCRIPTING>" ::" {
1607
1601
RETURN_TOKEN (T_PAAMAYIM_NEKUDOTAYIM);
1608
1602
}
@@ -2389,7 +2383,7 @@ inline_char_handler:
2389
2383
}
2390
2384
2391
2385
2392
- <ST_IN_SCRIPTING>" #" |" // " {
2386
+ <ST_IN_SCRIPTING,ST_LOOKING_FOR_PROPERTY >" #" |" // " {
2393
2387
while ( YYCURSOR < YYLIMIT) {
2394
2388
switch (*YYCURSOR++) {
2395
2389
case ' \r ' :
@@ -2413,7 +2407,7 @@ inline_char_handler:
2413
2407
RETURN_OR_SKIP_TOKEN (T_COMMENT);
2414
2408
}
2415
2409
2416
- <ST_IN_SCRIPTING>" /*" |" /**" {WHITESPACE} {
2410
+ <ST_IN_SCRIPTING,ST_LOOKING_FOR_PROPERTY >" /*" |" /**" {WHITESPACE} {
2417
2411
int doc_com;
2418
2412
2419
2413
if (yyleng > 2 ) {
@@ -2449,6 +2443,12 @@ inline_char_handler:
2449
2443
RETURN_OR_SKIP_TOKEN (T_COMMENT);
2450
2444
}
2451
2445
2446
+ <ST_LOOKING_FOR_PROPERTY>{ANY_CHAR} {
2447
+ yyless (0 );
2448
+ yy_pop_state ();
2449
+ goto restart;
2450
+ }
2451
+
2452
2452
<ST_IN_SCRIPTING>" ?>" {NEWLINE}? {
2453
2453
BEGIN (INITIAL);
2454
2454
if (yytext[yyleng-1 ] != ' >' ) {
You can’t perform that action at this time.
0 commit comments