Commit Graph

626 Commits

Author SHA1 Message Date
Andi Gutmans
5569ad0626 - Fix tiny bug (one of the reasons we can't support __toString() for
- regular objects).
2004-03-17 16:18:24 +00:00
Andi Gutmans
ccb515afc7 - Fixed problem with __toString(). Due to the engine's architecture it is
- currently not possible to call __toString() anywhere besides print & eval.
- Follow up will be on internals@
2004-03-17 15:48:49 +00:00
Andi Gutmans
0041aff953 - Error out if get_method() isn't defined.
- Use calling scope of internal function callee when calling a method
  using static syntax (array("A", "func"));
2004-03-16 14:39:07 +00:00
Marcus Boerger
09e76476ef Improve error message 2004-03-16 10:14:57 +00:00
Marcus Boerger
50ee116f08 Clearify the different method/class flags (as discussed with Andi). 2004-03-09 16:38:37 +00:00
Andi Gutmans
0fc9d5861d - Nuke unused code. 2004-03-09 15:27:39 +00:00
Marcus Boerger
6b0f57ee50 Rename hasMore() to valid() as discussed. (Part II) 2004-03-08 18:05:41 +00:00
Andi Gutmans
7c9694d26e - Fix leak (Dmitry) 2004-03-02 10:13:43 +00:00
Derick Rethans
ed242f7e9e - Initialize memory to \0 so that we can reliable detect whether a specific
opcode element is in use.
#- Stas thinks it's OK ;-)
2004-02-29 16:00:50 +00:00
Stanislav Malyshev
deba01c64e export opcode table 2004-02-29 15:04:22 +00:00
Marcus Boerger
f449c8fdf7 Fixes for abstract classes/methods 2004-02-27 09:14:55 +00:00
Zeev Suraski
62e921f824 Fix leak in foreach ($o->mthd()->arr) 2004-02-25 17:23:50 +00:00
Zeev Suraski
7086634a0b - Improve ARG_INFO() macros to support supplying required_num_args
- Initial fix for foreach($o->mthd()->arr) crash (now leaks)
2004-02-25 14:56:45 +00:00
Zeev Suraski
eb6fd52e21 - Rename compatiblity mode to zend.ze2_compatibility_mode (it doesn't only affect auto-clone).
- Perform implementation checks even with simple inheritance (off when
  compatibility mode is enabled).
- Restore default arguments in interfaces and handle it correctly.
- Move registration of internal classes later in the startup sequence
  in order to have INI options available.
2004-02-25 10:57:10 +00:00
Andi Gutmans
5cad7a2b4a - Remove old code 2004-02-12 15:23:06 +00:00
Zeev Suraski
00ed3bad29 Centralize exceptions code in zend_exceptions.[ch].
Remove zend_default_classes.h (use zend_exceptions.h instead)

NOTE:  This currently breaks the build, fixes to php-src and pecl coming
       soon
2004-02-12 10:38:14 +00:00
Andi Gutmans
e189d89672 - Use zend_throw_exception_object() in throw_handler to make sure it
- does all the checks
2004-02-12 10:28:33 +00:00
Zeev Suraski
d91fc5fa3c Fix leaks in assignments to overloaded objects 2004-02-11 19:12:16 +00:00
Zeev Suraski
3d4c7922e1 Fix leak with overloaded objects, when they're used just "for the hell
of it" :)
2004-02-11 16:28:46 +00:00
Zeev Suraski
aac72ce090 Fixed a bug the caused overloaded array indices to be converted to strings 2004-02-11 15:56:13 +00:00
Zeev Suraski
30f1be78c2 Turn off bogus warnings with overloaded dimensions and += (and friends) 2004-02-11 15:50:23 +00:00
Zeev Suraski
cc8c9ef2ec Improve the implementation of unset() on array dimensions to be more
consistent with that of regular variables and string offsets
2004-02-11 13:58:29 +00:00
Zeev Suraski
79a58abbbf Fix bug #26698 (exceptions handled properly during argument passing to functions) 2004-02-10 17:01:55 +00:00
Zeev Suraski
57aaad0dec Fix refcounting of ++/+= overloading (fix leak in __get()/__set()
based classes)
2004-02-10 14:52:14 +00:00
Zeev Suraski
de583b2f91 Fix handling in assignment using multidimensional array syntax to string
offset ($s = "FUBAR"; $s[0][0] = 1;)
2004-02-10 11:39:52 +00:00
Zeev Suraski
d082fb03ee Fix exception handling in opcodes spanned across multiple oplines (fixes the crash in __set()) 2004-02-10 10:07:46 +00:00
Zeev Suraski
439396188c - Fix pre/post increment for overloaded objects
- Fix binary-assign-op for overloaded objects

NOTE:  This requires the implementation of the 'get' callback!
2004-02-10 09:29:42 +00:00
Zeev Suraski
473927ece8 Fix write-mode of overloaded objects when using array dimensions 2004-02-08 17:23:20 +00:00
Zeev Suraski
c5d842279c Reinstate early-binding for classes.
Note that this is available for downwards compatibility only - and it doesn't
work if you use new features (namely, interfaces).  Generally, people should
declare their classes before using them, but we just didn't want hell to break
loose (c)
2004-02-04 16:30:15 +00:00
Zeev Suraski
27f54a4c13 - Improve wording 2004-02-04 11:47:54 +00:00
Ilia Alshanetsky
871d8bdb57 More unneeded code removed. 2004-02-03 14:33:32 +00:00
Zeev Suraski
60bb89c505 Abort on parse error in an include file (patch by Ilia) 2004-02-03 14:32:02 +00:00
Zeev Suraski
8013d5fa39 Fix try/catch block logic 2004-02-03 13:42:41 +00:00
Zeev Suraski
9e60cb553f Rewrote exception support. Fixes a few limitations and bugs in the old
implementation, and allows exceptions to 'fire' much earlier than before.

Instructions on how to use the new mechanism will follow on internals@
shortly...

Note - this (most probably) breaks the current implementation of
set_exception_handler()
2004-02-03 12:17:09 +00:00
Ilia Alshanetsky
b4e882d013 Apply the same parse error handling to (include|require)_once as the one for
their non-once counterparts.
2004-01-30 02:22:17 +00:00
Zeev Suraski
ae0e9e62dd Whitespace 2004-01-28 10:24:57 +00:00
Ilia Alshanetsky
0cb89236a3 Fixed bug #26814 (On parse error include included file, terminate
execution script).
2004-01-25 23:54:12 +00:00
Marcus Boerger
6e2cf148a4 Respect proeprty visibility in foreach 2004-01-25 13:32:02 +00:00
Marcus Boerger
3ca44539a1 Switch from ZEND_ACC_DYNAMIC to ZEND_ACC_ALLOW_STATIC and disallow calling
internal non-static methods statically.
# As discussed with Zeev:
# - For BC standard userspace methods allow this with an E_STRICT message.
# - If you want to implement an internal method taht can be called both
#   statically and non-statically then use flag ZEND_ACC_ALLOW_STATIC.
# - Magic user space methods __*() cannot and __construct, __destruct,
# __clone can never be called statically.
2004-01-24 16:59:24 +00:00
Sebastian Bergmann
1e902b696d Change message as proposed by Jon. 2004-01-24 04:59:47 +00:00
Marcus Boerger
6020ffd007 Simplify detection of methods that must be called dynamic (with object) 2004-01-23 22:04:42 +00:00
Marcus Boerger
79e7145cc7 Disallow calling __clone/__construct/__destruct static
Send an E_STRICT when calling a non static method static
2004-01-23 20:58:23 +00:00
Andi Gutmans
21f09643ec - Hopefully fix bug #26696.
- Please let me know if hell-breaks loose
2004-01-19 12:22:02 +00:00
Stanislav Malyshev
e321eba06b Fix Bug #26077 - memory leak when new() result is not assigned
and no constructor defined
2004-01-09 13:52:19 +00:00
foobar
ccfc46b0aa - Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Marcus Boerger
1d2b4bcc48 Reimplement part of Bug #24608 that was reverted too 2004-01-07 00:24:58 +00:00
Marcus Boerger
82f0c9e7aa Revert patch that allowed to call sttaic methods via $method() 2004-01-07 00:02:04 +00:00
Marcus Boerger
18ea05b746 Fixed bug #26802 2004-01-05 22:45:11 +00:00
Stanislav Malyshev
1e11e7401c Bug #24608 - fix interaction between __accessors and get_property_ptr 2004-01-05 11:45:46 +00:00
Derick Rethans
6923a16c26 - Fixed var_export() to show public, protected and private modifiers properly.
- Exported (un)mangle_property_name.
2004-01-03 13:51:02 +00:00