diff options
author | Nikita Popov <nikic@php.net> | 2014-06-26 14:00:20 +0200 |
---|---|---|
committer | Nikita Popov <nikic@php.net> | 2014-06-26 14:00:20 +0200 |
commit | 31687ed5c7bc53fdecdc14d2457ab2c69d444014 (patch) | |
tree | 356688eecccf441d1cafeb2638f4db9e490fbd1c /Zend/zend_language_scanner.c | |
parent | 7f01b6fcec81a0b9f418d837943b194e1414c62c (diff) | |
download | php-git-31687ed5c7bc53fdecdc14d2457ab2c69d444014.tar.gz |
Handle trait __CLASS__ in parser
Diffstat (limited to 'Zend/zend_language_scanner.c')
-rw-r--r-- | Zend/zend_language_scanner.c | 294 |
1 files changed, 146 insertions, 148 deletions
diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 8858e8be9e..1b42761fa5 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1115,7 +1115,7 @@ yyc_INITIAL: yy3: YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1779 "Zend/zend_language_scanner.l" +#line 1777 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1194,7 +1194,7 @@ yy5: yy6: YYDEBUG(6, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1769 "Zend/zend_language_scanner.l" +#line 1767 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { DUMMY_STRINGL(zendlval, yytext, yyleng); @@ -1211,7 +1211,7 @@ yy7: if ((yych = *YYCURSOR) == '=') goto yy43; YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1750 "Zend/zend_language_scanner.l" +#line 1748 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { DUMMY_STRINGL(zendlval, yytext, yyleng); @@ -1407,7 +1407,7 @@ yy35: ++YYCURSOR; YYDEBUG(38, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1716 "Zend/zend_language_scanner.l" +#line 1714 "Zend/zend_language_scanner.l" { YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1)); @@ -1449,7 +1449,7 @@ yy43: ++YYCURSOR; YYDEBUG(44, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1732 "Zend/zend_language_scanner.l" +#line 1730 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { DUMMY_STRINGL(zendlval, yytext, yyleng); @@ -1465,7 +1465,7 @@ yy45: ++YYCURSOR; YYDEBUG(46, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1743 "Zend/zend_language_scanner.l" +#line 1741 "Zend/zend_language_scanner.l" { DUMMY_STRINGL(zendlval, yytext, yyleng); BEGIN(ST_IN_SCRIPTING); @@ -1498,7 +1498,7 @@ yy50: yy51: YYDEBUG(51, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1761 "Zend/zend_language_scanner.l" +#line 1759 "Zend/zend_language_scanner.l" { DUMMY_STRINGL(zendlval, yytext, yyleng); HANDLE_NEWLINE(yytext[yyleng-1]); @@ -1576,7 +1576,7 @@ yyc_ST_BACKQUOTE: yy56: YYDEBUG(56, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2222 "Zend/zend_language_scanner.l" +#line 2220 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1628,7 +1628,7 @@ yy58: ++YYCURSOR; YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2166 "Zend/zend_language_scanner.l" +#line 2164 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '`'; @@ -1643,7 +1643,7 @@ yy61: ++YYCURSOR; YYDEBUG(62, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2153 "Zend/zend_language_scanner.l" +#line 2151 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); @@ -1666,7 +1666,7 @@ yy63: yy65: YYDEBUG(65, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1860 "Zend/zend_language_scanner.l" +#line 1858 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; @@ -1696,7 +1696,7 @@ yy70: ++YYCURSOR; YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1853 "Zend/zend_language_scanner.l" +#line 1851 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -1721,7 +1721,7 @@ yy73: ++YYCURSOR; YYDEBUG(74, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1844 "Zend/zend_language_scanner.l" +#line 1842 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -1796,7 +1796,7 @@ yy77: yy78: YYDEBUG(78, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2172 "Zend/zend_language_scanner.l" +#line 2170 "Zend/zend_language_scanner.l" { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@ -1856,7 +1856,7 @@ yy80: ++YYCURSOR; YYDEBUG(81, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2161 "Zend/zend_language_scanner.l" +#line 2159 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '"'; @@ -1871,7 +1871,7 @@ yy83: ++YYCURSOR; YYDEBUG(84, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2153 "Zend/zend_language_scanner.l" +#line 2151 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); @@ -1894,7 +1894,7 @@ yy85: yy87: YYDEBUG(87, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1860 "Zend/zend_language_scanner.l" +#line 1858 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; @@ -1924,7 +1924,7 @@ yy92: ++YYCURSOR; YYDEBUG(93, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1853 "Zend/zend_language_scanner.l" +#line 1851 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -1949,7 +1949,7 @@ yy95: ++YYCURSOR; YYDEBUG(96, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1844 "Zend/zend_language_scanner.l" +#line 1842 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -1967,7 +1967,7 @@ yyc_ST_END_HEREDOC: ++YYCURSOR; YYDEBUG(100, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2139 "Zend/zend_language_scanner.l" +#line 2137 "Zend/zend_language_scanner.l" { zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack)); @@ -2042,7 +2042,7 @@ yy103: yy104: YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2264 "Zend/zend_language_scanner.l" +#line 2262 "Zend/zend_language_scanner.l" { int newline = 0; @@ -2130,7 +2130,7 @@ yy107: ++YYCURSOR; YYDEBUG(108, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2153 "Zend/zend_language_scanner.l" +#line 2151 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); @@ -2153,7 +2153,7 @@ yy109: yy111: YYDEBUG(111, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1860 "Zend/zend_language_scanner.l" +#line 1858 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; @@ -2183,7 +2183,7 @@ yy116: ++YYCURSOR; YYDEBUG(117, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1853 "Zend/zend_language_scanner.l" +#line 1851 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -2208,7 +2208,7 @@ yy119: ++YYCURSOR; YYDEBUG(120, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1844 "Zend/zend_language_scanner.l" +#line 1842 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -2398,7 +2398,7 @@ yy123: yy124: YYDEBUG(124, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1882 "Zend/zend_language_scanner.l" +#line 1880 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); return T_STRING; @@ -2996,7 +2996,7 @@ yy176: yy177: YYDEBUG(177, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1888 "Zend/zend_language_scanner.l" +#line 1886 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@ -3037,7 +3037,7 @@ yy178: yy179: YYDEBUG(179, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1974 "Zend/zend_language_scanner.l" +#line 1972 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -3112,7 +3112,7 @@ yy180: yy181: YYDEBUG(181, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2043 "Zend/zend_language_scanner.l" +#line 2041 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@ -3159,7 +3159,7 @@ yy182: ++YYCURSOR; YYDEBUG(183, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2133 "Zend/zend_language_scanner.l" +#line 2131 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); return '`'; @@ -3170,7 +3170,7 @@ yy184: ++YYCURSOR; YYDEBUG(185, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2395 "Zend/zend_language_scanner.l" +#line 2393 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -3370,7 +3370,7 @@ yy206: yy207: YYDEBUG(207, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1955 "Zend/zend_language_scanner.l" +#line 1953 "Zend/zend_language_scanner.l" { DUMMY_STRINGL(zendlval, yytext, yyleng); BEGIN(INITIAL); @@ -3410,7 +3410,7 @@ yy210: yy212: YYDEBUG(212, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1860 "Zend/zend_language_scanner.l" +#line 1858 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; @@ -3505,7 +3505,7 @@ yy228: yy229: YYDEBUG(229, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1962 "Zend/zend_language_scanner.l" +#line 1960 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { BEGIN(INITIAL); @@ -3544,7 +3544,7 @@ yy234: yy235: YYDEBUG(235, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1922 "Zend/zend_language_scanner.l" +#line 1920 "Zend/zend_language_scanner.l" { int doc_com; @@ -3872,7 +3872,7 @@ yy279: yy280: YYDEBUG(280, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2085 "Zend/zend_language_scanner.l" +#line 2083 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@ -4167,7 +4167,7 @@ yy317: } YYDEBUG(320, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1707 "Zend/zend_language_scanner.l" +#line 1705 "Zend/zend_language_scanner.l" { if (Z_TYPE(CG(current_namespace)) != IS_UNDEF) { ZVAL_DUP(zendlval, &CG(current_namespace)); @@ -4196,7 +4196,7 @@ yy322: } YYDEBUG(325, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1682 "Zend/zend_language_scanner.l" +#line 1680 "Zend/zend_language_scanner.l" { zend_string *filename = zend_get_compiled_filename(TSRMLS_C); zend_string *dirname; @@ -4246,7 +4246,7 @@ yy328: } YYDEBUG(331, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1666 "Zend/zend_language_scanner.l" +#line 1664 "Zend/zend_language_scanner.l" { ZVAL_LONG(zendlval, CG(zend_lineno)); return T_LINE; @@ -4286,7 +4286,7 @@ yy336: } YYDEBUG(339, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1634 "Zend/zend_language_scanner.l" +#line 1632 "Zend/zend_language_scanner.l" { if (CG(active_class_entry)) { int len = 0; @@ -4369,7 +4369,7 @@ yy347: } YYDEBUG(350, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1624 "Zend/zend_language_scanner.l" +#line 1622 "Zend/zend_language_scanner.l" { zend_op_array *op_array = CG(active_op_array); if (op_array && op_array->function_name) { @@ -4399,7 +4399,7 @@ yy352: } YYDEBUG(355, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1671 "Zend/zend_language_scanner.l" +#line 1669 "Zend/zend_language_scanner.l" { zend_string *filename = zend_get_compiled_filename(TSRMLS_C); @@ -4440,7 +4440,7 @@ yy359: } YYDEBUG(362, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1614 "Zend/zend_language_scanner.l" +#line 1612 "Zend/zend_language_scanner.l" { zend_class_entry *ce = CG(active_class_entry); if (ce && ce->name && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) { @@ -4484,10 +4484,8 @@ yy366: { zend_class_entry *ce = CG(active_class_entry); if (ce && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) { - /* We create a special __CLASS__ constant that is going to be resolved - at run-time */ - ZVAL_STRINGL(zendlval, "__CLASS__", sizeof("__CLASS__") - 1); - Z_TYPE_INFO_P(zendlval) = IS_CONSTANT_EX; + /* Signal that the __CLASS__ needs to be resolved at runtime */ + ZVAL_UNDEF(zendlval); } else { if (ce && ce->name) { ZVAL_STR(zendlval, STR_COPY(ce->name)); @@ -4497,7 +4495,7 @@ yy366: } return T_CLASS_C; } -#line 4501 "Zend/zend_language_scanner.c" +#line 4499 "Zend/zend_language_scanner.c" yy370: YYDEBUG(370, *YYCURSOR); yych = *++YYCURSOR; @@ -4563,7 +4561,7 @@ yy381: { return T_HALT_COMPILER; } -#line 4567 "Zend/zend_language_scanner.c" +#line 4565 "Zend/zend_language_scanner.c" yy383: YYDEBUG(383, *YYCURSOR); yych = *++YYCURSOR; @@ -4587,7 +4585,7 @@ yy385: { return T_USE; } -#line 4591 "Zend/zend_language_scanner.c" +#line 4589 "Zend/zend_language_scanner.c" yy387: YYDEBUG(387, *YYCURSOR); yych = *++YYCURSOR; @@ -4610,7 +4608,7 @@ yy389: { return T_UNSET; } -#line 4614 "Zend/zend_language_scanner.c" +#line 4612 "Zend/zend_language_scanner.c" yy391: YYDEBUG(391, *YYCURSOR); ++YYCURSOR; @@ -4786,7 +4784,7 @@ yy406: { return T_INT_CAST; } -#line 4790 "Zend/zend_language_scanner.c" +#line 4788 "Zend/zend_language_scanner.c" yy409: YYDEBUG(409, *YYCURSOR); yych = *++YYCURSOR; @@ -4834,7 +4832,7 @@ yy414: { return T_DOUBLE_CAST; } -#line 4838 "Zend/zend_language_scanner.c" +#line 4836 "Zend/zend_language_scanner.c" yy418: YYDEBUG(418, *YYCURSOR); yych = *++YYCURSOR; @@ -4908,7 +4906,7 @@ yy428: { return T_STRING_CAST; } -#line 4912 "Zend/zend_language_scanner.c" +#line 4910 "Zend/zend_language_scanner.c" yy432: YYDEBUG(432, *YYCURSOR); yych = *++YYCURSOR; @@ -4945,7 +4943,7 @@ yy435: { return T_ARRAY_CAST; } -#line 4949 "Zend/zend_language_scanner.c" +#line 4947 "Zend/zend_language_scanner.c" yy439: YYDEBUG(439, *YYCURSOR); yych = *++YYCURSOR; @@ -4987,7 +4985,7 @@ yy443: { return T_OBJECT_CAST; } -#line 4991 "Zend/zend_language_scanner.c" +#line 4989 "Zend/zend_language_scanner.c" yy447: YYDEBUG(447, *YYCURSOR); yych = *++YYCURSOR; @@ -5032,7 +5030,7 @@ yy452: { return T_BOOL_CAST; } -#line 5036 "Zend/zend_language_scanner.c" +#line 5034 "Zend/zend_language_scanner.c" yy455: YYDEBUG(455, *YYCURSOR); yych = *++YYCURSOR; @@ -5096,7 +5094,7 @@ yy463: { return T_UNSET_CAST; } -#line 5100 "Zend/zend_language_scanner.c" +#line 5098 "Zend/zend_language_scanner.c" yy467: YYDEBUG(467, *YYCURSOR); yych = *++YYCURSOR; @@ -5114,7 +5112,7 @@ yy468: { return T_VAR; } -#line 5118 "Zend/zend_language_scanner.c" +#line 5116 "Zend/zend_language_scanner.c" yy470: YYDEBUG(470, *YYCURSOR); yych = *++YYCURSOR; @@ -5138,7 +5136,7 @@ yy472: { return T_NEW; } -#line 5142 "Zend/zend_language_scanner.c" +#line 5140 "Zend/zend_language_scanner.c" yy474: YYDEBUG(474, *YYCURSOR); yych = *++YYCURSOR; @@ -5181,7 +5179,7 @@ yy480: { return T_NAMESPACE; } -#line 5185 "Zend/zend_language_scanner.c" +#line 5183 "Zend/zend_language_scanner.c" yy482: YYDEBUG(482, *YYCURSOR); yyaccept = 3; @@ -5207,7 +5205,7 @@ yy484: { return T_CONCAT_EQUAL; } -#line 5211 "Zend/zend_language_scanner.c" +#line 5209 "Zend/zend_language_scanner.c" yy486: YYDEBUG(486, *YYCURSOR); yych = *++YYCURSOR; @@ -5220,7 +5218,7 @@ yy486: { return T_ELLIPSIS; } -#line 5224 "Zend/zend_language_scanner.c" +#line 5222 "Zend/zend_language_scanner.c" yy489: YYDEBUG(489, *YYCURSOR); ++YYCURSOR; @@ -5230,7 +5228,7 @@ yy489: { return T_PAAMAYIM_NEKUDOTAYIM; } -#line 5234 "Zend/zend_language_scanner.c" +#line 5232 "Zend/zend_language_scanner.c" yy491: YYDEBUG(491, *YYCURSOR); ++YYCURSOR; @@ -5256,7 +5254,7 @@ yy493: { return T_MINUS_EQUAL; } -#line 5260 "Zend/zend_language_scanner.c" +#line 5258 "Zend/zend_language_scanner.c" yy495: YYDEBUG(495, *YYCURSOR); ++YYCURSOR; @@ -5266,7 +5264,7 @@ yy495: { return T_DEC; } -#line 5270 "Zend/zend_language_scanner.c" +#line 5268 "Zend/zend_language_scanner.c" yy497: YYDEBUG(497, *YYCURSOR); ++YYCURSOR; @@ -5277,7 +5275,7 @@ yy497: yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); return T_OBJECT_OPERATOR; } -#line 5281 "Zend/zend_language_scanner.c" +#line 5279 "Zend/zend_language_scanner.c" yy499: YYDEBUG(499, *YYCURSOR); yych = *++YYCURSOR; @@ -5326,7 +5324,7 @@ yy504: { return T_PUBLIC; } -#line 5330 "Zend/zend_language_scanner.c" +#line 5328 "Zend/zend_language_scanner.c" yy506: YYDEBUG(506, *YYCURSOR); yych = *++YYCURSOR; @@ -5385,7 +5383,7 @@ yy513: { return T_PROTECTED; } -#line 5389 "Zend/zend_language_scanner.c" +#line 5387 "Zend/zend_language_scanner.c" yy515: YYDEBUG(515, *YYCURSOR); yych = *++YYCURSOR; @@ -5419,7 +5417,7 @@ yy519: { return T_PRIVATE; } -#line 5423 "Zend/zend_language_scanner.c" +#line 5421 "Zend/zend_language_scanner.c" yy521: YYDEBUG(521, *YYCURSOR); ++YYCURSOR; @@ -5432,7 +5430,7 @@ yy521: { return T_PRINT; } -#line 5436 "Zend/zend_language_scanner.c" +#line 5434 "Zend/zend_language_scanner.c" yy523: YYDEBUG(523, *YYCURSOR); yych = *++YYCURSOR; @@ -5461,7 +5459,7 @@ yy526: { return T_GOTO; } -#line 5465 "Zend/zend_language_scanner.c" +#line 5463 "Zend/zend_language_scanner.c" yy528: YYDEBUG(528, *YYCURSOR); yych = *++YYCURSOR; @@ -5489,7 +5487,7 @@ yy531: { return T_GLOBAL; } -#line 5493 "Zend/zend_language_scanner.c" +#line 5491 "Zend/zend_language_scanner.c" yy533: YYDEBUG(533, *YYCURSOR); yych = *++YYCURSOR; @@ -5530,7 +5528,7 @@ yy539: { return T_BREAK; } -#line 5534 "Zend/zend_language_scanner.c" +#line 5532 "Zend/zend_language_scanner.c" yy541: YYDEBUG(541, *YYCURSOR); yych = *++YYCURSOR; @@ -5574,7 +5572,7 @@ yy547: { return T_SWITCH; } -#line 5578 "Zend/zend_language_scanner.c" +#line 5576 "Zend/zend_language_scanner.c" yy549: YYDEBUG(549, *YYCURSOR); yych = *++YYCURSOR; @@ -5602,7 +5600,7 @@ yy552: { return T_STATIC; } -#line 5606 "Zend/zend_language_scanner.c" +#line 5604 "Zend/zend_language_scanner.c" yy554: YYDEBUG(554, *YYCURSOR); yych = *++YYCURSOR; @@ -5633,7 +5631,7 @@ yy557: { return T_AS; } -#line 5637 "Zend/zend_language_scanner.c" +#line 5635 "Zend/zend_language_scanner.c" yy559: YYDEBUG(559, *YYCURSOR); yych = *++YYCURSOR; @@ -5656,7 +5654,7 @@ yy561: { return T_ARRAY; } -#line 5660 "Zend/zend_language_scanner.c" +#line 5658 "Zend/zend_language_scanner.c" yy563: YYDEBUG(563, *YYCURSOR); ++YYCURSOR; @@ -5669,7 +5667,7 @@ yy563: { return T_LOGICAL_AND; } -#line 5673 "Zend/zend_language_scanner.c" +#line 5671 "Zend/zend_language_scanner.c" yy565: YYDEBUG(565, *YYCURSOR); yych = *++YYCURSOR; @@ -5707,7 +5705,7 @@ yy570: { return T_ABSTRACT; } -#line 5711 "Zend/zend_language_scanner.c" +#line 5709 "Zend/zend_language_scanner.c" yy572: YYDEBUG(572, *YYCURSOR); yych = *++YYCURSOR; @@ -5735,7 +5733,7 @@ yy575: { return T_WHILE; } -#line 5739 "Zend/zend_language_scanner.c" +#line 5737 "Zend/zend_language_scanner.c" yy577: YYDEBUG(577, *YYCURSOR); ++YYCURSOR; @@ -5748,7 +5746,7 @@ yy577: { return T_IF; } -#line 5752 "Zend/zend_language_scanner.c" +#line 5750 "Zend/zend_language_scanner.c" yy579: YYDEBUG(579, *YYCURSOR); yych = *++YYCURSOR; @@ -5804,7 +5802,7 @@ yy584: { return T_ISSET; } -#line 5808 "Zend/zend_language_scanner.c" +#line 5806 "Zend/zend_language_scanner.c" yy586: YYDEBUG(586, *YYCURSOR); yych = *++YYCURSOR; @@ -5862,7 +5860,7 @@ yy593: { return T_INCLUDE; } -#line 5866 "Zend/zend_language_scanner.c" +#line 5864 "Zend/zend_language_scanner.c" yy594: YYDEBUG(594, *YYCURSOR); yych = *++YYCURSOR; @@ -5895,7 +5893,7 @@ yy598: { return T_INCLUDE_ONCE; } -#line 5899 "Zend/zend_language_scanner.c" +#line 5897 "Zend/zend_language_scanner.c" yy600: YYDEBUG(600, *YYCURSOR); yych = *++YYCURSOR; @@ -5933,7 +5931,7 @@ yy605: { return T_INTERFACE; } -#line 5937 "Zend/zend_language_scanner.c" +#line 5935 "Zend/zend_language_scanner.c" yy607: YYDEBUG(607, *YYCURSOR); yych = *++YYCURSOR; @@ -5987,7 +5985,7 @@ yy613: { return T_INSTEADOF; } -#line 5991 "Zend/zend_language_scanner.c" +#line 5989 "Zend/zend_language_scanner.c" yy615: YYDEBUG(615, *YYCURSOR); yych = *++YYCURSOR; @@ -6020,7 +6018,7 @@ yy619: { return T_INSTANCEOF; } -#line 6024 "Zend/zend_language_scanner.c" +#line 6022 "Zend/zend_language_scanner.c" yy621: YYDEBUG(621, *YYCURSOR); yych = *++YYCURSOR; @@ -6068,7 +6066,7 @@ yy628: { return T_IMPLEMENTS; } -#line 6072 "Zend/zend_language_scanner.c" +#line 6070 "Zend/zend_language_scanner.c" yy630: YYDEBUG(630, *YYCURSOR); yych = *++YYCURSOR; @@ -6100,7 +6098,7 @@ yy631: { return T_TRY; } -#line 6104 "Zend/zend_language_scanner.c" +#line 6102 "Zend/zend_language_scanner.c" yy634: YYDEBUG(634, *YYCURSOR); yych = *++YYCURSOR; @@ -6123,7 +6121,7 @@ yy636: { return T_TRAIT; } -#line 6127 "Zend/zend_language_scanner.c" +#line 6125 "Zend/zend_language_scanner.c" yy638: YYDEBUG(638, *YYCURSOR); yych = *++YYCURSOR; @@ -6146,7 +6144,7 @@ yy640: { return T_THROW; } -#line 6150 "Zend/zend_language_scanner.c" +#line 6148 "Zend/zend_language_scanner.c" yy642: YYDEBUG(642, *YYCURSOR); yych = *++YYCURSOR; @@ -6174,7 +6172,7 @@ yy645: { return T_YIELD; } -#line 6178 "Zend/zend_language_scanner.c" +#line 6176 "Zend/zend_language_scanner.c" yy647: YYDEBUG(647, *YYCURSOR); yych = *++YYCURSOR; @@ -6239,7 +6237,7 @@ yy654: { return T_REQUIRE; } -#line 6243 "Zend/zend_language_scanner.c" +#line 6241 "Zend/zend_language_scanner.c" yy655: YYDEBUG(655, *YYCURSOR); yych = *++YYCURSOR; @@ -6272,7 +6270,7 @@ yy659: { return T_REQUIRE_ONCE; } -#line 6276 "Zend/zend_language_scanner.c" +#line 6274 "Zend/zend_language_scanner.c" yy661: YYDEBUG(661, *YYCURSOR); yych = *++YYCURSOR; @@ -6295,7 +6293,7 @@ yy663: { return T_RETURN; } -#line 6299 "Zend/zend_language_scanner.c" +#line 6297 "Zend/zend_language_scanner.c" yy665: YYDEBUG(665, *YYCURSOR); yych = *++YYCURSOR; @@ -6389,7 +6387,7 @@ yy674: { return T_CONTINUE; } -#line 6393 "Zend/zend_language_scanner.c" +#line 6391 "Zend/zend_language_scanner.c" yy676: YYDEBUG(676, *YYCURSOR); ++YYCURSOR; @@ -6402,7 +6400,7 @@ yy676: { return T_CONST; } -#line 6406 "Zend/zend_language_scanner.c" +#line 6404 "Zend/zend_language_scanner.c" yy678: YYDEBUG(678, *YYCURSOR); yych = *++YYCURSOR; @@ -6431,7 +6429,7 @@ yy681: { return T_CLONE; } -#line 6435 "Zend/zend_language_scanner.c" +#line 6433 "Zend/zend_language_scanner.c" yy683: YYDEBUG(683, *YYCURSOR); yych = *++YYCURSOR; @@ -6449,7 +6447,7 @@ yy684: { return T_CLASS; } -#line 6453 "Zend/zend_language_scanner.c" +#line 6451 "Zend/zend_language_scanner.c" yy686: YYDEBUG(686, *YYCURSOR); yych = *++YYCURSOR; @@ -6499,7 +6497,7 @@ yy693: { return T_CALLABLE; } -#line 6503 "Zend/zend_language_scanner.c" +#line 6501 "Zend/zend_language_scanner.c" yy695: YYDEBUG(695, *YYCURSOR); ++YYCURSOR; @@ -6512,7 +6510,7 @@ yy695: { return T_CASE; } -#line 6516 "Zend/zend_language_scanner.c" +#line 6514 "Zend/zend_language_scanner.c" yy697: YYDEBUG(697, *YYCURSOR); yych = *++YYCURSOR; @@ -6530,7 +6528,7 @@ yy698: { return T_CATCH; } -#line 6534 "Zend/zend_language_scanner.c" +#line 6532 "Zend/zend_language_scanner.c" yy700: YYDEBUG(700, *YYCURSOR); yych = *++YYCURSOR; @@ -6585,7 +6583,7 @@ yy708: { return T_FUNCTION; } -#line 6589 "Zend/zend_language_scanner.c" +#line 6587 "Zend/zend_language_scanner.c" yy710: YYDEBUG(710, *YYCURSOR); ++YYCURSOR; @@ -6613,7 +6611,7 @@ yy711: { return T_FOR; } -#line 6617 "Zend/zend_language_scanner.c" +#line 6615 "Zend/zend_language_scanner.c" yy712: YYDEBUG(712, *YYCURSOR); yych = *++YYCURSOR; @@ -6641,7 +6639,7 @@ yy715: { return T_FOREACH; } -#line 6645 "Zend/zend_language_scanner.c" +#line 6643 "Zend/zend_language_scanner.c" yy717: YYDEBUG(717, *YYCURSOR); yych = *++YYCURSOR; @@ -6679,7 +6677,7 @@ yy720: { return T_FINAL; } -#line 6683 "Zend/zend_language_scanner.c" +#line 6681 "Zend/zend_language_scanner.c" yy721: YYDEBUG(721, *YYCURSOR); yych = *++YYCURSOR; @@ -6697,7 +6695,7 @@ yy722: { return T_FINALLY; } -#line 6701 "Zend/zend_language_scanner.c" +#line 6699 "Zend/zend_language_scanner.c" yy724: YYDEBUG(724, *YYCURSOR); yych = *++YYCURSOR; @@ -6732,7 +6730,7 @@ yy726: { return T_DO; } -#line 6736 "Zend/zend_language_scanner.c" +#line 6734 "Zend/zend_language_scanner.c" yy728: YYDEBUG(728, *YYCURSOR); ++YYCURSOR; @@ -6745,7 +6743,7 @@ yy728: { return T_EXIT; } -#line 6749 "Zend/zend_language_scanner.c" +#line 6747 "Zend/zend_language_scanner.c" yy730: YYDEBUG(730, *YYCURSOR); yych = *++YYCURSOR; @@ -6784,7 +6782,7 @@ yy735: { return T_DEFAULT; } -#line 6788 "Zend/zend_language_scanner.c" +#line 6786 "Zend/zend_language_scanner.c" yy737: YYDEBUG(737, *YYCURSOR); yych = *++YYCURSOR; @@ -6812,7 +6810,7 @@ yy740: { return T_DECLARE; } -#line 6816 "Zend/zend_language_scanner.c" +#line 6814 "Zend/zend_language_scanner.c" yy742: YYDEBUG(742, *YYCURSOR); yych = *++YYCURSOR; @@ -6896,7 +6894,7 @@ yy753: { return T_EXTENDS; } -#line 6900 "Zend/zend_language_scanner.c" +#line 6898 "Zend/zend_language_scanner.c" yy755: YYDEBUG(755, *YYCURSOR); ++YYCURSOR; @@ -6909,7 +6907,7 @@ yy755: { return T_EXIT; } -#line 6913 "Zend/zend_language_scanner.c" +#line 6911 "Zend/zend_language_scanner.c" yy757: YYDEBUG(757, *YYCURSOR); yych = *++YYCURSOR; @@ -6927,7 +6925,7 @@ yy758: { return T_EVAL; } -#line 6931 "Zend/zend_language_scanner.c" +#line 6929 "Zend/zend_language_scanner.c" yy760: YYDEBUG(760, *YYCURSOR); yych = *++YYCURSOR; @@ -7001,7 +6999,7 @@ yy769: { return T_ENDWHILE; } -#line 7005 "Zend/zend_language_scanner.c" +#line 7003 "Zend/zend_language_scanner.c" yy771: YYDEBUG(771, *YYCURSOR); yych = *++YYCURSOR; @@ -7034,7 +7032,7 @@ yy775: { return T_ENDSWITCH; } -#line 7038 "Zend/zend_language_scanner.c" +#line 7036 "Zend/zend_language_scanner.c" yy777: YYDEBUG(777, *YYCURSOR); ++YYCURSOR; @@ -7047,7 +7045,7 @@ yy777: { return T_ENDIF; } -#line 7051 "Zend/zend_language_scanner.c" +#line 7049 "Zend/zend_language_scanner.c" yy779: YYDEBUG(779, *YYCURSOR); yych = *++YYCURSOR; @@ -7080,7 +7078,7 @@ yy781: { return T_ENDFOR; } -#line 7084 "Zend/zend_language_scanner.c" +#line 7082 "Zend/zend_language_scanner.c" yy782: YYDEBUG(782, *YYCURSOR); yych = *++YYCURSOR; @@ -7108,7 +7106,7 @@ yy785: { return T_ENDFOREACH; } -#line 7112 "Zend/zend_language_scanner.c" +#line 7110 "Zend/zend_language_scanner.c" yy787: YYDEBUG(787, *YYCURSOR); yych = *++YYCURSOR; @@ -7146,7 +7144,7 @@ yy792: { return T_ENDDECLARE; } -#line 7150 "Zend/zend_language_scanner.c" +#line 7148 "Zend/zend_language_scanner.c" yy794: YYDEBUG(794, *YYCURSOR); yych = *++YYCURSOR; @@ -7169,7 +7167,7 @@ yy796: { return T_EMPTY; } -#line 7173 "Zend/zend_language_scanner.c" +#line 7171 "Zend/zend_language_scanner.c" yy798: YYDEBUG(798, *YYCURSOR); yych = *++YYCURSOR; @@ -7202,7 +7200,7 @@ yy800: { return T_ELSE; } -#line 7206 "Zend/zend_language_scanner.c" +#line 7204 "Zend/zend_language_scanner.c" yy801: YYDEBUG(801, *YYCURSOR); yych = *++YYCURSOR; @@ -7220,7 +7218,7 @@ yy802: { return T_ELSEIF; } -#line 7224 "Zend/zend_language_scanner.c" +#line 7222 "Zend/zend_language_scanner.c" yy804: YYDEBUG(804, *YYCURSOR); yych = *++YYCURSOR; @@ -7238,7 +7236,7 @@ yy805: { return T_ECHO; } -#line 7242 "Zend/zend_language_scanner.c" +#line 7240 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -7317,7 +7315,7 @@ yy810: HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 7321 "Zend/zend_language_scanner.c" +#line 7319 "Zend/zend_language_scanner.c" yy811: YYDEBUG(811, *YYCURSOR); ++YYCURSOR; @@ -7331,7 +7329,7 @@ yy812: yy_pop_state(TSRMLS_C); goto restart; } -#line 7335 "Zend/zend_language_scanner.c" +#line 7333 "Zend/zend_language_scanner.c" yy813: YYDEBUG(813, *YYCURSOR); ++YYCURSOR; @@ -7346,7 +7344,7 @@ yy814: zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 7350 "Zend/zend_language_scanner.c" +#line 7348 "Zend/zend_language_scanner.c" yy815: YYDEBUG(815, *YYCURSOR); yych = *++YYCURSOR; @@ -7371,7 +7369,7 @@ yy818: { return T_OBJECT_OPERATOR; } -#line 7375 "Zend/zend_language_scanner.c" +#line 7373 "Zend/zend_language_scanner.c" yy820: YYDEBUG(820, *YYCURSOR); ++YYCURSOR; @@ -7463,7 +7461,7 @@ yy825: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); goto restart; } -#line 7467 "Zend/zend_language_scanner.c" +#line 7465 "Zend/zend_language_scanner.c" yy826: YYDEBUG(826, *YYCURSOR); yych = *++YYCURSOR; @@ -7496,7 +7494,7 @@ yy830: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_STRING_VARNAME; } -#line 7500 "Zend/zend_language_scanner.c" +#line 7498 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_NOWDOC: @@ -7507,7 +7505,7 @@ yyc_ST_NOWDOC: ++YYCURSOR; YYDEBUG(835, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2338 "Zend/zend_language_scanner.l" +#line 2336 "Zend/zend_language_scanner.l" { int newline = 0; @@ -7563,7 +7561,7 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); return T_ENCAPSED_AND_WHITESPACE; } -#line 7567 "Zend/zend_language_scanner.c" +#line 7565 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@ -7679,7 +7677,7 @@ yy839: } return T_NUM_STRING; } -#line 7683 "Zend/zend_language_scanner.c" +#line 7681 "Zend/zend_language_scanner.c" yy840: YYDEBUG(840, *YYCURSOR); yych = *++YYCURSOR; @@ -7699,23 +7697,23 @@ yy841: yy842: YYDEBUG(842, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1870 "Zend/zend_language_scanner.l" +#line 1868 "Zend/zend_language_scanner.l" { /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ return yytext[0]; } -#line 7708 "Zend/zend_language_scanner.c" +#line 7706 "Zend/zend_language_scanner.c" yy843: YYDEBUG(843, *YYCURSOR); ++YYCURSOR; YYDEBUG(844, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1865 "Zend/zend_language_scanner.l" +#line 1863 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); return ']'; } -#line 7719 "Zend/zend_language_scanner.c" +#line 7717 "Zend/zend_language_scanner.c" yy845: YYDEBUG(845, *YYCURSOR); yych = *++YYCURSOR; @@ -7725,14 +7723,14 @@ yy846: ++YYCURSOR; YYDEBUG(847, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1875 "Zend/zend_language_scanner.l" +#line 1873 "Zend/zend_language_scanner.l" { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); yy_pop_state(TSRMLS_C); return T_ENCAPSED_AND_WHITESPACE; } -#line 7736 "Zend/zend_language_scanner.c" +#line 7734 "Zend/zend_language_scanner.c" yy848: YYDEBUG(848, *YYCURSOR); ++YYCURSOR; @@ -7741,18 +7739,18 @@ yy848: yy849: YYDEBUG(849, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1882 "Zend/zend_language_scanner.l" +#line 1880 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 7750 "Zend/zend_language_scanner.c" +#line 7748 "Zend/zend_language_scanner.c" yy850: YYDEBUG(850, *YYCURSOR); ++YYCURSOR; YYDEBUG(851, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2395 "Zend/zend_language_scanner.l" +#line 2393 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -7761,7 +7759,7 @@ yy850: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 7765 "Zend/zend_language_scanner.c" +#line 7763 "Zend/zend_language_scanner.c" yy852: YYDEBUG(852, *YYCURSOR); ++YYCURSOR; @@ -7797,12 +7795,12 @@ yy854: yy856: YYDEBUG(856, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1860 "Zend/zend_language_scanner.l" +#line 1858 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 7806 "Zend/zend_language_scanner.c" +#line 7804 "Zend/zend_language_scanner.c" yy857: YYDEBUG(857, *YYCURSOR); ++YYCURSOR; @@ -7847,7 +7845,7 @@ yy864: ZVAL_STRINGL(zendlval, yytext, yyleng); return T_NUM_STRING; } -#line 7851 "Zend/zend_language_scanner.c" +#line 7849 "Zend/zend_language_scanner.c" yy865: YYDEBUG(865, *YYCURSOR); ++YYCURSOR; @@ -7870,6 +7868,6 @@ yy867: goto yy864; } } -#line 2404 "Zend/zend_language_scanner.l" +#line 2402 "Zend/zend_language_scanner.l" } |