From 8aa6c157aa1bbb4e929b8f647f05f3db6489c2e0 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 15 Feb 2020 17:54:02 +0100 Subject: [PATCH] Don't include trailing newline in comment token --- Zend/zend_language_scanner.l | 6 +- .../tests/token_get_all_variation9.phpt | 132 ++++++++++-------- 2 files changed, 76 insertions(+), 62 deletions(-) diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 0c066c52ab304..43001a6e467fd 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -2150,12 +2150,8 @@ inline_char_handler: while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { case '\r': - if (*YYCURSOR == '\n') { - YYCURSOR++; - } - /* fall through */ case '\n': - CG(zend_lineno)++; + YYCURSOR--; break; case '?': if (*YYCURSOR == '>') { diff --git a/ext/tokenizer/tests/token_get_all_variation9.phpt b/ext/tokenizer/tests/token_get_all_variation9.phpt index 45660e984cf23..cd7d28ef0b36b 100644 --- a/ext/tokenizer/tests/token_get_all_variation9.phpt +++ b/ext/tokenizer/tests/token_get_all_variation9.phpt @@ -45,7 +45,7 @@ echo "Done" ?> --EXPECTF-- *** Testing token_get_all() : 'source' string with different comments *** -array(50) { +array(52) { [0]=> array(3) { [0]=> @@ -83,12 +83,21 @@ array(50) { [0]=> int(%d) [1]=> - string(13) "// int value -" + string(12) "// int value" [2]=> int(6) } [4]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(1) " +" + [2]=> + int(6) + } + [5]=> array(3) { [0]=> int(%d) @@ -97,7 +106,7 @@ array(50) { [2]=> int(7) } - [5]=> + [6]=> array(3) { [0]=> int(%d) @@ -106,9 +115,9 @@ array(50) { [2]=> int(7) } - [6]=> - string(1) "=" [7]=> + string(1) "=" + [8]=> array(3) { [0]=> int(%d) @@ -117,7 +126,7 @@ array(50) { [2]=> int(7) } - [8]=> + [9]=> array(3) { [0]=> int(%d) @@ -126,9 +135,9 @@ array(50) { [2]=> int(7) } - [9]=> - string(1) ";" [10]=> + string(1) ";" + [11]=> array(3) { [0]=> int(%d) @@ -138,7 +147,7 @@ array(50) { [2]=> int(7) } - [11]=> + [12]=> array(3) { [0]=> int(%d) @@ -147,7 +156,7 @@ array(50) { [2]=> int(8) } - [12]=> + [13]=> array(3) { [0]=> int(%d) @@ -156,9 +165,9 @@ array(50) { [2]=> int(8) } - [13]=> - string(1) "=" [14]=> + string(1) "=" + [15]=> array(3) { [0]=> int(%d) @@ -167,7 +176,7 @@ array(50) { [2]=> int(8) } - [15]=> + [16]=> array(3) { [0]=> int(%d) @@ -176,9 +185,9 @@ array(50) { [2]=> int(8) } - [16]=> - string(1) ";" [17]=> + string(1) ";" + [18]=> array(3) { [0]=> int(%d) @@ -188,7 +197,7 @@ array(50) { [2]=> int(8) } - [18]=> + [19]=> array(3) { [0]=> int(%d) @@ -197,7 +206,7 @@ array(50) { [2]=> int(9) } - [19]=> + [20]=> array(3) { [0]=> int(%d) @@ -206,9 +215,9 @@ array(50) { [2]=> int(9) } - [20]=> - string(1) "=" [21]=> + string(1) "=" + [22]=> array(3) { [0]=> int(%d) @@ -217,7 +226,7 @@ array(50) { [2]=> int(9) } - [22]=> + [23]=> array(3) { [0]=> int(%d) @@ -226,9 +235,9 @@ array(50) { [2]=> int(9) } - [23]=> - string(1) ";" [24]=> + string(1) ";" + [25]=> array(3) { [0]=> int(%d) @@ -237,27 +246,27 @@ array(50) { [2]=> int(9) } - [25]=> + [26]=> array(3) { [0]=> int(%d) [1]=> - string(14) "// bool value -" + string(13) "// bool value" [2]=> int(9) } - [26]=> + [27]=> array(3) { [0]=> int(%d) [1]=> - string(1) " + string(2) " + " [2]=> - int(10) + int(9) } - [27]=> + [28]=> array(3) { [0]=> int(%d) @@ -269,7 +278,7 @@ array(50) { [2]=> int(11) } - [28]=> + [29]=> array(3) { [0]=> int(%d) @@ -279,7 +288,7 @@ array(50) { [2]=> int(14) } - [29]=> + [30]=> array(3) { [0]=> int(%d) @@ -288,7 +297,7 @@ array(50) { [2]=> int(15) } - [30]=> + [31]=> array(3) { [0]=> int(%d) @@ -297,9 +306,9 @@ array(50) { [2]=> int(15) } - [31]=> - string(1) "=" [32]=> + string(1) "=" + [33]=> array(3) { [0]=> int(%d) @@ -308,7 +317,7 @@ array(50) { [2]=> int(15) } - [33]=> + [34]=> array(3) { [0]=> int(%d) @@ -317,7 +326,7 @@ array(50) { [2]=> int(15) } - [34]=> + [35]=> array(3) { [0]=> int(%d) @@ -326,9 +335,9 @@ array(50) { [2]=> int(15) } - [35]=> - string(1) "+" [36]=> + string(1) "+" + [37]=> array(3) { [0]=> int(%d) @@ -337,7 +346,7 @@ array(50) { [2]=> int(15) } - [37]=> + [38]=> array(3) { [0]=> int(%d) @@ -346,9 +355,9 @@ array(50) { [2]=> int(15) } - [38]=> - string(1) ";" [39]=> + string(1) ";" + [40]=> array(3) { [0]=> int(%d) @@ -358,7 +367,7 @@ array(50) { [2]=> int(15) } - [40]=> + [41]=> array(3) { [0]=> int(%d) @@ -367,9 +376,9 @@ array(50) { [2]=> int(16) } - [41]=> - string(1) "(" [42]=> + string(1) "(" + [43]=> array(3) { [0]=> int(%d) @@ -378,11 +387,11 @@ array(50) { [2]=> int(16) } - [43]=> - string(1) ")" [44]=> - string(1) ";" + string(1) ")" [45]=> + string(1) ";" + [46]=> array(3) { [0]=> int(%d) @@ -391,37 +400,46 @@ array(50) { [2]=> int(16) } - [46]=> + [47]=> array(3) { [0]=> int(%d) [1]=> - string(20) "# expected: int(%d) -" + string(19) "# expected: int(30)" [2]=> int(16) } - [47]=> + [48]=> array(3) { [0]=> int(%d) [1]=> - string(1) " + string(2) " + " [2]=> - int(17) + int(16) } - [48]=> + [49]=> + array(3) { + [0]=> + int(%d) + [1]=> + string(16) "# end of program" + [2]=> + int(18) + } + [50]=> array(3) { [0]=> int(%d) [1]=> - string(17) "# end of program + string(1) " " [2]=> int(18) } - [49]=> + [51]=> array(3) { [0]=> int(%d)