Commit Graph

3633 Commits

Author SHA1 Message Date
8aea19c345 ChangeLog update 2004-03-17 01:34:14 +00:00
Derick Rethans
6535933f7c - Replaced the exec_finished hook by the zend_post_deactive hook for
extensions. The new hook will be run after the symbol table and destructors
  are run. (Derick)
2004-03-16 22:27:26 +00:00
Derick Rethans
f59ac64430 - Bump API number so that it actually differs from PHP 4. This is needed
because we don't want PHP 4 and PHP 5 extensions to be in the same directory
  when doing "make install" for shared, or phpize'd extensions.
2004-03-16 21:32:40 +00:00
Marcus Boerger
cbaa43ff12 Fix SEGV in certain conditions while calling static methods 2004-03-16 21:29:22 +00:00
Zeev Suraski
e2a5ebf597 Add ability to disable JIT for a particular auto global 2004-03-16 19:46:04 +00:00
Marcus Boerger
6e8c176a9d TSRM fix 2004-03-16 18:04:25 +00:00
Sascha Schumann
b74128db59 Enable ptr format check for GCC 3.1 and higher 2004-03-16 17:35:57 +00:00
Ilia Alshanetsky
365f0120fe Do not allow 3.0.4 for __attribute__. 2004-03-16 16:42:12 +00:00
Ilia Alshanetsky
fa5f52718a Fixed bug #27600 (GCC 3.0.4 does not like __attribute__ directive) 2004-03-16 16:36:54 +00:00
Andi Gutmans
6a31fb9bb0 - Fix problem when using old-style constructors it wasn't being inherited
correctly.
2004-03-16 15:22:44 +00:00
Derick Rethans
b0dbd2abcc - Spaces to tabs 2004-03-16 14:59:06 +00:00
Andi Gutmans
833b97d4c2 - If the called method is static then don't define $this 2004-03-16 14:49:52 +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
3b2f56275a ChangeLog update 2004-03-16 01:32:56 +00:00
Andi Gutmans
dae7093d93 - Restore E_NOTICE for longs and doubles. 2004-03-15 16:55:20 +00:00
foobar
97f81830b8 - Fixed bug #24582 (extensions can not be loaded dynamically in Solaris/iPlanet) 2004-03-15 16:06:29 +00:00
Andi Gutmans
14d711b9bb - Nuke E_NOTICE. This caused a notice when doing if ($obj == NULL) 2004-03-15 14:15:47 +00:00
7c0a993cc3 ChangeLog update 2004-03-15 01:33:46 +00:00
Marcus Boerger
4efbb35067 Make object parameter optional 2004-03-14 22:40:25 +00:00
Ilia Alshanetsky
4c283fff27 Fixed bug #27590 (crash during shutdown when freeing persistent resources
in ZTS mode).
2004-03-14 20:11:13 +00:00
Andi Gutmans
1aedb9615a - Fix windows build 2004-03-14 18:00:40 +00:00
Andi Gutmans
37d713ea49 - Fix for bug #27504 2004-03-14 17:52:58 +00:00
Andi Gutmans
47cb3323a8 - Fixing bug #27123 2004-03-14 17:16:31 +00:00
Andi Gutmans
f11c819ddb - Improve compatibility mode and compare objects according to property
- comparison (sucky but this is how PHP 4 behaved).
2004-03-14 15:56:03 +00:00
Andi Gutmans
7901a2218c - Fix flow of logic 2004-03-14 15:50:51 +00:00
Andi Gutmans
515e28ed5b - Support old style of converting objects to long/double/bool.
- This is only enabled in compatibility mode, else it calls cast_object()
- and if that is not available we return 1 (true) so that the following
- code would work:
if ($obj) {
}
2004-03-14 15:45:09 +00:00
Marcus Boerger
2917102e3f Fix: Add return type void 2004-03-14 15:27:56 +00:00
Andi Gutmans
88de69b97c - Support Cast operator in convert_to_* so that we support internal
- extensions such as SimpleXML. This is for Sterling.
2004-03-14 13:52:36 +00:00
Andi Gutmans
4f897b2f3c - Fix memory leak in the following code (Dmitry):
<?php
$a = array();
$a .= "x";
?>
2004-03-14 13:14:48 +00:00
Andi Gutmans
52cd980702 - Initial commit which allows comparing overloaded objects with native
- types (only for internal classes and not for user-land classes).
2004-03-14 12:44:28 +00:00
3b9cbffeec ChangeLog update 2004-03-12 01:34:03 +00:00
Andi Gutmans
a87cc63aaa - Real fix for bug #27535 (Dmitry) 2004-03-11 13:40:19 +00:00
Andi Gutmans
aa472500e1 - Attempt to fix bug #27535 2004-03-11 13:27:18 +00:00
25adeaf77c ChangeLog update 2004-03-10 01:32:01 +00:00
Marcus Boerger
6a8a25567f Rename hasMore() to valid() as discussed. (Part VI) 2004-03-09 16:53:12 +00:00
Marcus Boerger
50ee116f08 Clearify the different method/class flags (as discussed with Andi). 2004-03-09 16:38:37 +00:00
Marcus Boerger
494d8207fe No longer needed 2004-03-09 15:53:42 +00:00
Andi Gutmans
f30b51f5b9 - Fix crash:
<?php
class ResourceFormat
{
     const IMG           = 1;
}

class Image
{
     const RESOURCE_FORMAT   = ResourceFormat::IMG;
}

print_r(constant('Image::RESOURCE_FORMAT'));
?>
2004-03-09 15:37:18 +00:00
Andi Gutmans
0fc9d5861d - Nuke unused code. 2004-03-09 15:27:39 +00:00
7f74901434 ChangeLog update 2004-03-09 01:34:32 +00:00
Marcus Boerger
6b0f57ee50 Rename hasMore() to valid() as discussed. (Part II) 2004-03-08 18:05:41 +00:00
Marcus Boerger
b6b7c9eb65 Rename hasMore() to valid() as discussed. (Part I) 2004-03-08 17:33:31 +00:00
Marcus Boerger
c3b06ea21e Check count. 2004-03-08 16:52:59 +00:00
Marcus Boerger
5208baee49 Add another missing conversion 2004-03-08 00:19:43 +00:00
e37f4db03d ChangeLog update 2004-03-06 01:32:09 +00:00
Andi Gutmans
2af86692ea - Fix some small problems I introduce in last patch. 2004-03-05 17:18:34 +00:00
Andi Gutmans
74775aa41a - Finally fix the following:
$xml_mem = simplexml_load_string('<bookbody><part><chapter><page>1</page></chapter></part></bookbody>');
/* The following works fine */
foreach ($xml_mem->part as $part) {
  foreach($part->chapter->page as $page) {
 print $page;
  }
}
/* The following segfaults */
foreach ($xml_mem->part as $part) {
  foreach($part->chapter as $chapter) { // Difference here from previous example
 print $chapter;
  }
}
2004-03-05 13:04:21 +00:00
c851067bf9 ChangeLog update 2004-03-05 01:31:59 +00:00
Moriyoshi Koizumi
c0aabb79b2 - Fix memleak when scanner is called from within tokenizer extension.
# (only happens with zend multibyte feature enabled)
2004-03-04 22:50:55 +00:00
Stanislav Malyshev
97e7ce733a fix the fix 2004-03-04 13:11:03 +00:00
Stanislav Malyshev
99edaa3a4f oops, fix cut&paste gone bad 2004-03-04 13:09:03 +00:00
Stanislav Malyshev
f9c65203d2 Fix object true value: if we are in compat mode and it's Zend object -
use PHP4 rules. Otherwise, object is always true.
2004-03-04 13:06:02 +00:00
Derick Rethans
39ac9579f7 - Fixed a 64bit issue (for zend_builtin_functions.c, module_number is an int).
- Change the MAX_LENGTH_OF_LONG constant to 20, as LONG_MAX is 20 characters.
  (Patches by Ard Biesheuven)
2004-03-04 11:02:05 +00:00
Derick Rethans
f88b286888 - Added instance_of test (patch by Ard Biesheuvel) 2004-03-04 10:58:49 +00:00
Stanislav Malyshev
78a36b50a1 Disallow redefining ctors and cleanup 2004-03-04 10:02:59 +00:00
Stanislav Malyshev
9731d9f303 Handle out of memory/bad size situation gracefully, without getting into loop 2004-03-04 09:18:05 +00:00
62670bd1af ChangeLog update 2004-03-04 01:36:39 +00:00
Andi Gutmans
1c180ba3e8 - Fix crash:
<?
class foo {
        function __destruct() {
                foreach ($this->x as $x);
        }
}
new foo();
echo 'OK';
?>
2004-03-03 09:58:58 +00:00
ef39d84bbb ChangeLog update 2004-03-03 01:33:18 +00:00
Marcus Boerger
8d45fece42 Fix zend_parse_method_parameters_ex() and make it consistant with
zend_parse_method_parameters().
# Obviously its only place of use is in pdo just right now.
2004-03-02 16:17:58 +00:00
Andi Gutmans
41b7211539 - Fix leaks (although there might be still a problem here). 2004-03-02 11:03:48 +00:00
Andi Gutmans
7c9694d26e - Fix leak (Dmitry) 2004-03-02 10:13:43 +00:00
Andi Gutmans
576e16b03f - Fix crash in:
<?php
  class Foo {
    public $attributes=  array();

    function export() {
      foreach ($this->attributes as $name => $attr) {
      }
    }
  }

  $f= new Foo();
  $f->export();
?>
2004-03-02 08:28:12 +00:00
Andi Gutmans
3333380bf0 - Improve fix for protecting destructor's from exceptions.
- I was killing the current exception completely which was wrong.
2004-03-02 08:13:15 +00:00
ee768a2fe6 ChangeLog update 2004-03-02 01:31:41 +00:00
Andi Gutmans
8912a50bf4 - Fix crash in destructors(). You can't throw an exception in destructors
as there is no guaranteed time when the destructor will be called.
2004-03-01 19:45:07 +00:00
Andi Gutmans
161ed69721 - Fix leak 2004-03-01 17:43:57 +00:00
Andi Gutmans
0f1382e126 - Fix crash in reflection API (pierre) 2004-03-01 15:19:38 +00:00
Andi Gutmans
7c72f6ff61 - Fix crash in exception handling (zend_exception_error(...) and
zend_eval_string_ex() were buggy (Dmitry, Andi)
2004-03-01 13:29:45 +00:00
Derick Rethans
afc35efcf6 - Typo fix (by Jan) 2004-03-01 12:25:03 +00:00
Derick Rethans
a84efbe923 - Fixed bug #27443 (defined() returns wrong type). 2004-03-01 08:07:25 +00:00
9cf988c201 ChangeLog update 2004-03-01 01:32:12 +00:00
Andi Gutmans
37ddf8e922 - Apply fixes by Timm. 2004-02-29 18:31:29 +00:00
Andi Gutmans
63e263f32a - Change prototype isA check not to check the constructor.
- Only give an E_STRICT for non-isA compliant code as opposed to
  E_COMPILE_ERROR.
2004-02-29 18:25:50 +00:00
Stanislav Malyshev
edb21137de add ZEND_API there too for opcode handlers 2004-02-29 16:01:21 +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
dc03dbc699 ChangeLog update 2004-02-28 01:32:09 +00:00
Marcus Boerger
7fdd68af8b Add some comments 2004-02-27 18:20:53 +00:00
Marcus Boerger
f449c8fdf7 Fixes for abstract classes/methods 2004-02-27 09:14:55 +00:00
44f0fce255 ChangeLog update 2004-02-27 01:32:32 +00:00
Marcus Boerger
059c533b4a Fix __METHOD__ (noticed by Davey Sahfik) 2004-02-26 19:59:49 +00:00
1085c6c7f1 ChangeLog update 2004-02-26 01:32:27 +00:00
Marcus Boerger
3e1f3b2124 Fix problem with Reflection_Property (patch from Timm slightly modified). 2004-02-26 01:06:18 +00:00
Marcus Boerger
ccef2cfb67 As Andi found out the dtor may increase the refcount. 2004-02-25 21:39:59 +00:00
foobar
b87a245207 ws + cs 2004-02-25 21:06:59 +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
Derick Rethans
9be67e5a42 - Use <span> instead of <font> in highlight_string(). (Patch by mg@iceni.pl) 2004-02-25 14:14:47 +00:00
foobar
c0885c93fe Improve error messages 2004-02-25 13:11:00 +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
Derick Rethans
ca64573e1b - Fixed bug #27391 (typo in Fatal Error message). 2004-02-25 10:43:36 +00:00
Zeev Suraski
36a751840d - Abstract methods cannot have defaults for arguments
- Make function foo($a, $b=null) satisfy both foo($a) and foo($a, $b)
  prototypes
2004-02-25 09:25:37 +00:00
Sebastian Bergmann
0cfb59fce4 Proto fixes. 2004-02-25 08:58:56 +00:00
Marcus Boerger
b0529e5485 Fix object destruction/free in shutdown
- set destructor_called even when no dtor is given
- use free_storage even when no dtor hat to be called
2004-02-25 08:16:54 +00:00
Marcus Boerger
98f725b0e0 Checking once for dtor is enough 2004-02-25 07:47:56 +00:00
da0c739eac ChangeLog update 2004-02-25 01:32:26 +00:00
Marcus Boerger
ce8f77f7b1 Fix class flags when handling abstract methods 2004-02-24 23:39:12 +00:00
409c06738f ChangeLog update 2004-02-24 01:32:27 +00:00
Andi Gutmans
4f05437e08 - Improve precendence:
<?php

$obj->foo = "Blah";

if (!$obj instanceof StdClass) {
    print "No";
} else {
    print "Yes";
}
2004-02-23 18:17:16 +00:00
Andi Gutmans
4a14e5c30d - Decrease precedence of instanceof so that the following is true:
php -r 'var_export((object)1 instanceof stdClass);';
Patch by Jan Lehnardt
2004-02-23 08:40:39 +00:00
0d28e63189 ChangeLog update 2004-02-23 01:32:39 +00:00
Derick Rethans
e2c9926923 - Fixed bug #27354 (Modulus operator crashes PHP). 2004-02-22 20:02:26 +00:00
Marcus Boerger
1fbe07c9e0 Add some more obviously needed information 2004-02-22 18:50:47 +00:00
60812423da ChangeLog update 2004-02-21 01:32:48 +00:00
Hartmut Holzgraefe
1727c6a2bb more EXTERN_C wrapping of ZEND_API prototypes 2004-02-20 08:03:27 +00:00
foobar
acf7a5e262 ws fix 2004-02-20 06:59:37 +00:00
b21569dead ChangeLog update 2004-02-19 01:32:24 +00:00
Hartmut Holzgraefe
3a3f95a399 wrap ZEND_API prototypes into BEGIN_EXTERN_C/END_EXTERN_C
for C++ extension support
2004-02-18 22:44:40 +00:00
Zeev Suraski
666b44c11e Forward-port fixlet from PHP 4 (thanks to Michael Sisolak) 2004-02-18 08:53:56 +00:00
7cb2086ea1 ChangeLog update 2004-02-18 01:32:10 +00:00
foobar
2b8611ae3b MFB: - Fix bug #26753 (zend_fetch_list_dtor_id() does not check NULL strings) 2004-02-17 22:04:05 +00:00
9551966c85 ChangeLog update 2004-02-17 01:32:28 +00:00
Derick Rethans
5dcf37b618 - Clearify clone behavior, fixed clone example (Patch by Jan Lehnardt) 2004-02-16 12:08:20 +00:00
Marcus Boerger
b0ef896f0e Bugfix #27227 Mixed case class names causes Fatal Error in Constructor call 2004-02-16 00:34:23 +00:00
36315ded6b ChangeLog update 2004-02-15 01:33:34 +00:00
Marcus Boerger
ce984d7667 dtor's may not be called from free_storage handlers 2004-02-14 13:33:36 +00:00
7e7630aeb0 ChangeLog update 2004-02-13 01:32:15 +00:00
Andi Gutmans
5cad7a2b4a - Remove old code 2004-02-12 15:23:06 +00:00
Hartmut Holzgraefe
92f355d733 making sure that the provided examples actualy work (or at least do not
generate no parse errors) unless they are really expected to fail
2004-02-12 14:44:58 +00:00
Andi Gutmans
62b81df9b0 - This was too strict. 2004-02-12 14:31:13 +00:00
Zeev Suraski
e7e0f7d4b4 - Check return-by-reference bit when implementing interface prototypes
- Add infrastructure for built-in functions to hint whether they
  return by reference or not.  It is NOT currently used for anything,
  except for interface prototypes (you can use it to request that the
  function that implements your prototype returns by reference or
  doesn't return by reference).
  For downwards compatibility - by default, interface prototypes are
  agnostic as to whether the function that implements them returns
  by reference or not.  Use ZEND_BEGIN_ARG_INFO_EX() with
  ZEND_RETURN_VALUE/ZEND_RETURN_REFERENCE to change that.
- Fix ArrayAccess::getOffset() to conduct additional checks.
  If your getOffset() should work with multidimensional arrays - it
  must return by reference.
2004-02-12 13:49:55 +00:00
Andi Gutmans
7d3215d333 - Add comments to read/write property/dimension for extension authors 2004-02-12 12:22:45 +00:00
Zeev Suraski
30171a7590 zend_default_classes.h -> zend_exceptions.h 2004-02-12 10:43:27 +00:00
Andi Gutmans
61a049ba3b - Add zend_exceptions.c 2004-02-12 10:39:12 +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
d9630a595b Exceptions updates:
- Enforce exceptions to be derived from class Exception.  This allows
  users to perform catch-all.  It's not yet complete, so don't get
  comfortable with it just yet :)  Updates are coming soon.
- Implement zend_throw_exception() using zend_throw_exception_ex()
2004-02-12 10:24:40 +00:00
Andi Gutmans
559b14611d - Add API function to throw exception by using an object 2004-02-12 09:50:08 +00:00
35e8577db4 ChangeLog update 2004-02-12 01:36:26 +00:00
Marcus Boerger
2a8426a664 Must be initialized in ZTS mode 2004-02-11 22:58:03 +00:00
Marcus Boerger
39894ea7c1 Update 2004-02-11 22:42:53 +00:00
Marcus Boerger
4256448a5f Update 2004-02-11 22:38:05 +00:00
Marcus Boerger
c6cbafa273 Fix: <interface> [extends <interface> [, <ineterface>]* ] 2004-02-11 22:13:39 +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
75390796be Fix bug #25038 2004-02-11 13:01:39 +00:00
Zeev Suraski
fde9bac476 Fix crash (patch by Rob Richards) 2004-02-11 12:35:24 +00:00
Zeev Suraski
6b6fe2f76e Fix exceptions thrown without a stack frame
Always enable set_exception_handler()
2004-02-11 12:31:18 +00:00
Zeev Suraski
3d622f99c1 Change FETCH_RESOURCE to return false on error instead of null, for
consistency with other error situations
2004-02-11 11:52:33 +00:00
Zeev Suraski
c01c44c2e2 Fix bug #26802 (the right aspects of it found by Marcus, anyway :) 2004-02-11 10:51:05 +00:00
Zeev Suraski
0f3106ad17 Fix and clarify the test case 2004-02-11 10:48:20 +00:00
Zeev Suraski
73a6bcf5cf Complete the fix for handling of exceptions happening during the
argument passing phase of function calls (fixes bug #26866)
2004-02-11 09:42:58 +00:00
Zeev Suraski
4b632eba46 whitespace 2004-02-11 09:42:10 +00:00
8d102800b3 ChangeLog update 2004-02-11 01:32:14 +00:00
Zeev Suraski
816d15252b Ignore the memleak in this test 2004-02-10 22:13:07 +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
b6e14b44b4 Fix bug #27186 2004-02-10 16:08:01 +00:00
Zeev Suraski
da36a7c249 Fix bug #26869 2004-02-10 15:30:32 +00:00
Zeev Suraski
57aaad0dec Fix refcounting of ++/+= overloading (fix leak in __get()/__set()
based classes)
2004-02-10 14:52:14 +00:00
Andi Gutmans
91ee6c0ceb - Nuke more unused code 2004-02-10 11:44:17 +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
Andi Gutmans
70c418d064 - We will go with PHP 4 behavior. With the new object model assigning by
reference has lost a lot of its importance.
2004-02-10 11:20:52 +00:00
Andi Gutmans
041b5dc2f7 - Remove junk 2004-02-10 10:44:09 +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
Moriyoshi Koizumi
e88babe8ac - Correcting test.
# still segfaults though.
2004-02-10 09:15:01 +00:00
9d21d82024 ChangeLog update 2004-02-09 01:32:12 +00:00
Zeev Suraski
473927ece8 Fix write-mode of overloaded objects when using array dimensions 2004-02-08 17:23:20 +00:00
Andi Gutmans
8a129bfc47 - Check if free_storage exists 2004-02-08 17:08:11 +00:00
f6b9419d2c ChangeLog update 2004-02-06 01:32:19 +00:00
Sebastian Bergmann
0e3ce62c7b Committing for Jan. 2004-02-05 10:41:55 +00:00
Ilia Alshanetsky
157a4e289a Fixed bug #27145 (Unmangle private/protected property names before printing
then inside error messages).
2004-02-05 02:16:08 +00:00
e92f95346b ChangeLog update 2004-02-05 01:32:18 +00:00
Zeev Suraski
e28ab687d2 Fix exceptions happening inside internal functions called through
zend_user_function()
2004-02-04 23:48:39 +00:00
Zeev Suraski
14ac17fa95 Remove double initialization 2004-02-04 23:28:40 +00:00
Marcus Boerger
7fa5cdcb72 Add new prototype 2004-02-04 22:22:30 +00:00
Marcus Boerger
63c964c40f Fix reflection 2004-02-04 22:19:00 +00:00
Marcus Boerger
dd58eb3f6d Fix warnings 2004-02-04 21:04:12 +00:00
Zeev Suraski
d3c9467432 Fixlet 2004-02-04 18:24:44 +00:00
Zeev Suraski
bab3acc37b Fix handling of $this in some cases 2004-02-04 17:57:48 +00:00
Zeev Suraski
52b5f3fea1 Handle additional cases 2004-02-04 17:10:44 +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
723641590a Optimize 2004-02-04 15:51:07 +00:00
Zeev Suraski
3df50001e1 - Improve $this assignment detection and generalize some code in zend_compile.c 2004-02-04 14:25:25 +00:00
Zeev Suraski
e1fc3963ee -Error out when trying to re-assign $this 2004-02-04 13:56:41 +00:00
Zeev Suraski
5c3e03a2ff The valid bit was necessary after all - restored 2004-02-04 12:30:48 +00:00
Zeev Suraski
6584dca194 Fixlets 2004-02-04 12:17:57 +00:00
Zeev Suraski
3ac58bffcf - Small fixes 2004-02-04 11:56:07 +00:00
Zeev Suraski
27f54a4c13 - Improve wording 2004-02-04 11:47:54 +00:00
Zeev Suraski
f5f7d569a0 Change destructor implementation (details will follow on internals@) 2004-02-04 09:56:20 +00:00
c4ec00a46d ChangeLog update 2004-02-04 01:32:17 +00:00
Marcus Boerger
dfad2955ee Update tests 2004-02-03 22:07:29 +00:00
Marcus Boerger
363c587871 Nuke unused variable 2004-02-03 21:15:08 +00:00
Marcus Boerger
60a4a48e4e Fix Warning 2004-02-03 21:13:04 +00:00
Sebastian Bergmann
e2e5c69f47 clone/__clone() related changes. 2004-02-03 16:56:37 +00:00
Zeev Suraski
e4db2fb890 Remove unused variable 2004-02-03 15:51:09 +00:00
Zeev Suraski
3be75ceda2 Remove more garbage - valid bit was not really necessary 2004-02-03 15:49:15 +00:00
Zeev Suraski
c5a7b668cd - Clean garbage (delete was nuked a long time ago) 2004-02-03 15:37:37 +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
e1bf9cc4c2 Remove redundant code 2004-02-03 14:31:07 +00:00
Zeev Suraski
8013d5fa39 Fix try/catch block logic 2004-02-03 13:42:41 +00:00
Zeev Suraski
848d4aed8a Perform a bitwise copy of the object even when __clone() is defined.
__clone() is back to not requiring any arguments, as $that is no longer
needed ($this already contains a copy of the original object, by the time
we __clone() is executed).
Calling the parent clone is done using parent::__clone()
2004-02-03 12:36:13 +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
538d5199ea ChangeLog update 2004-02-03 01:32:21 +00:00