[ "Cannot read struct fields with this type" throw ]
] unless* ;
+: c-type-getter-boxer ( name -- quot )
+ [ c-getter ] [ c-type-boxer-quot ] bi append ;
+
: c-setter ( name -- quot )
c-type-setter [
[ "Cannot write struct fields with this type" throw ]
: define-getter ( type spec -- )
[ set-reader-props ] keep
[ reader>> ]
- [
- type>>
- [ c-getter ] [ c-type-boxer-quot ] bi append
- ]
+ [ type>> c-type-getter-boxer ]
[ ] tri
(( c-ptr -- value )) define-struct-slot-word ;
A DEFINES-CLASS direct-${T}-array
<A> DEFINES <${A}>
-NTH [ T dup c-getter array-accessor ]
+NTH [ T dup c-type-getter-boxer array-accessor ]
SET-NTH [ T dup c-setter array-accessor ]
WHERE
byte-array>A DEFINES byte-array>${A}
A{ DEFINES ${A}{
-NTH [ T dup c-getter array-accessor ]
+NTH [ T dup c-type-getter-boxer array-accessor ]
SET-NTH [ T dup c-setter array-accessor ]
WHERE