summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--struct.c6
-rw-r--r--struct.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/struct.c b/struct.c
index 559dbb0e..54631098 100644
--- a/struct.c
+++ b/struct.c
@@ -1085,6 +1085,12 @@ val static_slot_p(val type, val sym)
return nil;
}
+val slots(val stype)
+{
+ struct struct_type *st = stype_handle(&stype, lit("static-slot-p"));
+ return st->slots;
+}
+
val structp(val obj)
{
return tnil(cobjp(obj) && obj->co.ops == &struct_inst_ops);
diff --git a/struct.h b/struct.h
index 2e3d32cb..384c4755 100644
--- a/struct.h
+++ b/struct.h
@@ -47,6 +47,7 @@ val static_slot_set(val stype, val sym, val newval);
val static_slot_ensure(val stype, val sym, val newval, val no_error_p);
val slotp(val type, val sym);
val static_slot_p(val type, val sym);
+val slots(val stype);
val structp(val obj);
val struct_type(val strct);
val method(val strct, val slotsym);