From 2251849ef9a2be3f487b6a4cf7926dae87cc8414 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 16 Mar 2017 20:55:29 -0700 Subject: Fix misleading "no such slot" for static slot lookup. * struct.c (no_such_static_slot): New static function. (static_slot, static_slot_set): Use no_such_static_slot when reporting error. The struct type might have an instance slot of that name. --- struct.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'struct.c') diff --git a/struct.c b/struct.c index af2bdaaf..5ed37cd6 100644 --- a/struct.c +++ b/struct.c @@ -868,6 +868,12 @@ static noreturn void no_such_slot(val ctx, val type, val slot) ctx, type, slot, nao); } +static noreturn void no_such_static_slot(val ctx, val type, val slot) +{ + uw_throwf(error_s, lit("~a: ~s has no static slot named ~s"), + ctx, type, slot, nao); +} + val slot(val strct, val sym) { const val self = lit("slot"); @@ -929,7 +935,7 @@ val static_slot(val stype, val sym) return deref(ptr); } - no_such_slot(self, stype, sym); + no_such_static_slot(self, stype, sym); } val static_slot_set(val stype, val sym, val newval) @@ -946,7 +952,7 @@ val static_slot_set(val stype, val sym, val newval) } } - no_such_slot(self, stype, sym); + no_such_static_slot(self, stype, sym); } val test_dirty(val strct) -- cgit v1.2.3