mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-22 20:41:20 +00:00
detect type mismatches in method declarations and definitions
This commit is contained in:
parent
2f6fc5d80c
commit
6a0b74ca10
6 changed files with 12 additions and 8 deletions
|
@ -15,7 +15,7 @@
|
|||
|
||||
@implementation GameEntity
|
||||
|
||||
- (BOOL) takeDamage: weapon : inflictor : attacker : damage
|
||||
- (BOOL) takeDamage: weapon :inflictor :attacker : (float)damage
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ integer deathmatch;
|
|||
|
||||
@implementation World
|
||||
|
||||
- spawn: (entity)ent
|
||||
- (void) spawn: (entity)ent
|
||||
{
|
||||
[self initWithEntity: ent];
|
||||
bodyque = [[BodyQueue alloc] init];
|
||||
|
|
|
@ -49,9 +49,10 @@ string (inputline_t il) InputLine_GetText = #0;
|
|||
InputLine_Draw (il);
|
||||
}
|
||||
|
||||
- (void) setText: (string)text
|
||||
- (id) setText: (string)text
|
||||
{
|
||||
InputLine_SetText (il, text);
|
||||
return self;
|
||||
}
|
||||
|
||||
- (string) text
|
||||
|
|
|
@ -33,12 +33,12 @@
|
|||
return [myCopy initWithComponents: x : y];
|
||||
}
|
||||
|
||||
- (id) x
|
||||
- (integer) x
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
- (id) y
|
||||
- (integer) y
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
|
|
@ -33,12 +33,12 @@
|
|||
return [myCopy initWithComponents: width : height];
|
||||
}
|
||||
|
||||
- (id) width
|
||||
- (integer) width
|
||||
{
|
||||
return width;
|
||||
}
|
||||
|
||||
- (id) height
|
||||
- (integer) height
|
||||
{
|
||||
return height;
|
||||
}
|
||||
|
|
|
@ -403,8 +403,11 @@ class_find_method (class_type_t *class_type, method_t *method)
|
|||
class_name = class_type->c.class->name;
|
||||
}
|
||||
for (m = methods->head; m; m = m->next)
|
||||
if (method_compare (method, m))
|
||||
if (method_compare (method, m)) {
|
||||
if (m->type != method->type)
|
||||
error (0, "method type mismatch");
|
||||
return m;
|
||||
}
|
||||
sel = dstring_newstr ();
|
||||
selector_name (sel, (keywordarg_t *)method->selector);
|
||||
warning (0, "%s method %s not in %s%s",
|
||||
|
|
Loading…
Reference in a new issue