Marcus Boerger
4e7a782f3a
Add reflection_class::getstaticproerties()
2003-09-04 15:57:25 +00:00
e2c873fa0c
ChangeLog update
2003-09-04 00:32:10 +00:00
Marcus Boerger
be8287e55c
Partly revert and reintroduce hash table entries for the ctor.
...
# Obviously not the brightest idea i had today.
2003-09-03 21:21:18 +00:00
Marcus Boerger
5569d7fae9
Nuke unused variable, too
2003-09-03 20:28:13 +00:00
Marcus Boerger
61b96d1fe2
- Inheritance applies to __clone() too.
...
- No need to add additional functions for the constructor.
The handler uses the pointer as intended and doesn't look the the name.
2003-09-03 20:26:01 +00:00
Marcus Boerger
91ff8d67e7
Cannot turn a static property into a non static one and vice versa
2003-09-03 19:28:46 +00:00
Marcus Boerger
7bbbd5035d
Fix handling of static properties initialized to arrays
2003-09-03 18:01:22 +00:00
Marcus Boerger
1d21d48e8a
Add missing error messages when violating static property inheritance rules.
2003-09-03 16:34:35 +00:00
Marcus Boerger
1b39a5aa2c
Fix static properties.
...
#
# There's only an errormessage missing which i'll wommit as soon as i find out
# how to do it best. But besides that damn message everything works now and all
# inheritance rules apply.
#
2003-09-03 16:13:40 +00:00
Marcus Boerger
1d3d396fea
Allow redeclareing a protected property as public.
...
#
# The only known thing left at this moment is that the protected static members
# of a base class is different then the redeclared public property. I tried
# to remove both new and old static properties in the derived class and copy
# the base property with the new name. But for reasons i have to check later
# that didn't result in the expected behavior. Anyway we would need a warning
# if someone tries to change the value of a static property in a derived class.
#
2003-09-03 10:58:55 +00:00
Zeev Suraski
93f0ee5fda
Revert bogus patch
...
One must *never* use E_CORE_* error levels!
2003-09-03 08:39:43 +00:00
Marcus Boerger
2f6e25da79
Clearly distinguish between Const, Static and Other members.
...
# Const and static props have more in common then static and dynamic/implicit.
2003-09-03 00:38:13 +00:00
3b2a06382b
ChangeLog update
2003-09-03 00:31:52 +00:00
Marcus Boerger
d1b74000ad
Fix error messages
2003-09-02 23:12:37 +00:00
Marcus Boerger
e569b5aee5
Allow redeclaring of protected properties as public (for internal classes).
...
# See http://news.php.net/article.php?group=php.zend-engine.cvs&article=1737
# for the part not fixed (e.g. property redeclaration of userland classes)
2003-09-02 20:49:42 +00:00
Marcus Boerger
560d3ab36a
Use appropriate function for property name unmangling.
...
# Make Andrey happy
2003-09-02 14:46:02 +00:00
Marcus Boerger
7148cb9e73
Make these static as noticed by Andrey
2003-09-02 14:11:53 +00:00
Marcus Boerger
9702c70a35
Synch/Unify error messages related to function/method calls
2003-09-02 14:08:59 +00:00
Marcus Boerger
469b746b4d
Fix error level
2003-09-02 13:28:34 +00:00
Marcus Boerger
0f3374615b
Currently we cannot support static ctor/dtor
2003-09-02 13:26:25 +00:00
Marcus Boerger
bd86aff005
These are implicit properties as denoted by the flag. Dynamic properties only
...
exist in one single object and currently reflection api is not capable of
showing those.
2003-09-02 13:12:47 +00:00
Marcus Boerger
f03801bdd6
Don't loose information if no parameters were shown.
...
# Noticed by Sebatian Bergmann
2003-09-01 21:40:58 +00:00
Marcus Boerger
bca0019d43
Fix initial buffer size
2003-09-01 21:14:09 +00:00
Marcus Boerger
2b19c5435e
Fix class handling of invoke
2003-09-01 21:11:38 +00:00
Marcus Boerger
d7fa986db8
Show {main} and prevent showing empty stack traces
2003-09-01 20:54:48 +00:00
Marcus Boerger
0036ed9064
Clearify this
2003-09-01 20:02:47 +00:00
Marcus Boerger
bef3e13caf
Add missing '}'
2003-09-01 19:47:34 +00:00
Sebastian Bergmann
07ef05adb5
Revert what I think is an accidental commit by Marcus that slipped in at revision 1.23. Declaring getMessage() as final is a PITA, so I hope it will not come to that.
2003-09-01 17:26:57 +00:00
Marcus Boerger
cbd08869f2
Add static reflector::export() and its implementations.
...
#
# This makes the main reflection use a lot easier.
#
2003-09-01 16:13:24 +00:00
Marcus Boerger
a389286b99
Set the params in the struct
2003-09-01 15:09:57 +00:00
Marcus Boerger
c7f1c2f74f
Invalidate exception in this case too
2003-09-01 13:05:50 +00:00
Marcus Boerger
1257b407a6
WS
2003-09-01 13:04:55 +00:00
ff647c501f
ChangeLog update
2003-09-01 00:31:37 +00:00
Marcus Boerger
4506d4ea24
Don't repeat first const count(consts) time
2003-08-31 15:47:48 +00:00
Marcus Boerger
660c14e74a
Beautify output
2003-08-31 15:30:13 +00:00
Marcus Boerger
4af0621036
Add reflection_parameters, patch by Timm Friebe
2003-08-31 15:06:54 +00:00
Marcus Boerger
f9ee319152
Excluded chars < 32 when displaying string parameters that would obliterate output.
2003-08-31 12:40:29 +00:00
Zeev Suraski
f1b80b9210
Attempt at fixing the linkage problem in Win32
2003-08-31 12:38:50 +00:00
Marcus Boerger
fb4a63a07d
Synch error message with other one to fix tests
2003-08-31 11:38:31 +00:00
Marcus Boerger
8376b7eff7
Check whether we may access tat union
2003-08-31 11:21:30 +00:00
Marcus Boerger
d15ad4609d
Revisited: Replace the non portable code by spprintf
2003-08-31 10:52:23 +00:00
Marcus Boerger
ade319ac54
Using zend_spprintf should be faster here
2003-08-31 10:06:13 +00:00
Marcus Boerger
d45fd8a1b1
Make vspprintf available as zend utility function. Use it in exception output.
2003-08-31 09:35:54 +00:00
c9a69abe25
ChangeLog update
2003-08-31 00:31:46 +00:00
Marcus Boerger
00fddc9b83
Actually fetch the parameter
2003-08-30 23:55:04 +00:00
Marcus Boerger
f1c92fa4c5
- Calling abstract methods should be a error for consistency reason.
...
- So in reflection_api we use the reflection_exception again.
2003-08-30 23:51:42 +00:00
Marcus Boerger
80c0cdf7f7
Even though it is ignored this should be correct
2003-08-30 19:01:10 +00:00
Marcus Boerger
655f2dc572
Add frame numer and finally display stack trace in the message.
...
#
# And voila - nice useable and helpfull exceptions in PHP.
# Now we need to tell ppl 'anyway don't use them if possible'.
#
2003-08-30 18:58:40 +00:00
Marcus Boerger
c80eb4573f
Add exception::traceAsString() and exception::toString()
2003-08-30 18:28:24 +00:00
Marcus Boerger
6c69b28790
fci.function_table & fci.function_name are not needed since we use zend_fcall_info_cache
2003-08-30 13:47:27 +00:00
Marcus Boerger
e679504861
Be precise
2003-08-30 13:38:23 +00:00
Marcus Boerger
49a538d054
Actually using fcc would be a good idea
2003-08-30 12:58:35 +00:00
Marcus Boerger
f7f49e4584
- The compiler can't detect all abstract function calls so we need to check.
...
# In this case throwing a dedicated exception is better than the error we
# show when the compiler can detect the abstract call because its run-time.
2003-08-30 11:40:37 +00:00
Marcus Boerger
ad31a021bc
Make those final (see comment)
2003-08-30 11:33:41 +00:00
707accd337
ChangeLog update
2003-08-30 00:31:40 +00:00
Marcus Boerger
047a574e6c
- Add zend_merge_properties() which is designed to serve *_fetch_object().
...
- Explain drawbacks of object_and_properties_init and zend_merge_properties.
#
# I guess we can live with the purity problem of potentially calling __set()
# of an object which wasn't already ctored.
#
2003-08-29 23:27:22 +00:00
Marcus Boerger
50040c8ae9
- Use zend_fcall_info_cache in invoke() to improve speed.
...
# This also fixes the problem with calling static methods.
2003-08-29 21:46:12 +00:00
Zeev Suraski
aaa1cdca31
Fix a problem in implicit public properties and inheritance
2003-08-29 08:51:43 +00:00
Sascha Schumann
dcfb7638bc
improve a number of zend_debug format strings
2003-08-29 07:34:37 +00:00
a92363f694
ChangeLog update
2003-08-29 00:31:41 +00:00
Marcus Boerger
bdd2d4aacf
Need to tell zend_fetch_debug_backtrace() whether to skip top function or not.
...
# And i wondered why the trace wasn't rally accurate.
2003-08-29 00:16:00 +00:00
Marcus Boerger
b3f3ddd1b5
Add public read access to protected
2003-08-28 23:43:56 +00:00
Marcus Boerger
fa70708d15
Add zend_throw_exception_ex() which allows to format exception messages.
...
#
# Since we don't have any portable way of printing into a dynamic buffer i
# used a stack buffer of 1K (just like the error printing) and used a dynamic
# buffer in case the necessary function is available.
#
2003-08-28 22:56:41 +00:00
Marcus Boerger
12376a2270
Classe tables work this way
2003-08-28 22:53:24 +00:00
Marcus Boerger
8d3620aea8
- Split debug_backtrace() into lowlevel c function and php function wrapper
...
- Add trace property to default method based on new zend_fetch_debug_backtrace
# Unforunatley the handler for uncaught exception can't show this backtrace
# simply because there is currently no way to do it. If i can think of a
# solution i'll add it. Until them i am open to any ideas/help.
2003-08-28 20:35:54 +00:00
Sascha Schumann
744c68e447
older gccs don't understand attribute((format)) on function pointers
2003-08-28 17:31:31 +00:00
Sascha Schumann
83bd1f4398
ZEND_GCC_VERSION should always be defined to a number so we can use
...
simple comparisons all the time.
2003-08-28 17:04:16 +00:00
Sascha Schumann
2e36578cfd
Add format attribute to a number of functions
...
Kill a few warnings
2003-08-28 16:41:20 +00:00
Sascha Schumann
169d43e5fa
cleanup & centralize ZEND_GCC_VERSION and ZEND_ATTRIBUTE_MALLOC so that
...
they can be used by downstream applications
2003-08-28 14:53:02 +00:00
Sascha Schumann
f065aba3ba
Enable attribute((malloc)) for GCC 2.96
2003-08-28 11:55:39 +00:00
Sascha Schumann
6d7e56a0c8
GCC 2 does not know about malloc yet.
2003-08-28 06:17:05 +00:00
Sascha Schumann
cf1f6e3c4c
provide attribute((malloc)) where appropiate
2003-08-28 05:50:15 +00:00
8a00475722
ChangeLog update
2003-08-28 00:32:00 +00:00
Marcus Boerger
43836e97c5
Nuke unused variable
...
# I should have taken Timm's patch
2003-08-27 20:48:41 +00:00
Marcus Boerger
7f5196953c
Fix reflection_class::newInstance()
2003-08-27 20:45:34 +00:00
e01eddf01d
ChangeLog update
2003-08-26 00:32:02 +00:00
foobar
28447d62da
- Fixed bug #25240 (spaces before pre-processor directives)
2003-08-25 23:24:29 +00:00
15592ba096
ChangeLog update
2003-08-25 00:32:07 +00:00
Marcus Boerger
f9cebab0cb
Add missing check
2003-08-24 22:45:59 +00:00
Marcus Boerger
9603e44eb6
Fix memory source of string duplication for non internal properties
2003-08-24 18:47:11 +00:00
Marcus Boerger
19ec7a09fc
- Provide appropriate way to destroy internal zval's.
...
- Allow internal zval's of type string and disallow complex types.
- Define the default string for extensions at class level instead of ctor.
2003-08-24 17:32:47 +00:00
Marcus Boerger
cec053f707
Don't identify alias'ed functions
2003-08-24 16:35:58 +00:00
Zeev Suraski
ea36fc4143
Use ""'s if you want empty strings. We want to crash on errors.
2003-08-24 16:27:01 +00:00
Zeev Suraski
a9107e2be1
Use pemalloc()
2003-08-24 16:17:45 +00:00
Marcus Boerger
b84e9db3b8
Allow NULL, too
2003-08-24 16:13:23 +00:00
Zeev Suraski
0ac5bbd780
Never, ever, overwrite the refcount element of a connected zval!
2003-08-24 15:59:19 +00:00
Marcus Boerger
e44d0f526c
Add dedicated reflection_exception
2003-08-24 15:07:54 +00:00
Marcus Boerger
4e5e7502b8
Allow to throw instances of classes derived from exception
2003-08-24 15:07:00 +00:00
Marcus Boerger
d3473d1f58
- Provide a unified way to display uncaught exceptions, which shows
...
file/line/message info if possible.
- Add zend_eval_string_ex() to be able to handle exceptions in eval'd code.
- Use above function to fix memleaks in CLI.
2003-08-24 13:10:03 +00:00
Marcus Boerger
669603f69d
Make invoke() work
2003-08-24 12:07:13 +00:00
Marcus Boerger
96d4ac7a3f
zend_parse_parameters 'O' works the way we need here
2003-08-24 11:34:01 +00:00
Marcus Boerger
418a7f980c
Not needed
2003-08-24 11:28:53 +00:00
Marcus Boerger
d4cf96c524
Make use method macros
2003-08-24 11:25:08 +00:00
Marcus Boerger
eef1b7b1e8
One of PPP is needed, too
2003-08-24 11:24:10 +00:00
Marcus Boerger
bd07968bef
- Add Reflection_Function::isAlias
...
- Use ZEND_ME/ZEND_METHOD
- Fix static entries
2003-08-24 11:11:55 +00:00
Marcus Boerger
1c2512ddea
- Add fn_flag ZEND_ACC_ALIAS
...
- Unify way of function_entry generation by new macro ZEND_FENTRY
2003-08-24 11:09:45 +00:00
Marcus Boerger
3605be8a29
Fix fn_flags handling
2003-08-24 11:07:30 +00:00
Marcus Boerger
38805f2809
Add property read code and use that in default exception class
2003-08-24 00:36:53 +00:00
b8799ff085
ChangeLog update
2003-08-24 00:32:03 +00:00
Marcus Boerger
c3d60fd7ff
Allow zend_throw_exception() to also set the exception code
2003-08-23 19:48:52 +00:00
Marcus Boerger
96fa63d6bf
Exception has 4 protected default properties (message,code,file,line).
...
They are all initialized at c-level constructor correctly.
2003-08-23 19:41:22 +00:00
Marcus Boerger
baaa4c903d
Internal classes can now have default properties.
2003-08-23 19:37:39 +00:00
Marcus Boerger
5e77dc44dc
Show ctor/dtor information and those don't return anything
2003-08-23 15:47:23 +00:00
Marcus Boerger
fbda310a41
- Flag ctor/dtor methods
...
- Use this to prevent memleaks when an exception gets thrown in ctors.
# I added the dtor flags for consistency, atm a compareable check in
# isn't necessary for destruction. But anyway i'll use this for the
# Relection API too.
2003-08-23 15:38:58 +00:00
Marcus Boerger
43334207ab
Make exception code more robust
2003-08-23 14:22:28 +00:00
d696f1267a
ChangeLog update
2003-08-23 00:31:15 +00:00
Ilia Alshanetsky
f94b536bc8
Replace *magic number* with a much nicer define.
2003-08-22 18:50:12 +00:00
Ilia Alshanetsky
c29e30d3af
Set 2147483647 as the module number of user defined constants
...
Fixed a few bugs and cleaned up get_defined_constants().
2003-08-22 02:08:10 +00:00
d963f8fea3
ChangeLog update
2003-08-22 00:31:48 +00:00
Marcus Boerger
0e32aaa8c6
Add function 'zend_throw_exception(char *message, int duplicate TSRMLS_DC);'
...
to provide an easy way to throw exceptions for extension developers.
2003-08-21 23:32:13 +00:00
Marcus Boerger
fda38bf2ff
If ce not given than any object would do
2003-08-21 15:24:33 +00:00
Marcus Boerger
80b3498839
Paramspec 'O' / zend_parse_method_params(): only if given check the class type
2003-08-21 14:39:17 +00:00
a060bc75c7
ChangeLog update
2003-08-21 00:31:53 +00:00
Zeev Suraski
1e70f45112
adhere to silence
2003-08-20 23:27:04 +00:00
Marcus Boerger
56e8757d77
Fix counting number of leaks
2003-08-20 22:15:01 +00:00
90150d8625
ChangeLog update
2003-08-20 00:31:10 +00:00
Wez Furlong
1a40feb965
fix build
2003-08-19 01:15:47 +00:00
81ec251619
ChangeLog update
2003-08-19 00:30:59 +00:00
Wez Furlong
ef498a27b8
linkage for C++
2003-08-18 23:19:27 +00:00
Zeev Suraski
6ab9c1a336
Prevent access to internal engine functionality
2003-08-18 23:11:58 +00:00
Zeev Suraski
49c4866a47
- Improve tracking
...
- Fix several overloading issues
2003-08-18 22:31:11 +00:00
Zeev Suraski
0dba58c373
Improve tracking
2003-08-18 21:17:26 +00:00
Zeev Suraski
76aaeebdf0
Improve tracking
2003-08-18 20:44:12 +00:00
Zeev Suraski
b5786d4220
ws
2003-08-18 20:43:09 +00:00
4863dd5323
ChangeLog update
2003-08-18 00:31:11 +00:00
Marcus Boerger
744dd20520
Fix warnings
2003-08-17 19:14:30 +00:00
Marcus Boerger
717b5afe1d
Fix warnings
2003-08-17 18:56:54 +00:00
Sascha Schumann
602d1b0045
One bit fields need to be unsigned, otherwise there is no storage for
...
the sign bit
"A signed bit field has a length of 1 bit."
2003-08-17 13:49:52 +00:00
Sascha Schumann
c7d9be97ca
explicitly cast size_t to zend_uint to avoid warnings on 64 bit platforms.
2003-08-17 13:45:51 +00:00
Marcus Boerger
6dbc0bdc35
Remove unnecessary if
2003-08-17 12:38:27 +00:00
Marcus Boerger
1e17ebe047
Put the code where it belongs - fixes a warning and confusion
2003-08-17 12:27:33 +00:00
Marcus Boerger
9c68f33b51
Implement a TBD: JMP to the end of foreach
2003-08-17 12:17:34 +00:00
Marcus Boerger
f2d4e4ca48
WS
2003-08-17 12:16:10 +00:00
Marcus Boerger
82050ae8bc
- Show class names in error messages when dealing with methods
...
- Mark class as abstract if it gets an abstract method
2003-08-17 00:57:35 +00:00
eca2582760
ChangeLog update
2003-08-17 00:31:43 +00:00
Marcus Boerger
fe1a086d19
Simplify abstract method declaration
2003-08-16 20:46:22 +00:00
Marcus Boerger
7a12eb8a2d
WS
2003-08-16 20:12:01 +00:00
beb51466d5
ChangeLog update
2003-08-16 00:31:07 +00:00
Sascha Schumann
b29b4441db
Restrict scope of inline functions to compile unit
...
Submitted by: Jason Greene <jason@inetgurus.net>
2003-08-15 21:02:35 +00:00
5eb3bb00db
ChangeLog update
2003-08-14 00:31:18 +00:00
31a0a30d9d
ChangeLog update
2003-08-13 23:27:30 +00:00
ea2632506d
ChangeLog update
2003-08-13 23:27:28 +00:00
808e49fea0
ChangeLog update
2003-08-13 23:24:59 +00:00
4713ec290a
ChangeLog update
2003-08-13 23:20:59 +00:00
Marcus Boerger
ca9c03b504
Add missing entry
2003-08-13 07:17:16 +00:00
Marcus Boerger
e08aedf5ff
- Show classes in case of methods
...
- Using sprintf here was a bad idea
2003-08-13 07:02:44 +00:00
e58a46c2ae
ChangeLog update
2003-08-13 00:30:30 +00:00
Zeev Suraski
d2971e506c
Remove bogus patch - the number of elements is unrelated
2003-08-12 06:21:02 +00:00
dc36db0715
ChangeLog update
2003-08-12 00:30:27 +00:00
Marcus Boerger
f77f977d0e
Bugfix 21918
2003-08-11 20:14:25 +00:00
Masaki Fujimoto
ab9dcec292
- added script encoding support to Zend Engine 2.
...
this enables ZE2 to gracefully parse scripts written in UTF-8 (with BOM),
UTF-16, UTF-32, Shift_JIS, ISO-2022-JP etc... (when configured with
'--enable-zend-multibyte' and '--enable-mbstring')
2003-08-11 05:24:42 +00:00
ad29f2f006
ChangeLog update
2003-08-11 00:30:22 +00:00
Marcus Boerger
2bbf4ad261
Bugfix #24637 __destruct not called
2003-08-10 23:59:35 +00:00
ae4b25fe88
ChangeLog update
2003-08-10 00:30:29 +00:00
Moriyoshi Koizumi
fe489dcb4f
Fix segfault when a referenced parameter is specified with typehint.
...
Result of the node will never be used because verify_instanceof handler has
been eliminated.
2003-08-09 19:29:38 +00:00
Marcus Boerger
d4aa155d25
Precise destructor errors
2003-08-09 14:32:33 +00:00
2d8509fe20
ChangeLog update
2003-08-08 00:30:25 +00:00
Moriyoshi Koizumi
35ffd45c26
Add missing right parensis
2003-08-07 19:36:13 +00:00
Zeev Suraski
5b312b571e
Clarify use of original_function_state_ptr
2003-08-07 07:37:19 +00:00
Marcus Boerger
e9a4c91ca4
- Fix warnings
...
- Fix code
2003-08-07 07:17:34 +00:00
0f94f538ff
ChangeLog update
2003-08-07 00:30:30 +00:00
Zeev Suraski
0a83ebfd56
clarify :)
2003-08-06 07:38:56 +00:00
26b85413ea
ChangeLog update
2003-08-06 00:30:27 +00:00
foobar
cc011660e7
Fix the build
2003-08-05 23:50:59 +00:00
Zeev Suraski
92b4013e8d
Try to put an end to the endless number of call_user_function variants.
...
zend_call_function() now takes a structure that should contain all of the
necessary information. If further information is necessary in the future,
then we'll be able to add it without having to introduce a new function.
As for caching - the 2nd, optional argument is a struct that can hold all
of the information that's necessary to invoke the function, including its
handler, scope and object it operates on (if any). Note that you may only
use a cache if the arguments you provide to zend_call_function() are
identical to the ones of the last call, except for the argument and return
value information.
The recently introduced fast_call_user_function() was removed
I fixed most of the places that used fast_call_user_function() to use caching
but there are still some that need to be fixed (XML and reflection)
2003-08-05 10:24:40 +00:00
Stanislav Malyshev
8547de3f16
fix syntax
2003-08-05 08:03:26 +00:00
Stanislav Malyshev
f572897dea
remove stack clean - it makes trouble
2003-08-05 07:56:49 +00:00
abd7612009
ChangeLog update
2003-08-05 00:30:17 +00:00
Marcus Boerger
de32c1de56
Fix ZTS
2003-08-04 19:57:53 +00:00
Marcus Boerger
65557ef672
Nuke unused variables
2003-08-04 19:56:12 +00:00
Marcus Boerger
3597704c64
Add function/method parameter reflection
2003-08-04 19:37:08 +00:00
Ilia Alshanetsky
1007b0a826
Fixed bug #23104 (hash position of static arrays not being reset)
2003-08-04 17:10:52 +00:00
Stanislav Malyshev
2884e8a715
oops. forgot function
2003-08-04 11:03:38 +00:00
Stanislav Malyshev
7cb1730293
fix crash #24842
2003-08-04 11:02:53 +00:00
Stanislav Malyshev
b6ff804cfe
fix leaks: bug #24831
2003-08-04 10:40:05 +00:00
Stanislav Malyshev
a3dc90d8d0
use get_obj_zval_ptr
2003-08-04 10:30:42 +00:00
Stanislav Malyshev
3586a6a43b
add test
2003-08-04 09:31:58 +00:00
Stanislav Malyshev
4d51526350
Fix #24884 - clone $this
2003-08-04 09:10:52 +00:00
Zeev Suraski
1959133fb3
Simplify code using XOR
2003-08-04 07:53:09 +00:00
Zeev Suraski
fe9b5870af
Add logical XOR, proves to be quite useful lately
2003-08-04 07:52:36 +00:00
Zeev Suraski
6f53e48bb9
This check shouldn't be necessary
2003-08-04 07:52:09 +00:00
f1d8c1c448
ChangeLog update
2003-08-04 00:30:32 +00:00
Marcus Boerger
1f8fd69e78
Fix crash
2003-08-03 22:28:14 +00:00
Marcus Boerger
538aad24e3
Fix test and add missing initialization
2003-08-03 22:03:52 +00:00
Zeev Suraski
ef5a79bfed
Ensure functions have a valid access level
2003-08-03 21:06:23 +00:00
Zeev Suraski
e3f4147931
Default to public
2003-08-03 21:04:39 +00:00
Marcus Boerger
8c614ddda4
Not needed, will be copied from ptr->flags later
2003-08-03 20:49:27 +00:00
Marcus Boerger
bdf84d4e12
Add missing arg info
2003-08-03 19:25:03 +00:00
Moriyoshi Koizumi
fb6300dd6c
Style & WS fixes
2003-08-03 19:20:45 +00:00
Zeev Suraski
f8bbafd604
ntroduce infrastructure for supplying information about arguments,
...
including:
- Whether or not to pass by ref (replaces the old arg_types, with arg_info)
- Argument name (for future use, maybe introspection)
- Class/Interface name (for type hints)
- If a class/interface name is available, whether to allow a null instance
Both user and builtin functions share the same data structures.
To declare a builtin function that expects its first arg to be an instance
of class 'Person', its second argument as a regular arg, and its third by
reference, use:
ZEND_BEGIN_ARG_INFO(my_func_arg_info, 0)
ZEND_ARG_OBJ_INFO(0, someone, Person, 1)
ZEND_ARG_PASS_INFO(0)
ZEND_ARG_PASS_INFO(1)
ZEND_END_ARG_INFO();
and use my_func_arg_info as the arg_info parameter to the ZEND_FE() family
of macros.
The first arg to each ZEND_ARG_*() macro is whether or not to pass by ref.
The boolean arg to ZEND_BEGIN_ARG_INFO() tells the engine whether to treat
the arguments for which there's no explicit information as pass by reference
or not.
The boolean argument to ZEND_ARG_OBJ_INFO() (4th arg) is whether or not to allownull values.
2003-08-03 17:40:44 +00:00
Zeev Suraski
7112d3a3f8
No need for this initialization - this function initializes all of the
...
elements of zend_internal_function
2003-08-03 10:32:40 +00:00
Zeev Suraski
8b4bd4a8ec
Clean up. extended_value can only contain either ZEND_UNSET_DIM or
...
ZEND_UNSET_OBJ.
2003-08-03 08:23:25 +00:00
Zeev Suraski
9d7122fb53
Generalize fetch_class
2003-08-03 08:21:08 +00:00
973b85672b
ChangeLog update
2003-08-03 00:30:27 +00:00
Marcus Boerger
4f1e331c4d
Initialize all struct members: Necessary for reflection
2003-08-02 19:03:14 +00:00
Marcus Boerger
04c90c8738
Show interfaces
2003-08-02 14:22:18 +00:00
Wez Furlong
0b6f7bddf4
fix usage of instanceof here too
2003-08-02 11:43:55 +00:00
Marcus Boerger
4fa6eac1f8
Fix warning
2003-08-02 11:39:15 +00:00
be9986eb8e
ChangeLog update
2003-08-02 00:30:27 +00:00
Wez Furlong
5c4de2664c
better fix...
2003-08-01 17:51:56 +00:00
Wez Furlong
ad12b3da82
Fix "O" format for zend_parse_parameters
2003-08-01 16:48:11 +00:00
6e49dd99c8
ChangeLog update
2003-08-01 00:30:42 +00:00
Zeev Suraski
4f6b315211
Use instanceof_function()
2003-07-31 16:30:15 +00:00
Zeev Suraski
accd6b623b
Finish the array overloading patch
2003-07-31 09:06:11 +00:00
Zeev Suraski
d95a6916de
Cleanup
2003-07-31 08:24:55 +00:00
Andi Gutmans
7055fda013
- Fix logic. It was the wrong way around.
2003-07-31 05:08:59 +00:00
8d75e7082d
ChangeLog update
2003-07-31 00:30:27 +00:00
Andi Gutmans
8264eedc48
- Fix problem with hash when updating same bucket with data of different
...
sizes one after another.
- Fix number of arguments to read_dimension.
2003-07-30 19:47:39 +00:00
Zeev Suraski
68fa4e50f8
Get rid of an opcode
2003-07-30 17:49:27 +00:00
Zeev Suraski
f41f62c2ff
Support overloading of $foo["bar"] += "baz"
2003-07-30 17:40:54 +00:00
Zeev Suraski
c0b46739ca
Improve array overloading - support unset($foo["bar"])
2003-07-30 17:12:06 +00:00
Zeev Suraski
4839ce5952
Remove garbage
2003-07-30 17:02:41 +00:00
Zeev Suraski
2fd4ffce17
Add exec_finished() callback for modules - this is the last place where the
...
modules may touch the symbol table reliably
2003-07-30 16:13:52 +00:00
815be4e5c6
ChangeLog update
2003-07-30 00:30:26 +00:00
Ilia Alshanetsky
7b18132dba
Test case for bug #22836 .
2003-07-29 17:56:50 +00:00
foobar
c50fbaf69a
Remove the obfuscation caused by the double "#ifdef ZTS"
2003-07-29 01:30:59 +00:00
8aef486417
ChangeLog update
2003-07-28 00:30:27 +00:00
Stanislav Malyshev
57b12285de
fix compare
2003-07-27 16:43:05 +00:00
Stanislav Malyshev
7b1bbc85bc
use zend_binary_strncasecmp
2003-07-27 16:39:35 +00:00
Stanislav Malyshev
47fef22bc5
change shutdown order so that dtors would coexist with object error handlers
2003-07-27 15:59:37 +00:00
Stanislav Malyshev
1cc89effdb
clean the right one
2003-07-27 14:02:46 +00:00
Stanislav Malyshev
5bfd386bc3
make shutdown more granular so in case some dtor goes ape we still
...
can shut down cleanly
2003-07-27 13:47:58 +00:00
Stanislav Malyshev
9fa2d52310
make clone and throw coexist peacefully
2003-07-27 13:20:31 +00:00
Stanislav Malyshev
6bea4ca1b0
add test
2003-07-27 12:50:56 +00:00
Stanislav Malyshev
c3c136ea4b
fix #24635 : clean hash before putting into cache
2003-07-27 12:46:14 +00:00
Stanislav Malyshev
399db3c846
fix crash #24550
2003-07-27 12:25:50 +00:00
Stanislav Malyshev
91b4bca976
add test
2003-07-27 12:07:23 +00:00
Stanislav Malyshev
5724c7a66c
fix leaks with class constants (bug #24699 )
2003-07-27 12:03:54 +00:00
Stanislav Malyshev
78f8ca6e55
make __clone call case insensitive, just as other calls are
2003-07-27 11:42:21 +00:00
29df7213cb
ChangeLog update
2003-07-25 00:30:31 +00:00
foobar
e03b0dea7d
cleanup (CS+ws)
2003-07-24 17:07:40 +00:00
Zeev Suraski
0e0936fa59
Fix expectations :)
2003-07-24 17:00:17 +00:00
Zeev Suraski
b54ae17904
Fix logic and comments in ASSIGN_DIM
2003-07-24 16:51:35 +00:00
Zeev Suraski
55097d1dcf
Fix another HANDLE_NUMERIC bug. Looks like you opened Pandora's box, Sterling ;)
2003-07-24 13:14:57 +00:00
Zeev Suraski
2109ab3438
Fix each() binary safety for keys
2003-07-24 13:06:25 +00:00
Zeev Suraski
0610515703
Fix assignments to numeric array indices
2003-07-24 12:56:05 +00:00
Zeev Suraski
7928e763d2
Remove useless code
2003-07-24 12:51:07 +00:00
Zeev Suraski
03b6af07eb
Support references in foreach()
...
Syntax:
foreach ($arr as &$val)
foreach ($arr as $key => &$val)
2003-07-24 12:38:33 +00:00
Zeev Suraski
e25d5e7f7a
Fix binary safety in foreach() keys (fixes bug #24783 )
2003-07-24 08:36:39 +00:00
Zeev Suraski
9b13202723
Make print_r() binary safe with keys
2003-07-24 08:24:07 +00:00
005fc4eddd
ChangeLog update
2003-07-24 00:30:26 +00:00
Stanislav Malyshev
237116aa27
Remove namespace leftovers
2003-07-23 08:58:46 +00:00
Zeev Suraski
e89977f9d9
Go back to ZE1-like code
2003-07-23 08:56:34 +00:00
Sebastian Bergmann
786afb48cb
Fix segfault. Patch by Timm Friebe <thekid@thekid.de>.
2003-07-23 04:02:26 +00:00
a480901c9f
ChangeLog update
2003-07-23 00:30:29 +00:00
Marcus Boerger
6079d4dc1b
Fix for the moment
2003-07-22 20:53:56 +00:00
Zeev Suraski
cf90932a05
Improve infrastructure of numeric handling of elements in symbol tables.
...
When you want to work with a symbol table, and you don't know whether you
have a numeric ("string that looks like a number") or a string element in
your hands, use zend_symtable_*() functions, in place of zend_hash_*()
functions.
2003-07-22 16:06:07 +00:00
Zeev Suraski
6a50660cfe
Fix isset()/empty() for non-trivial object elements
...
(API change - read_property now accepts an extra element)
Fixes bug #24436
2003-07-22 13:49:33 +00:00
3437e2ef41
ChangeLog update
2003-07-22 00:30:54 +00:00
Zeev Suraski
7e72d8e826
Fix bug #24499
2003-07-21 12:13:16 +00:00