diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-03-16 20:55:29 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-03-16 20:55:29 -0700 |
commit | a474f34b548594e56e68845fa9cf63921f380312 (patch) | |
tree | 113ecc6ffe0eaf4f3a067adc7edaf44fe6b7df70 | |
parent | ff821bd81ecb0e2c6ac82174581c30484ce08a38 (diff) | |
download | txr-a474f34b548594e56e68845fa9cf63921f380312.tar.gz txr-a474f34b548594e56e68845fa9cf63921f380312.tar.bz2 txr-a474f34b548594e56e68845fa9cf63921f380312.zip |
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.
-rw-r--r-- | struct.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -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) |