mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
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:
parent
ff444cb0a5
commit
7cc15f9170
2 changed files with 14 additions and 1 deletions
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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]];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue