diff options
author | Kresten Krab Thorup <krab@gcc.gnu.org> | 1993-05-05 13:51:43 +0000 |
---|---|---|
committer | Kresten Krab Thorup <krab@gcc.gnu.org> | 1993-05-05 13:51:43 +0000 |
commit | c8266dd238bf96738d2b2cb05b1d271492d61a6b (patch) | |
tree | 0ddbd0e641e0b4a9f86a3a60febf01099f968e83 /gcc | |
parent | 27f581c390ebb6141dffda7cb55c979fa76032a0 (diff) | |
download | gcc-c8266dd238bf96738d2b2cb05b1d271492d61a6b.zip gcc-c8266dd238bf96738d2b2cb05b1d271492d61a6b.tar.gz gcc-c8266dd238bf96738d2b2cb05b1d271492d61a6b.tar.bz2 |
(-shouldNotImplement:): New method
(-shouldNotImplement:): New method
(-free): assign [FREED class] to isa when freeing
From-SVN: r4332
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/objc/Object.m | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/objc/Object.m b/gcc/objc/Object.m index 79bbdd8..e6c90ec 100644 --- a/gcc/objc/Object.m +++ b/gcc/objc/Object.m @@ -27,6 +27,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "objc/Protocol.h" #include "objc/objc-api.h" +@class FREED; + #include "gstdarg.h" extern void (*_objc_error)(id object, const char *format, va_list); @@ -58,6 +60,10 @@ extern int errno; - free { + static Class* freedClass = 0; + if (!freedClass) + freedClass = [FREED class]; + isa = freedClass; return object_dispose(self); } @@ -293,6 +299,11 @@ extern int errno; object_get_class_name(self), sel_get_name(aSel)]; } +- shouldNotImplement +{ + return [self error:"should not implement %s", sel_get_name(aSel)]; +} + - error:(const char *)aString, ... { #define FMT "error: %s (%s)\n%s\n" |