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
Zeev Suraski
8e30d96ad8
Redesign the clone() feature to fix some fundamental flaws in the previous
...
implementation.
Using clone directly is now done using
$replica = clone $src;
Clone methods must now be declared as follows:
function __clone($that)
{
}
Clone methods in derived classes can call the __clone method of their parent
classes using parent::__clone($that)
2004-02-02 12:28:19 +00:00
343d4314b4
ChangeLog update
2004-02-01 01:32:26 +00:00
Marcus Boerger
46be4c2626
Throw an exception in case a reflection object cannot be found and do not
...
override the exception from constructors in static method calls.
2004-01-31 12:20:20 +00:00
5eb038002e
ChangeLog update
2004-01-31 01:31:58 +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
580c439c6e
ChangeLog update
2004-01-29 01:32:20 +00:00
Zeev Suraski
d45541b4fb
Tweak checks to detect some additional cases.
...
Reorder checks to make more sense.
2004-01-28 22:27:39 +00:00
Zeev Suraski
be7d41b905
- Error message fix
...
- Prevent inheritance of the same constant from two interfaces
2004-01-28 11:53:52 +00:00
Zeev Suraski
a7ff369cac
Fixlets
2004-01-28 10:52:27 +00:00
Zeev Suraski
2adaa11f2f
Prevent classes from implementing interfaces that have the same function
2004-01-28 10:25:45 +00:00
Zeev Suraski
ae0e9e62dd
Whitespace
2004-01-28 10:24:57 +00:00
Zeev Suraski
673e6e23e7
Code relayout
2004-01-28 09:13:41 +00:00
Zeev Suraski
c15d4ddb2b
Forward-port fix for timeouts under Windows
2004-01-28 09:07:02 +00:00
69038b6d18
ChangeLog update
2004-01-27 01:32:27 +00:00
Marcus Boerger
6186617571
- Export struct zend_user_iterator
...
- Ad 'it' to function prefix to prevent naming clashes
- Export zend_user_it_free_current
2004-01-26 22:33:52 +00:00
48a98f78ee
ChangeLog update
2004-01-26 01:33:25 +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
db86475367
Update test
2004-01-25 13:19:16 +00:00
733e2dae08
ChangeLog update
2004-01-25 01:32:26 +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
6b7e6992a2
ChangeLog update
2004-01-24 01:32:18 +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
Marcus Boerger
7c2e02d380
Disallow static declaration of clone
2004-01-23 20:52:39 +00:00
foobar
6a1d0114a7
Silence some compile warnings
2004-01-23 03:28:59 +00:00
ddfe5648fe
ChangeLog update
2004-01-23 01:32:09 +00:00
Marcus Boerger
c4c6d5213a
Fix internal access to exception properties
2004-01-22 19:53:09 +00:00
495860928a
ChangeLog update
2004-01-20 01:32:06 +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
8ee117f877
ChangeLog update
2004-01-19 01:32:11 +00:00
Marcus Boerger
805dfab890
Add zend_get_module_started() to quickly check whether a module is present
...
and its MINIT function has been called.
2004-01-19 00:39:29 +00:00
Marcus Boerger
3df0288490
Improove debug capabilities
2004-01-18 23:47:10 +00:00
Marcus Boerger
0a210d7976
Fix some casing issues
2004-01-18 10:45:36 +00:00
2d5b7f7c27
ChangeLog update
2004-01-18 01:35:28 +00:00
Marcus Boerger
64c7645009
#where has my bracket been gone?
2004-01-17 16:50:54 +00:00
Marcus Boerger
3edabd01bb
Fix inheritance rule for interface Traversable
2004-01-17 16:38:25 +00:00
foobar
f4983c0d3f
- Renamed all *php4* files to *php5*, changed all php4/PHP4 to php5/PHP5
2004-01-17 13:00:38 +00:00
92f9989ad8
ChangeLog update
2004-01-17 01:32:11 +00:00
Ilia Alshanetsky
0a8a950fcf
Expose zend_std_call_user_call(), needed for implementation of things like
...
__call handlers.
2004-01-17 00:39:28 +00:00
foobar
796938ec7f
Nuke compile warning by using the LANG_SCNG macro instead
2004-01-17 00:26:12 +00:00
foobar
b6b3443d0a
- Fixed bug #26640 (__autoload() not invoked by Reflection classes)
...
# Also removed double call of reflection_register_implement() on
# reflection_extension_ptr.
# Fixed also case-insensitive lookup of property names,
# now Reflection_Property('Classname', 'FooBar'); works too.
2004-01-16 21:11:58 +00:00
c1ac285760
ChangeLog update
2004-01-16 01:32:07 +00:00
Zeev Suraski
32007b19d8
Nice patch Christian, but it wasn't at all enabled? :)
...
Fix bug #26883
2004-01-15 16:47:32 +00:00
97a741e578
ChangeLog update
2004-01-15 01:32:13 +00:00
Zeev Suraski
59d168eda7
Don't allow interfaces to implement anything
2004-01-14 14:00:11 +00:00
Andi Gutmans
0458bf10e4
- Remove bogus macros
2004-01-14 08:50:17 +00:00
bc9cbe2715
ChangeLog update
2004-01-14 01:32:09 +00:00
Wez Furlong
d4deb460bd
Don't treat strings containing : as potential constant names in
...
the .ini parser.
This fixes Bug #26893
2004-01-13 17:00:10 +00:00
24f5ca6ab5
ChangeLog update
2004-01-13 01:32:17 +00:00
Andi Gutmans
92eb129bd9
- Return the PHP 4 behavior of not allowing class declerations within
...
- class declerations. This happened when declaring a class within a
- method.
class A {
function foo() {
class B {
}
}
}
2004-01-12 07:15:55 +00:00
ac8b58603b
ChangeLog update
2004-01-12 01:31:59 +00:00
Marcus Boerger
61fc2a9209
Add missing macro
...
# by popular demand, more and more exts need this
2004-01-12 00:19:40 +00:00
Wez Furlong
910e20064a
TSRMLS fix
2004-01-11 21:39:40 +00:00
Andi Gutmans
ac5d5c7f35
- Re-allow conditional class declerations. Needless to say that I also
...
- think it's not great coding.. Use polymorphism instead :)
2004-01-11 19:37:15 +00:00
Andi Gutmans
e69f4f6f25
- This should fix the problem of conditional function decleration on the
...
- same line of code not to work. You should re-evaluate your coding style
- if you really code this way :)
2004-01-11 19:27:13 +00:00
a4872e0c31
ChangeLog update
2004-01-11 01:32:20 +00:00
Zeev Suraski
f5e9ca64b1
Remove conflict
2004-01-10 12:48:04 +00:00
Zeev Suraski
a72c1ab93b
Added error mask to set_error_handler()
...
Patch by Christian Schneider <cschneid@cschneid.com>
2004-01-10 11:43:42 +00:00
b04960746d
ChangeLog update
2004-01-10 01:33:36 +00:00
Wez Furlong
57e2ef89e4
support for building asm in the unix buildsys.
...
Also, when ZEND_ACCONFIG_H_NO_C_PROTOS is defined,
omit the C prototypes from the configuration header
so that it can be included into asm files.
2004-01-09 23:37:29 +00:00
Marcus Boerger
686281d087
this one is declined
2004-01-09 18:55:49 +00:00
Wez Furlong
e3baf1a07d
must be extern to avoid problems with some compilers
2004-01-09 18:09:51 +00:00
Stanislav Malyshev
b9052251e7
fix expect
2004-01-09 14:32:32 +00:00
Stanislav Malyshev
c4b6a637e5
Bug #25816 - disallow arrays in class constants
2004-01-09 14:02:33 +00:00
Stanislav Malyshev
209497cfdf
add test
2004-01-09 13:55: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
47c81de40f
ChangeLog update
2004-01-09 01:32:33 +00:00