Better error checking

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@3301 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 1998-11-23 11:27:18 +00:00
parent ff444cb0a5
commit 7cc15f9170
2 changed files with 14 additions and 1 deletions

View file

@ -130,6 +130,12 @@ fastIsInstance(id obj)
return CLS_ISCLASS(obj->class_pointer);
}
static INLINE BOOL
fastIsClass(Class c)
{
return CLS_ISCLASS(c);
}
static INLINE Class
fastClass(NSObject* obj)
{

View file

@ -142,6 +142,12 @@ serializeToInfo(id object, _NSSerializerInfo* info)
{
Class c = fastClass(object);
if (fastIsClass(c) == NO)
{
[NSException raise: NSInvalidArgumentException
format: @"Class (%@) in property list - expected instance",
[c description]];
}
if (c == _fastCls._NSGCString || c == _fastCls._NSGMutableCString ||
c == _fastCls._NXConstantString)
{
@ -258,7 +264,8 @@ serializeToInfo(id object, _NSSerializerInfo* info)
else
{
[NSException raise: NSInvalidArgumentException
format: @"Unknown class in property list"];
format: @"Unknown class (%@) in property list",
[c description]];
}
}