Add a couple of warning logs

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17097 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
CaS 2003-07-04 10:52:56 +00:00
parent a47e4b0870
commit a9a9958dfd
3 changed files with 31 additions and 2 deletions

View file

@ -23,6 +23,7 @@
#include "Foundation/NSException.h"
#include "Foundation/NSCoder.h"
#include "Foundation/NSDistantObject.h"
#include "Foundation/NSDebug.h"
#include "gnustep/base/GSInvocation.h"
#include <config.h>
#include <objc/objc-api.h>
@ -383,7 +384,6 @@ static IMP gs_objc_msg_forward (SEL sel)
if (!sel_type)
{
NSLog(@"Invalid selector %s (no type information)", sel_get_name (sel));
sel_type = "@"; // Default to id return type
}
@ -789,6 +789,20 @@ GSInvocationCallback (void *callback_data, va_alist args)
{
selector = sel_register_typed_name (runtimeName, receiverTypes);
}
if (runtimeTypes != 0)
{
/*
* FIXME ... if we have a typed selector, it probably came
* from the compiler, and the types of the proxied method
* MUST match those that the compiler supplied on the stack
* and the type it expects to retrieve from the stack.
* We should therefore discriminate between signatures where
* type qalifiers and sizes differ, and those where the
* actual types differ.
*/
NSWarnFLog(@"Changed type signature '%s' to '%s' for '%s'",
runtimeTypes, receiverTypes, runtimeName);
}
}
}