Commit Graph

729 Commits

Author SHA1 Message Date
Marcus Boerger
ffd43034b0 - Interfaces may have static methods to enforce their existance in
implementing classes
2006-02-19 11:55:11 +00:00
Marcus Boerger
89f57ea951 - Static functions cannot be abstract 2006-02-19 11:42:30 +00:00
Marcus Boerger
c8d78028b5 - Disallow foreach($v as &$ref) when $v is an object that implements
interface Iterator. The signature of Iterator::current() doesn't allow
  that. Maybe ppl also want IteratorByReference or similar. Unfortunatley
  this comes with an API change but there is no easier way.
2006-02-05 23:26:55 +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
170918c6eb - Fix Bug #35720 A final constructor can be overwritten 2005-12-17 15:50:24 +00:00
Dmitry Stogov
feaa2501d0 Fixed bug #34729 (Crash in ZTS mode under Apache) 2005-12-01 11:49:51 +00:00
Dmitry Stogov
a42086c73c Fixed bug #35360 (exceptions in interactive mode (php -a) may cause crash) 2005-11-24 11:32:44 +00:00
Dmitry Stogov
98b8a0fdb9 Bug #33732 (Wrong behavior of constants in class and interface extending) 2005-11-23 09:27:01 +00:00
Dmitry Stogov
97190ee606 Removed support for continue and break operators with non-constant operands 2005-11-17 08:27:25 +00:00
Dmitry Stogov
0220a8318c Allow "null" default value for arguments with array type hint
Unicode support
2005-11-15 16:50:07 +00:00
Dmitry Stogov
bc446eec5b Fixed bug #34873 (Segmentation Fault on foreach in object) 2005-10-17 08:01:07 +00:00
Derick Rethans
086875b107 - Make sure that typehints for classes can only accept "= NULL" as default
value.
2005-10-17 07:03:33 +00:00
Derick Rethans
a1527fdaf3 - Changed type hints so that they take "= NULL" as default value. 2005-10-15 12:54:19 +00:00
Dmitry Stogov
d3105c7ef6 MFH 2005-10-10 10:50:35 +00:00
Dmitry Stogov
9ac7051043 Fixed bug #34467 (foreach + __get + __set incosistency) 2005-10-10 09:50:20 +00:00
Dmitry Stogov
eedbae57ae Fixed bug #34358 (Fatal error: Cannot re-assign $this) 2005-10-03 08:21:20 +00:00
Dmitry Stogov
f94344d7fd Changed __toString() behavior to call it in all necessary places 2005-09-27 07:59:18 +00:00
Dmitry Stogov
3c76f253e8 MFH (overriding of protected static property) 2005-09-16 13:42:31 +00:00
Dmitry Stogov
a082983adb catch operator shouldn't call __autoload () too 2005-09-08 10:32:28 +00:00
Dmitry Stogov
f61b9bac52 Fixed bug #34310 (foreach($arr as $c->d => $x) crashes) 2005-09-01 10:55:05 +00:00
Dmitry Stogov
7b7551085b Support for class constants and static members for internal classes 2005-09-01 10:05:01 +00:00
Marcus Boerger
0165ab6251 - Adds module registering a function to struct zend_internal_function.
(Johannes)
# This information is by reflection API and error messages.
2005-08-30 18:27:17 +00:00
Andrei Zmievski
d0d6a1f16f - Require declare(encoding=...) to come before any opcodes. Read source
comments for more info.
- Op arrays now know which script encoding they were compiled from.
- Use this information to intelligently convert inline HTML blocks to
  the output encoding. Currently it opens and closes a new converter for
  each block, but we can optimize it.
2005-08-24 20:42:09 +00:00
Dmitry Stogov
90393d675f Unicode support 2005-08-19 13:20:16 +00:00
Dmitry Stogov
b0e24970bb Unicode support cleanup 2005-08-19 10:54:26 +00:00
Dmitry Stogov
d90d6c5d2b nstanceof operator shouldn't call __autoload() 2005-08-19 08:11:16 +00:00
Andrei Zmievski
9bd026e6b4 Fix it here too 2005-08-16 18:21:04 +00:00
Dmitry Stogov
e47587e189 Fixed several unicode related bugs 2005-08-15 14:39:18 +00:00
Dmitry Stogov
21c1109e0c Unicode support 2005-08-12 11:29:33 +00:00
Sebastian Bergmann
6ad189f82a ZTS fixes. 2005-08-12 05:58:02 +00:00
Andrei Zmievski
b80cb7bd2f Unicode support 2005-08-11 23:35:03 +00:00
Marcus Boerger
a4e1032836 - For internal classes we must auto generate the abstract class flags.
# Actually providing the flags while registering the class is not possible
# since that would require a major API change.
2005-08-11 20:32:01 +00:00
Dmitry Stogov
b0d3aec8ad Fixed bug #25359 (array_multisort() doesn't work in a function if array is global or reference) 2005-08-10 12:02:14 +00:00
Dmitry Stogov
aafc593eb5 Fixed possible memory corryption during compilation of <?php foreach($a as $b); ?> 2005-08-04 14:04:36 +00:00
foobar
916815b779 Bump up the year 2005-08-03 13:30:58 +00:00
Dmitry Stogov
7aca138456 Fixed bug #33710 (ArrayAccess objects doen't initialize $this) 2005-07-19 07:33:00 +00:00
Ilia Alshanetsky
96fc6717e9 Added missing init. 2005-07-17 19:17:10 +00:00
Dmitry Stogov
345e0255b5 Fixed bug #33512 (Add missing support for isset()/unset() overloading to complement the property get/set methods) 2005-07-07 16:07:09 +00:00
Dmitry Stogov
6bc321395d Partial fix for bug #26584 (Class member - array key overflow)
It doesn't fix integer overflow problem, but allows null, boolean and double keys in array constants in the same way as in runtime.
2005-06-24 09:24:42 +00:00
Dmitry Stogov
12b66c262a Fixed bug #30519 (Interface not existing says Class not found) 2005-06-24 08:45:17 +00:00
Dmitry Stogov
21e071be06 Fixed bug #33257 (array_splice() inconsistent when passed function instead of variable) 2005-06-22 08:33:00 +00:00
Dmitry Stogov
1098ec03c1 Remove unnecessary ZEND_FETCH_CLASS together with ZEND_DECLARE_INHERITED_CLASS in case of early binding 2005-06-21 12:05:15 +00:00
Dmitry Stogov
aedbdb087d Allowed return by refrence from internal functions 2005-06-16 14:56:13 +00:00
Dmitry Stogov
c3e6a90808 ZEND_UNSET_DIM_OBJ is splitted to ZEND_UNSET_DIM and ZEND_UNSET_OBJ. 2005-06-16 12:17:39 +00:00
Dmitry Stogov
6efa17c2a1 Merge three opcodes (ZEND_NEW, ZEND_JMP_NO_CTOR, ZEND_INIT_CTOR) into one (ZEND_NEW). There was no real reason for this anymore and API should be changed before 5.1 2005-06-10 07:56:40 +00:00
Stanislav Malyshev
2cb52151ac MF50: fix #29689 and more private property problems 2005-06-09 17:20:44 +00:00
Stanislav Malyshev
b83a2603b3 disallow abstrace private methods 2005-06-09 17:12:54 +00:00
Dmitry Stogov
d873ecb29c Fixed valgrind errors 2005-06-08 18:11:06 +00:00
Dmitry Stogov
55cdb7c043 Fixed lookups for previos opcodes 2005-06-08 15:01:35 +00:00
Dmitry Stogov
0a44789bf3 Fixed bug #30961 (Wrong linenumber in ReflectionClass getStartLine()) 2005-06-08 06:49:01 +00:00
Dmitry Stogov
58a0ee09c3 Fixed bug #26456 (Wrong results from Reflection-API getDocComment() when called via STDIN) 2005-06-07 18:11:56 +00:00
Dmitry Stogov
91a344a504 Fixed bug #32428 (The @ warning error supression operator is broken) 2005-06-06 11:20:46 +00:00
Dmitry Stogov
89e53d5ab2 Fixed bug #30080 (Passing array or non array of objects) 2005-06-03 15:02:49 +00:00
Dmitry Stogov
6b39b374ef Fixed bug #27598 (list() array key assignment causes HUGE memory leak) 2005-06-03 13:57:26 +00:00
Marcus Boerger
4f9a2bed42 - Only allow changing return ref agnostic when a script method overrides an
internal method (found by dmitry)
2005-05-31 09:06:43 +00:00
Marcus Boerger
4918b67ac5 - Make zend_do_inheritance ZEND_API 2005-05-28 10:24:56 +00:00
Dmitry Stogov
1a72341328 Added array type hinting. (This patch requires full re-make) 2005-05-26 13:46:17 +00:00
Dmitry Stogov
79d6f11a4a Fixed bug #31525 (object reference being dropped. $this getting lost) 2005-05-05 17:37:25 +00:00
Dmitry Stogov
abb07db4c6 Fixed bug #29104 (Function declaration in method doesn't work) 2005-04-27 13:30:53 +00:00
Dmitry Stogov
694f7a9e90 Fixed bug #32427 (Interfaces are not allowed 'static' access modifier). 2005-04-26 08:48:23 +00:00
Dmitry Stogov
35b38598cc Fixed bug #29944 (Function defined in switch, crashes). 2005-04-25 09:56:42 +00:00
Marcus Boerger
20e67fd175 - Need to copy doc comments correct for properties 2005-04-24 17:32:05 +00:00
Marcus Boerger
67a226d910 - Add ReflectionProperty::getDocComment() 2005-04-19 22:04:59 +00:00
foobar
0e57528666 No c++ comments in C code 2005-04-19 11:41:04 +00:00
Marcus Boerger
0a93d54c53 - Bugfix #28442 2005-03-10 13:20:26 +00:00
Marcus Boerger
757da1eed5 - New Interface Serializeable
- Change signature of unserialize() callback to ease inheritance and
  support code reuse of handlers
2005-03-07 22:23:14 +00:00
foobar
0344652b38 Fixed compile warning (bug #32046) 2005-03-06 16:22:02 +00:00
Stanislav Malyshev
5b98a09219 Custom object serializer infrastructure
# The detailed announce on the list will follow
2005-02-23 11:15:51 +00:00
Dmitry Stogov
57d2c2bb83 Fixed possible memory corruption 2005-02-20 10:19:11 +00:00
Marcus Boerger
a29f5391db - Cleanup foreach handling 2005-02-11 22:26:45 +00:00
Dmitry Stogov
c91218ae8a Fixed bug introduced with foreach() optimization patch 2005-02-07 17:54:58 +00:00
Dmitry Stogov
625e06f454 Fixed FE_RESET/FE_FETCH bug.
Now FE_RESET instruction takes jump-address from itself, not from the following FE_FETCH instruction.
2005-02-07 16:44:00 +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
8838c0f860 - Two new API calls for Derick (retreive CV name and value) by Dmitry 2005-01-22 02:29:18 +00:00
Dmitry Stogov
57a0c3e159 Fixed patch for bug #31478 (SegFault/Memory Leak with empty()) 2005-01-18 12:01:31 +00:00
Moriyoshi Koizumi
357b0c34b6 - Fix bug #31478 (segfault with empty()) 2005-01-11 17:17:48 +00:00
foobar
4cf9d27072 - Fixed bug #28930 (PHP sources pick wrong header files generated by bison) 2004-12-30 15:18:24 +00:00
Dmitry Stogov
7c83c4e418 Fixed bug #30922 (reflective functions crash PHP when interfaces extend themselves) 2004-12-06 11:53:30 +00:00
Andi Gutmans
f2c7379ca7 - One more test (WS) 2004-10-16 23:17:58 +00:00
Andi Gutmans
30ff6d2836 - WS fix to test commit 2004-10-16 23:16:50 +00:00
Anantha Kesari H Y
c3dbe168fb Fix for 30457 2004-10-16 09:28:45 +00:00
Andi Gutmans
3e382a7d06 - Don't allow access modifiers in interfaces. Explicitly stating public
- should also be disallowed but we don't have a way to detect it today.
2004-10-13 01:04:08 +00:00
Marcus Boerger
f71644b480 - Revert automatic pass arg_info
# We need to find a better solutions to prevent havy extension writer probs
2004-10-08 22:17:32 +00:00
Andi Gutmans
f9aef18c86 - Fix BC break with default in switch() having to be at the end. 2004-10-08 18:50:00 +00:00
Marcus Boerger
f916d603ef - Add arginfo ZEND_ARG_SEND_AUTOMATIC which lets the compiler automatically
determine whether pass by ref is possible or pass by value is needed.
# This is usefull when functions take array or string parameters as
# expressions. In such a case force by ref is not applicable and the
# executor would copy the variable unnecessarily as soon as it is at least
# once referenced.
2004-10-05 18:36:46 +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
Marcus Boerger
8e09f92917 - Fix warning 2004-09-27 08:46:12 +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
Andi Gutmans
ab52308356 - This one fixes rather strange problem - ZE allows multiple declarations of the same class constant.
- It could be a minor BC break, but I'm sure it's a bug. (Antony Dovgal aka tony2001)
2004-09-10 06:13:13 +00:00
Andi Gutmans
6bd3c36a53 - Recommit:
- Check signature of magic methods
  - Register __get/__set/__call for internal classes
2004-09-09 16:51:45 +00:00
Andi Gutmans
96ab56e146 - Roll back VM commit 2004-09-09 16:47:22 +00:00
Marcus Boerger
be24e2455c - Check signature of magic methods
- Register __get/__set/__call for internal classes
2004-09-09 09:51:43 +00:00
Sebastian Bergmann
aab4ad1a8e Fugbix typo. 2004-09-02 17:27:44 +00:00
Marcus Boerger
1e708a5aeb Bugfix #29882 isset crashes on arrays 2004-08-29 13:28:03 +00:00
Marcus Boerger
ec4f576cb3 Enforce semantics: Classes cannot extend Interfaces 2004-08-26 22:59:25 +00:00
Marcus Boerger
08c344c293 Drop doubled check 2004-08-26 22:32:38 +00:00
Marcus Boerger
690b45afaa - Bugfix #29828 Interfaces no longer work 2004-08-26 22:25:55 +00:00