summaryrefslogtreecommitdiffstats
path: root/struct.c
diff options
context:
space:
mode:
Diffstat (limited to 'struct.c')
-rw-r--r--struct.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/struct.c b/struct.c
index 2fc114c1..c1098c3d 100644
--- a/struct.c
+++ b/struct.c
@@ -1176,15 +1176,17 @@ static val call_super_method(val inst, val sym, struct args *args)
static val call_super_fun(val type, val sym, struct args *args)
{
- val suptype = super(type);
+ val self = lit("call-super-fun");
+ struct struct_type *st = stype_handle(&type, self);
+ val suptype = st->super;
if (suptype) {
val fun = static_slot(suptype, sym);
return generic_funcall(fun, args);
}
- uw_throwf(error_s, lit("call-super-fun: ~s has no supertype"),
- type, nao);
+ uw_throwf(error_s, lit("~a: ~s has no supertype"),
+ self, type, nao);
}
val slotp(val type, val sym)