Commit Graph

194 Commits

Author SHA1 Message Date
Johannes Schlüter
a8e26830fe - static can't be used as type hint, fixes #43126 (Etienne Kneuss) 2007-11-11 22:10:57 +00:00
Dmitry Stogov
e860d95d24 T_IMPORT -> T_USE 2007-11-06 07:29:41 +00:00
Dmitry Stogov
d892fd3da4 Fixed bug #35163 (Array elements can lose references) 2007-10-23 09:55:25 +00:00
Dmitry Stogov
8d8d86eb7a Fixed bug #42802 (Namespace not supported in typehints) 2007-10-01 10:37:36 +00:00
Dmitry Stogov
189ac4f201 Late Static Binding (Dmitry, Etienne Kneuss) 2007-09-26 07:16:33 +00:00
Dmitry Stogov
611abb17fc Namespace constants 2007-08-24 13:50:52 +00:00
Dmitry Stogov
c7d82c75c9 Added namespace related optimizations and comments 2007-08-20 09:48:41 +00:00
Johannes Schlüter
e80d138b1c - Add possibility to call static class members using variables (Etienne Kneuss) 2007-08-02 21:53:53 +00:00
Dmitry Stogov
9703e90904 Support for namespaces in compile-time constant reference 2007-07-27 09:04:12 +00:00
Dmitry Stogov
1f413bbc37 Namespaces 2007-07-12 09:23:48 +00:00
Stanislav Malyshev
2ab4eededb MF5 __HALT_COMPILER fix:
Remove limitation of __HALT_COMPILER() that allowed only one instance
per request.

# Patch by Gregory Beaver
2007-06-28 00:01:58 +00:00
Stanislav Malyshev
602c6c7986 fix unary operator precision (bug #41401) 2007-05-18 20:48:19 +00:00
Dmitry Stogov
5dc51fecf8 Improved compilation of heredocs and interpolated strings. (Matt) 2007-05-18 13:12:47 +00:00
Andrei Zmievski
d0ff39e936 Set CG(literal_type) for backticks. 2007-04-26 15:50:12 +00:00
Marcus Boerger
80c2f1f92c - Improved version of ternary shortcut 2007-03-08 17:30:28 +00:00
Marcus Boerger
b24f840411 - Implement '?:'
[DOC] "expr1 ?: expr1" is a shortcut for: "expr1 ? expr1 : expr2" as
      exists in gcc and discussed some time back. Note that this is not
      an implementation ifsetor($var, default). While ifsetor would not
      generate any message for non existing variables or array indices
      the ternary shortcut does. Also the ternary shortcut does a boolean
      evaluation rather then checking for isset(). That way ther ternary
      shortcut can work on any expression while ifsetor can only work on
      variables. Also to be silent one has do do: "@$expr1 ?: $expr2".
2007-03-04 16:25:57 +00:00
Ilia Alshanetsky
ce8285d289 Copyright update 2007-01-29 04:40:46 +00:00
Dmitry Stogov
f6387758c6 - Fixed bug #35106 (nested foreach fails when array variable has a reference).
- Fixed bug #36214 (__get method works properly only when conditional operator is used).
- Fixed bug #39449 (Overloaded array properties do not work correctly).
- Fixed bug #39990 (Cannot "foreach" over overloaded properties).
2007-01-10 15:59:56 +00:00
Antony Dovgal
7d1e0e7f30 fix #39903 (Notice message when executing __halt_compiler() more than once) 2006-12-20 16:30:00 +00:00
Andrei Zmievski
a27b78c2d2 Add (binary) cast operator. 2006-03-23 21:54:00 +00:00
Dmitry Stogov
89a1a4cbc4 Return "new" by reference now throws an E_STRICT error 2006-03-16 15:35:26 +00:00
Ilia Alshanetsky
fe2842d21b MFB51: As per agreement during PDM, remove the E_STRICT deprecation notice
from "var".
2006-03-12 16:53:41 +00:00
Dmitry Stogov
f8576f84dc Implemented "jump label" operator (limited "goto") 2006-03-10 08:29:43 +00:00
Dmitry Stogov
432cae3222 Reverted "break label" 2006-03-07 08:43:21 +00:00
Dmitry Stogov
2a2050d4e3 Added support for "continue" and "break" operators with labels. Each loop or switch statement can be marked by label and then it is possible to write "break <label>" instead of "break <number>". 2006-03-03 13:09:13 +00:00
Andrei Zmievski
7f5c395781 *** empty log message *** 2006-02-23 18:06:36 +00:00
Andrei Zmievski
ea1c076155 Fix a bug where the default value for function argument could be an
array with array (!) keys.
2006-02-23 18:06:04 +00:00
Dmitry Stogov
b424a32610 Preparation for portable string API (use macroses to access zval). 2006-02-20 19:03:43 +00:00
Dmitry Stogov
227295a4f1 Unicode stuff is changed according to decision maden on PDM.
Now IS_BINRAY data type is removed and IS_STRING starts behave as IS_BINARY in unicode mode. IS_STRING is incompatible with IS_UNICODE, so ALL functions should be improved to support unicode mode.
2006-01-17 12:18:53 +00:00
Andi Gutmans
5de7cc3194 - Update copyright notices to 2006 2006-01-04 23:54:12 +00:00
Marcus Boerger
73fe423ede - WS 2005-12-16 23:13:24 +00:00
Dmitry Stogov
bc446eec5b Fixed bug #34873 (Segmentation Fault on foreach in object) 2005-10-17 08:01:07 +00:00
Marcus Boerger
d376c1e4a5 - Fix Bug #34243 ReflectionClass::getDocComment() returns no result 2005-09-21 09:56:35 +00:00
Andrei Zmievski
b80cb7bd2f Unicode support 2005-08-11 23:35:03 +00:00
foobar
916815b779 Bump up the year 2005-08-03 13:30:58 +00:00
Dmitry Stogov
343af548a6 Fixed SIGSEGV on 'global ${"{$blah}_ID"};' 2005-07-04 13:24:46 +00:00
Dmitry Stogov
0a44789bf3 Fixed bug #30961 (Wrong linenumber in ReflectionClass getStartLine()) 2005-06-08 06:49:01 +00:00
Zeev Suraski
d33500ee20 Thought I committed it ages ago... Anyway, without further delays, the final
__halt_compiler() patch
2005-06-04 16:16:19 +00:00
Dmitry Stogov
1a72341328 Added array type hinting. (This patch requires full re-make) 2005-05-26 13:46:17 +00:00
Marcus Boerger
a29f5391db - Cleanup foreach handling 2005-02-11 22:26:45 +00:00
Dmitry Stogov
fc96c7f7fa foreash($a as $key => $val) optimization
Removed temorary array creation on each iteration.
2005-02-07 16:09:54 +00:00
Marcus Boerger
2d13dd0ef0 - Remove part of the cleanup which causes a problem with unnormal code
like tests/lang/040.phpt
# However there is a memleak introduced somewhen after august 04 for such
# code now, 5.0 and 4.3 are fine though.
2005-02-07 15:22:38 +00:00
Marcus Boerger
662cd8262e - Cleanup foreach statement 2005-02-05 14:01:59 +00:00
Andi Gutmans
db507dd153 - Commit the variable fetch optimization.
- Extensions which delete global variables need to use new special function
- delete_global_variable() (I'm about to rename it) to remove them.
- Will post to internals@ or via commit messages if there's anything else.
2004-10-04 19:54:35 +00:00
Sebastian Bergmann
6ccbb6b51b ZTS fix. 2004-09-16 05:43:29 +00:00
Andi Gutmans
d8efe626b5 - Fix bug #27669 (Dmitry).
Fixes:
<?
        class A
        {
                function hello()
                {
                        echo "Hello World\n";
                }
        }
        $y[0] = 'hello';
        A::$y[0]();
?>
2004-09-16 00:40:38 +00:00
Marcus Boerger
dc7cb19993 - Remove all for now
# - the optimization part can be done in apc or compareable products
# - NULL can be reintroduced later when needed
2004-08-02 16:38:09 +00:00
Sara Golemon
d96e7a170c Revert goto opcode 2004-07-29 17:45:31 +00:00
Sara Golemon
5865b3680a Add goto operator by popular request. 2004-07-29 15:23:47 +00:00
Marcus Boerger
86d46f7cc1 - Speed up by making null/false/true reserved word which allows to drop
an opcode (FETCH_CONSTANT) for every usage.
2004-07-16 06:50:57 +00:00