Commit Graph

317 Commits

Author SHA1 Message Date
Hannes Magnusson
d5ec319367 MFH: Update protos & arginfo for memory_get_usage() & memory_get_peak_usage() 2006-07-25 16:41:04 +00:00
Dmitry Stogov
356facf4af Changed memory_get_usage() and memory_get_peak_usage(). Optional boolean argument allows get memory size allocated by emalloc() (by default) or real size of memory allocated from system. 2006-07-25 13:40:05 +00:00
Marcus Boerger
5da6415bfe - MFH Correctly handle binary proeprty names which are not mangled 2006-07-24 23:40:57 +00:00
Marcus Boerger
d0f2f6cd04 - MFH zend_unmangle_property_name(), drop zend_unmangle_property_name_ex() 2006-07-24 18:03:45 +00:00
Dmitry Stogov
29ed52ffa4 New memory manager 2006-07-18 09:06:33 +00:00
Dmitry Stogov
83ac79600e Fixed bug #37947 (zend_ptr_stack reallocation problem) 2006-07-10 14:02:40 +00:00
Ilia Alshanetsky
5186ee9c59 Added memory_get_peak_usage() function for retrieving peak memory usage of
a PHP script.
2006-05-30 14:51:20 +00:00
Ilia Alshanetsky
f0cf877a81 Fixed bug #36957 (serialize() does not handle recursion). 2006-04-05 02:28:06 +00:00
Dmitry Stogov
97f463c156 Fixed debug_zval_dump() to support private and protected members 2006-03-10 08:42:56 +00:00
foobar
5bd93221a8 bump year and license version 2006-01-01 12:51:34 +00:00
Derick Rethans
8f4112bfdd - Fixed bug #29361 (var_export() producing invalid code). (Derick) 2005-10-17 14:38:12 +00:00
Antony Dovgal
4b9b5505f0 fix #34505 (possible memory corruption when unmangling properties with empty names)
2nd part
2005-09-16 17:11:02 +00:00
Dmitry Stogov
5682438549 Better fix for exceptions in __sleep() 2005-09-12 07:13:54 +00:00
Wez Furlong
6b0d0f7ceb allow exceptions thrown in __sleep to interrupt the serialization process. refs PECL #5217 2005-09-10 17:47:20 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
Dmitry Stogov
e4b1fb6455 Recursion protection 2005-07-21 07:18:02 +00:00
Stanislav Malyshev
62d4d8b8d2 fix handling of non-PHP classes (John Coggeshall) 2005-06-28 09:46:30 +00:00
Dmitry Stogov
415ec46927 Fixed incorrect usage of zend_mangle_property_name() (valgrind errors) 2005-06-08 15:48:12 +00:00
Dmitry Stogov
9383e1b858 Fixed bug #30791 (magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded) 2005-06-01 11:03:58 +00:00
Stanislav Malyshev
db3fdce304 Custom object serializer infrastructure - PHP implementation
# The detailed announce on the list will follow
2005-02-23 11:17:52 +00:00
Derick Rethans
13c2cbb515 - MF43: Fixed bug #31072 (var_export() does not output an array element with an
empty string key). (Derick)
2004-12-17 14:40:39 +00:00
Marcus Boerger
f0c9f998d3 speling 2004-10-08 19:02:00 +00:00
Marcus Boerger
91af7f394f - Add some checks when unserializing data to prevent buffer overflows 2004-09-05 16:29:05 +00:00
Marcus Boerger
72000ecda9 Fix memleak in serialize 2004-09-02 18:28:47 +00:00
Ilia Alshanetsky
9996b5f731 Fixed leak when serializing protected & private properties. 2004-08-29 17:16:20 +00:00
Andrey Hristov
dd5538566e fix for bug 26737 : private & protected member variables not serialized
when user defined __sleep() is declared. Additionally E_NOTICE is
being thrown if __sleep() returns a non-existing member variable name
2004-08-21 13:49:19 +00:00
Marcus Boerger
c5b9577df8 Fix TSRM build 2004-07-04 11:14:17 +00:00
Moriyoshi Koizumi
a92af73136 - Bugfix #28325 (circular reference serialisation). 2004-07-03 16:10:28 +00:00
Andrey Hristov
19d0283ce8 for now removing ":public". Waiting for a decision? ":public" will require
quite a lot of phpt files changes.
2004-05-20 21:15:42 +00:00
Andrey Hristov
aafb2b1581 var_dump() now shows private and protected member variables.
Not BC is that since now the public variables are explicitly shown as public
Example :

class a{ protected $a=1; private $b=2;var $c=3;} $a=new a(); var_dump($a);

object(a)#1 (3) {
  ["a:protected"]=>
  int(1)
  ["b:private"]=>
  int(2)
  ["c:public"]=>
  int(3)
}
2004-05-20 17:46:20 +00:00
Dmitry Stogov
deb84befae BUG #27469 was fixed (serialize() objects of incomplete class) 2004-03-18 16:54:36 +00:00
Ard Biesheuvel
b303ba089c More wordsize fixes 2004-03-08 23:11:45 +00:00
Ilia Alshanetsky
6112260738 Fixed compiler warnings. 2004-03-08 03:06:56 +00:00
Ard Biesheuvel
81f05c18f5 Wordsize fixes 2004-02-25 20:16:27 +00:00
Stanislav Malyshev
794975d97f ce is not used, don't get it 2004-02-16 11:21:31 +00:00
Stanislav Malyshev
1c433049ca fix serialization 2004-02-05 09:07:46 +00:00
Stanislav Malyshev
3fd027c5ac fix bug #27120 and bug #25975 - preserve is_ref when bound
objects are serialized
2004-02-03 14:12:59 +00:00
Andi Gutmans
dbeb4158d2 - A belated happy holidays and PHP 5 2004-01-08 08:18:22 +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
Derick Rethans
287834a5af - Fix typo 2003-12-28 21:56:15 +00:00
Ilia Alshanetsky
91052eb93b Fixed bug #26458 (var_dump(), var_export(), debug_zval_dump() not binary
safe for array keys).
2003-11-29 04:43:06 +00:00
Wez Furlong
28277f1d00 fix #26001; serialize crashes when accessing an overloaded
object that has no properties (NULL hashtable).
2003-11-28 15:42:58 +00:00
Moriyoshi Koizumi
bb6f3a115e Fixed bug #24394 (serializing cross-referenced objects causes segfault) 2003-11-04 16:08:10 +00:00
Moriyoshi Koizumi
ed40a56c6c Oops.. 2003-10-08 01:51:32 +00:00
Moriyoshi Koizumi
f4595d18af Better fix for bug #25758 2003-10-08 01:49:31 +00:00
Ilia Alshanetsky
6f8b8ade45 Fixed bug #25758 (var_export does not escape ' & \ inside array keys) 2003-10-08 01:16:44 +00:00
Sascha Schumann
6a7dde29e7 kill warnings 2003-08-28 16:28:33 +00:00
Ilia Alshanetsky
ed40ae2650 emalloc -> safe_emalloc 2003-08-11 23:16:54 +00:00
Ilia Alshanetsky
4320c6994f Fixed bug #21957 (serialize() mangles objects with __sleep). 2003-08-11 03:22:24 +00:00
Stanislav Malyshev
d113d32314 Don't try to __sleep incomplete classes 2003-08-05 09:19:38 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Ilia Alshanetsky
b20df54af7 Make serialize precision a configurable option. 2003-05-08 01:23:21 +00:00
Ilia Alshanetsky
7f404846ad s/g/G/ 2003-05-05 22:21:29 +00:00
Ilia Alshanetsky
88bafcb7a5 Safer implementation.
Thanks Marcus.
2003-05-04 19:09:54 +00:00
Ilia Alshanetsky
75c01dd66b Fixed bug #23298 (serialize cuts off floats & doubles) 2003-05-04 18:41:02 +00:00
Derick Rethans
9ab3ad2963 - Commit the .c file too... 2003-04-28 18:52:59 +00:00
Moriyoshi Koizumi
cf620ddfdb Unified all those redundant printf's 2003-04-21 18:00:41 +00:00
Stanislav Malyshev
5a904d6ea8 Update to latest inteface change for get_class_name 2003-04-21 17:03:29 +00:00
Moriyoshi Koizumi
47e40e1b98 Improved var_dump() and debug_zval_dump() so they also show the
namespace of the given object.
2003-03-29 21:29:22 +00:00
Andrei Zmievski
b1546a1775 Print the object handle (it's useful). 2003-03-10 15:13:32 +00:00
Wez Furlong
84f83e8559 Don't assume that objects have class entries (in the ZE1 sense) when
determining the class name.
Additionally, don't assume that objects have a properties hash either.
2003-02-01 03:52:31 +00:00
Sascha Schumann
bea6ff5183 Unbreak $Id tag 2003-01-31 16:24:12 +00:00
Andrey Hristov
309ef518fc Renamed get_memory_usage() to memory_get_usage() (per Andi's advice)
This doesn't break any BC.
2003-01-18 15:03:01 +00:00
Andrey Hristov
7866f02260 added function get_memory_usage(). available only when PHP is compiled
with --enable-memory-limit
2003-01-14 18:26:47 +00:00
Stanislav Malyshev
bcc1e5a74e remove unneeded var 2003-01-12 13:50:17 +00:00
Sebastian Bergmann
b506f5c8f8 Bump year. 2002-12-31 16:08:15 +00:00
Marcus Boerger
49a99a98f4 -php_error -> php_error_docref
-removed some cases where emalloc result was tested
2002-12-05 20:59:49 +00:00
Derick Rethans
e06550f853 - Fix problem with var_export when objects with numeric indexes were
exported. We now skip those, as there is no way to export valid code for
  it.
2002-10-11 13:49:20 +00:00
Zeev Suraski
df55f35798 Revert the implicit_flush mess.
Do not revert it again under any circumstances!

Yasuo/anybody else - if there are issues with implicit_flush, please inform
me and I will fix them.
2002-10-06 12:02:53 +00:00
Yasuo Ohgaki
39b0eb9b22 Fixed broken code by Derick.
ob_implicit_flush() and ob_flush_all() are stopped working.
var_dump() and hightlisht_string() outputs buffer contents wrongly
with ob_implicit_flush().

Everyone should be happy now.
It was only OG(implicit_flush) interpretation issue after all.
2002-10-03 13:32:01 +00:00
Derick Rethans
9b517c4b93 - Revert changed to implicit_flush behavior. The new behavior was not
intended in the first place.
2002-10-03 10:35:33 +00:00
Yasuo Ohgaki
1731767272 Prevent unwanted fluhsing. 2002-10-03 08:54:45 +00:00
Andi Gutmans
1f58a8f087 - No idea why this wasn't crashing before. 2002-06-26 07:36:01 +00:00
Derick Rethans
ba5257a2ec - Fix for bug #16065 2002-06-18 11:09:21 +00:00
Stanislav Malyshev
11df2122df Add comments for the fix 2002-04-29 16:02:41 +00:00
Stanislav Malyshev
91a78e2974 Fix here too 2002-04-29 16:02:10 +00:00
Stanislav Malyshev
aa10ac9a64 Yet another serialization fix - for incomplete class 2002-04-29 15:44:30 +00:00
Stanislav Malyshev
a57381e3bd Fix couple of nasty serializer bugs:
a) When array unserializer encounters less data than it expects (like:
a:1:{}) it crashes. I don't understand exactly why it does, but the fact
is it does. So now it should catch "}" and bail out.
b) When array/object data are serialized, the count is written by hash
count. However, it can be that in-loop check fails and less data than
expected will then be written into the array. Which, due to a), would
crash on unserialize. So now it will write empty entries in place of
entries it cannot serialize (the other choice would be make two passes on
the data, which I don't like).
2002-04-28 16:56:33 +00:00
Sascha Schumann
d30fc27e5a simplify and improve speed of smart_str_print_long.
also add a variant for unsigned numbers.
2002-04-21 01:17:49 +00:00
Thies C. Arntzen
3550d75d0f fix #12793 - serialize will now spit a notice if the return value of __sleep is
bogus.
2002-03-19 11:25:21 +00:00
Wez Furlong
1cc6a8e998 it's late; no more commits from me tonight... 2002-03-15 02:06:08 +00:00
Wez Furlong
0454ad4de8 should have diffed first... 2002-03-15 02:00:55 +00:00
Wez Furlong
ae9db4e440 fix for ZE2 compile 2002-03-15 01:58:00 +00:00
Derick Rethans
7935e73749 - Fix bug #16078 2002-03-14 18:41:35 +00:00
Wez Furlong
93ad205756 fix buglet 2002-03-14 14:05:13 +00:00
Yasuo Ohgaki
dcd86d154e Fixed var_dump() crash when there is recursion.
# Since I said it's easy to fix :)
2002-03-14 09:36:13 +00:00
Yasuo Ohgaki
82a8d372e5 Added ob_get_status() to get array of buffers and it's status.
(DO NOT document this function yet)

Fixed crash bug with ob_end_*() function. ob_end_*() will not delete
buffers that may not be deleted.

php_start_ob_buffer() and php_ob_set_internal_handler() takes parameter for
if the buffer created may be deleted or not.

Added 3rd parameter "bool erase" to ob_start(). If FALSE, buffer may not be
deleted until script finshes.

Changed ob_*() function that have void return type to bool. All ob_*()
functions return TRUE for success, FALSE for failure.

@ - Added ob_get_status() to get array of buffers and it's status. (Yasuo)
@ - Fixed crash bug with ob_end_*() function. ob_end_*() will not delete
@   buffers that may not be deleted. (Yasuo)
@ - Added 3rd parameter "bool erase" to ob_start(). If FALSE, buffer may not be
@   deleted until script finshes. (Yasuo)
@ - Changed ob_*() function that have void return type to bool. All ob_*()
@   functions return TRUE for success, FALSE for failure. (Yasuo)
2002-03-01 03:05:50 +00:00
Derick Rethans
27c4648010 - Make it a boolean 2002-02-28 16:00:26 +00:00
Derick Rethans
b5a0fd24a1 - Fix the fix.. no need to escape " in single quotes 2002-02-24 14:07:10 +00:00
Derick Rethans
a4946ca375 - Add slashes around string output 2002-02-24 13:26:43 +00:00
Jason Greene
150d339231 Renamed zval_debug_dump() to debug_zval_dump() 2002-02-10 17:38:15 +00:00
Jason Greene
91ac18bc66 @Added zval_debug_dump which works similar to var_dump yet displays extra
internal information such as refcounts, and the true type names (Jason)
2002-02-10 06:52:35 +00:00
Derick Rethans
f5f4a5cf37 - TSRMLS here and there, it's all about the Windows flair 2001-12-15 14:55:18 +00:00
Derick Rethans
143df7de6b - Added a second parameter to var_export which makes the function return
the variable representation in a string.
2001-12-15 14:45:59 +00:00
Sebastian Bergmann
38933514e1 Update headers. 2001-12-11 15:32:16 +00:00
Derick Rethans
a7b9d5590b - Remove debug code 2001-12-08 23:46:19 +00:00
Derick Rethans
3cb1db985e - Added var_export, which shows a representation of a variable, much like
var_dump, but in such a way you can use it as PHP code.
@- Added var_export, which shows a representation of a variable, much like
@  var_dump, but in such a way you can use it as PHP code. (Derick)
2001-12-08 23:44:34 +00:00
Thies C. Arntzen
0fd809a770 improve last patch:
non existant object variables are now serialized as NULL, this saves us from
buffering the serialized data.
2001-12-01 15:17:50 +00:00
Thies C. Arntzen
7ff5198c53 serialized data would be incoorect if __sleep() returned a variable-name
which is non-existant in the object.
submitted by: Bernd Roemer <berndr@bonn.edu>
2001-12-01 15:06:37 +00:00
Sascha Schumann
f341f630d3 Rewrite of unserializer which should be more maintainable and extensible.
Changes pass `make test´ and a couple of custom tests.

Enjoy.
2001-11-10 21:18:34 +00:00
Jeroen van Wolffelaar
c033288573 Back-substitute for Z_* macro's. If it breaks some extension (the script isn't optimal, it parses for example var->zval.value incorrect) please let me know. 2001-09-25 21:58:48 +00:00
Derick Rethans
78747bd2df - Don't wrap lines... this is annoying while coding. 2001-09-09 13:29:31 +00:00
Zeev Suraski
e140b35b04 API update 2001-08-21 12:57:53 +00:00
Sterling Hughes
06aa7a4d19 Cleanup of var_dump() with correct macro's, k&r indent, and removal of a
pair of unnecessary { }
2001-08-17 07:50:15 +00:00
Andi Gutmans
4580df1080 - This code looks OK so remove FIXME comment 2001-08-14 17:43:39 +00:00
Zeev Suraski
c0404f4631 Whitespace 2001-08-11 17:03:37 +00:00
Thies C. Arntzen
a35df189b8 we can no longer register internal-classes once the script is started.
therefore the "incomplete class" is now registered at MINIT time.
2001-08-06 13:36:08 +00:00
Sascha Schumann
a19563c8dc more tsrm cleanup 2001-08-05 16:52:29 +00:00
Sascha Schumann
373b3e101e more tsrm cleanup -- output.c is not doing any fetches anymore 2001-08-05 15:55:43 +00:00
Thies C. Arntzen
dca5f8dce4 fix serialize:
- keys no longer have a trailing \0
- no leak on calling __wakeup (also saved 2* malloc & free)
- serializing objects that implement __sleep() works again
- make test works again:-)
2001-08-04 17:29:54 +00:00
Sebastian Bergmann
724b4d409c Eliminate TSRMLS_FETCH() call. 2001-08-04 05:37:11 +00:00
Sebastian Bergmann
ea79632b29 Fix Win32 (and maybe other ZTS) builds. 2001-08-04 05:22:55 +00:00
Sascha Schumann
c947a0739e Clean up the serializer by modularizing some of its code. That also
enables us to serialize hash indices without creating zvals for them.
Due to its nature, this patch also includes some whitespace changes.
2001-08-04 03:30:38 +00:00
Sascha Schumann
723bbcbea0 Do the nul'ifiying of php_var_serialize's result at the right place 2001-08-03 11:00:16 +00:00
Sascha Schumann
3459f05a07 NUL-terminate string 2001-08-03 09:35:33 +00:00
Sascha Schumann
4dfa91543c Convert serializer to smart_str.. avoids lots of sprintf's and
copying of data.
2001-08-03 07:25:27 +00:00
Zeev Suraski
c43806f415 Zend compatibility patch 2001-07-30 08:24:42 +00:00
Zeev Suraski
7b1c400631 More TSRMLS_FETCH annihilation (Zend compatibility patch) 2001-07-30 04:58:07 +00:00
Andi Gutmans
b99a590be3 - More object macros 2001-07-29 08:14:29 +00:00
Zeev Suraski
d87cc976e1 Redesigned thread safety mechanism - nua nua 2001-07-28 11:36:37 +00:00
Zeev Suraski
fe6f8712a4 - Get rid of ELS_*(), and use TSRMLS_*() instead.
- Move to the new ts_allocate_id() API
This patch is *bound* to break some files, as I must have had typos somewhere.
If you use any uncommon extension, please try to build it...
2001-07-27 10:16:41 +00:00
Zeev Suraski
2edcf835ed Update cast 2001-07-15 22:49:25 +00:00
Zeev Suraski
85b4df53c0 Improved interactive mode - it is now available in all builds, without any significant slowdown 2001-07-15 14:08:58 +00:00
Stanislav Malyshev
adc98200d6 More correct pseudo-fix
# This is not really a fix. This thing is still broken. I will think on
# how to really fix it. Any suggestion is *welcome*.
2001-07-11 11:45:05 +00:00
Shane Caraveo
ff4dfc56f2 prevent php from crashing when serializing circular data.
This script produced the crash.
<?
$hash["test_key"] = "test_value";
$hash["hash_key"] = &$hash;
echo serialize($hash);
?>
2001-07-11 05:57:18 +00:00
Thies C. Arntzen
1be0975dff added test for serialize
changed var.c to use Z_* macros
2001-07-09 09:03:06 +00:00
Daniel Beulshausen
4aa6ae493e PHPAPI-ize php_var_* functions
# need this for shm*
2001-07-01 20:18:51 +00:00
Rasmus Lerdorf
81e2cf03ac Fix folding and clean up some extensions 2001-06-06 13:06:12 +00:00
Rasmus Lerdorf
25c3a3a39d vim-6 does folding - clean up a bunch of missing folding tags plus
some misguided RINIT and RSHUTDOWN calls in a few fringe extensions
2001-06-05 13:12:10 +00:00
Stanislav Malyshev
ca8c8264db Fix the reference serializer
# Hope now it is right...
2001-05-29 13:19:24 +00:00
Andi Gutmans
eb6ba01d1c - Fix copyright notices with 2001 2001-02-26 06:11:02 +00:00
Sascha Schumann
dbb3402c0f php_add_var_hash() uses sizeof(id) in the calls to zend_hash_*, implying
that all bytes in the character array have been set (they are used
to compute the hash value using hashpjw).

The function assumes that sprintf's %p modifier would always prefix
the output with "0x".  On HPUX, this is not the case.  Hence, not
all bytes may be properly initialized before being read.

This has been addressed by using only initialized bytes as the key.
2001-01-09 05:49:37 +00:00
Sascha Schumann
3a16dc1cac Fix segfault introduced through recent zend_hash_get_current_key* changes. 2000-12-24 15:50:39 +00:00
Zeev Suraski
aa6d2ac5d0 Heads up people!
Updated the get_current_key() API - the relevant authors, please take
a look at the updated code and make sure it's ok...
2000-12-22 12:57:09 +00:00
Zeev Suraski
be895bcb96 Fix call_user_function() with objects - it could leak under certain circumstances 2000-12-13 22:50:10 +00:00
Stanislav Malyshev
a1c20a04ff Fix serializer bug that prevented serializer from working on any
variable that had non-reference copies of the same zval
2000-12-11 14:29:25 +00:00
Thies C. Arntzen
889b717a4c fix #6348 2000-12-11 12:52:52 +00:00
Stanislav Malyshev
c9e39592b5 Andi says it should be zval_ptr_dtor 2000-11-07 15:06:43 +00:00
Stanislav Malyshev
cde5c779dc And now the right fix - should add it still 2000-11-06 18:19:05 +00:00
Stanislav Malyshev
7f1dc85574 Serialize as reference only if it's a true reference 2000-11-06 18:09:51 +00:00
Stanislav Malyshev
c31faf0bd9 Add support for serializing references.
@- Add support for serializing references (Stas)
# WDDX and shared memory functions not covered yet
2000-10-30 17:10:06 +00:00
Thies C. Arntzen
825457ae64 update my email. 2000-10-29 09:14:55 +00:00
Andrei Zmievski
7b4983c8f8 Mega-patch to get better resource information for modules.
* Fixed a bug in zend_rsrc_list_get_rsrc_type()
  * Switched register_list_destructors() to use
    zend_register_list_destructors_ex() instead
  * Updated all relevant modules to provide the resource type name
    to register_list_destructors() call
  * Updated var_dump() to output resource type name instead of number

@- Made resource type names visible, e.g. var_dump() and
@  get_resource_type() display "file" for file resources. (Andrei)
2000-10-20 18:25:16 +00:00
Sascha Schumann
9f71179ca9 Back out circular references protection patch.
This causes problems with serializing regular variables and object
properties.

We need a smarter way to tell whether we have serialized one node
already.

PR: #7291, #7294
2000-10-18 18:32:32 +00:00
Sascha Schumann
4b89b67d1c Don't try to serialize references.
Circular references would otherwise kill PHP, as the serializer
would overrun the stack.
2000-09-29 18:48:40 +00:00
Thies C. Arntzen
b1d4fcb33c fix var_dump()s "}"-indention 2000-08-29 11:09:20 +00:00
Stanislav Malyshev
740fc2f5de Lowercase class name before looking for it 2000-06-29 14:49:23 +00:00
Sascha Schumann
1702067ac0 API change: Use zval * instead of zval ** 2000-06-23 16:58:30 +00:00
Sascha Schumann
091dc3840d Move the incomplete class stuff into its own file, so that we can
make it easier accessible to WDDX.
2000-06-23 16:46:04 +00:00
Sascha Schumann
2297f670b1 Change the serialization semantics to:
* if a certain object is of class INCOMPLETE_CLASS, the serializer will
    lookup the previously stored original class name of that object, and
    use that class name to serialize the object.

Change the deserialization semantics to:

  * if the class of an object, which is to be instantiated, is not found
    in the current context, the class name will be stored for later
    retrieval, and the class of that object is changed to INCOMPLETE_CLASS.

All function calls, property gets, and property sets operating on an
object of class INCOMPLETE_CLASS cause the execution to halt and to
output an informative error message.
2000-06-23 16:21:31 +00:00