summaryrefslogtreecommitdiff
path: root/Zend/tests/bug43343.phpt
Commit message (Collapse)AuthorAgeFilesLines
* Implement named parametersNikita Popov2020-07-311-1/+1
| | | | | | | | | | | | | | | | | | From an engine perspective, named parameters mainly add three concepts: * The SEND_* opcodes now accept a CONST op2, which is the argument name. For now, it is looked up by linear scan and runtime cached. * This may leave UNDEF arguments on the stack. To avoid having to deal with them in other places, a CHECK_UNDEF_ARGS opcode is used to either replace them with defaults, or error. * For variadic functions, EX(extra_named_params) are collected and need to be freed based on ZEND_CALL_HAS_EXTRA_NAMED_PARAMS. RFC: https://wiki.php.net/rfc/named_params Closes GH-5357.
* Treat namespaced names as single tokenNikita Popov2020-07-221-1/+1
| | | | | | | | | Namespace names are now lexed as single tokens of type T_NAME_QUALIFIED, T_NAME_FULLY_QUALIFIED or T_NAME_RELATIVE. RFC: https://wiki.php.net/rfc/namespaced_names_as_token Closes GH-5827.
* Improve output of tokens in Parse ErrorsRowan Tommins2020-07-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, unexpected tokens in the parser are shown as the text found, plus the internal token name, including the notorious "unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM)". This commit replaces that with a more user-friendly format, with two main types of token: * Tokens which always represent the same text are shown like 'unexpected token "::"' and 'expected "::"' * Tokens which have variable text are given a user-friendly name, and show like 'unexpected identifier "foo"', and 'expected identifer'. A few tokens have special cases: * unexpected token """ -> unexpected double-quote mark * unexpected quoted string "'foo'" -> unexpected single-quoted string "foo" * unexpected quoted string ""foo"" -> unexpected double-quoted string "foo" * unexpected illegal character "_" -> unexpected character 0xNN (where _ is almost certainly a control character, and NN is the hexadecimal value of the byte) The \ token has a special case in the implementation just to stop bison making a mess of escaping it and it coming out as \\
* - MFB: make it less(er) sensible to bison versionPierre Joye2009-03-171-1/+1
|
* MF5: Merge namespaces changesStanislav Malyshev2008-12-041-1/+1
|
* Fixed bug #43344 (Wrong error message for undefined namespace constant)Dmitry Stogov2007-12-071-0/+11