update old slot accessors to new accessors

db4
Doug Coleman 2008-08-30 12:42:35 -05:00
parent c231faf6d8
commit 9760f3dc58
3 changed files with 21 additions and 21 deletions

View File

@ -1,13 +1,13 @@
IN: alien.structs IN: alien.structs
USING: alien.c-types strings help.markup help.syntax USING: alien.c-types strings help.markup help.syntax
alien.syntax sequences io arrays slots.deprecated alien.syntax sequences io arrays slots.deprecated
kernel words slots assocs namespaces ; kernel words slots assocs namespaces accessors ;
! Deprecated code ! Deprecated code
: ($spec-reader-values) ( slot-spec class -- element ) : ($spec-reader-values) ( slot-spec class -- element )
dup ?word-name swap 2array dup ?word-name swap 2array
over slot-spec-name over name>>
rot slot-spec-class 2array 2array rot class>> 2array 2array
[ { $instance } swap suffix ] assoc-map ; [ { $instance } swap suffix ] assoc-map ;
: $spec-reader-values ( slot-spec class -- ) : $spec-reader-values ( slot-spec class -- )
@ -16,14 +16,14 @@ kernel words slots assocs namespaces ;
: $spec-reader-description ( slot-spec class -- ) : $spec-reader-description ( slot-spec class -- )
[ [
"Outputs the value stored in the " , "Outputs the value stored in the " ,
{ $snippet } rot slot-spec-name suffix , { $snippet } rot name>> suffix ,
" slot of " , " slot of " ,
{ $instance } swap suffix , { $instance } swap suffix ,
" instance." , " instance." ,
] { } make $description ; ] { } make $description ;
: slot-of-reader ( reader specs -- spec/f ) : slot-of-reader ( reader specs -- spec/f )
[ slot-spec-reader eq? ] with find nip ; [ reader>> eq? ] with find nip ;
: $spec-reader ( reader slot-specs class -- ) : $spec-reader ( reader slot-specs class -- )
>r slot-of-reader r> >r slot-of-reader r>
@ -46,14 +46,14 @@ M: word slot-specs "slots" word-prop ;
: $spec-writer-description ( slot-spec class -- ) : $spec-writer-description ( slot-spec class -- )
[ [
"Stores a new value to the " , "Stores a new value to the " ,
{ $snippet } rot slot-spec-name suffix , { $snippet } rot name>> suffix ,
" slot of " , " slot of " ,
{ $instance } swap suffix , { $instance } swap suffix ,
" instance." , " instance." ,
] { } make $description ; ] { } make $description ;
: slot-of-writer ( writer specs -- spec/f ) : slot-of-writer ( writer specs -- spec/f )
[ slot-spec-writer eq? ] with find nip ; [ writer>> eq? ] with find nip ;
: $spec-writer ( writer slot-specs class -- ) : $spec-writer ( writer slot-specs class -- )
>r slot-of-writer r> >r slot-of-writer r>

View File

@ -11,17 +11,17 @@ IN: alien.structs
: struct-offsets ( specs -- size ) : struct-offsets ( specs -- size )
0 [ 0 [
[ class>> align-offset ] keep [ class>> align-offset ] keep
[ set-slot-spec-offset ] 2keep [ (>>offset) ] 2keep
class>> heap-size + class>> heap-size +
] reduce ; ] reduce ;
: define-struct-slot-word ( spec word quot -- ) : define-struct-slot-word ( spec word quot -- )
rot slot-spec-offset prefix define-inline ; rot offset>> prefix define-inline ;
: define-getter ( type spec -- ) : define-getter ( type spec -- )
[ set-reader-props ] keep [ set-reader-props ] keep
[ ] [ ]
[ slot-spec-reader ] [ reader>> ]
[ [
class>> class>>
[ c-getter ] [ c-type c-type-boxer-quot ] bi append [ c-getter ] [ c-type c-type-boxer-quot ] bi append
@ -31,7 +31,7 @@ IN: alien.structs
: define-setter ( type spec -- ) : define-setter ( type spec -- )
[ set-writer-props ] keep [ set-writer-props ] keep
[ ] [ ]
[ slot-spec-writer ] [ writer>> ]
[ class>> c-setter ] tri [ class>> c-setter ] tri
define-struct-slot-word ; define-struct-slot-word ;

View File

@ -6,15 +6,15 @@ classes slots.private combinators slots ;
IN: slots.deprecated IN: slots.deprecated
: reader-effect ( class spec -- effect ) : reader-effect ( class spec -- effect )
>r ?word-name 1array r> slot-spec-name 1array <effect> ; >r ?word-name 1array r> name>> 1array <effect> ;
PREDICATE: slot-reader < word "reading" word-prop >boolean ; PREDICATE: slot-reader < word "reading" word-prop >boolean ;
: set-reader-props ( class spec -- ) : set-reader-props ( class spec -- )
2dup reader-effect 2dup reader-effect
over slot-spec-reader over reader>>
swap "declared-effect" set-word-prop swap "declared-effect" set-word-prop
slot-spec-reader swap "reading" set-word-prop ; reader>> swap "reading" set-word-prop ;
: define-slot-word ( class word quot -- ) : define-slot-word ( class word quot -- )
[ [
@ -23,9 +23,9 @@ PREDICATE: slot-reader < word "reading" word-prop >boolean ;
] dip define ; ] dip define ;
: define-reader ( class spec -- ) : define-reader ( class spec -- )
dup slot-spec-reader [ dup reader>> [
[ set-reader-props ] 2keep [ set-reader-props ] 2keep
dup slot-spec-reader dup reader>>
swap reader-quot swap reader-quot
define-slot-word define-slot-word
] [ ] [
@ -33,20 +33,20 @@ PREDICATE: slot-reader < word "reading" word-prop >boolean ;
] if ; ] if ;
: writer-effect ( class spec -- effect ) : writer-effect ( class spec -- effect )
slot-spec-name swap ?word-name 2array 0 <effect> ; name>> swap ?word-name 2array 0 <effect> ;
PREDICATE: slot-writer < word "writing" word-prop >boolean ; PREDICATE: slot-writer < word "writing" word-prop >boolean ;
: set-writer-props ( class spec -- ) : set-writer-props ( class spec -- )
2dup writer-effect 2dup writer-effect
over slot-spec-writer over writer>>
swap "declared-effect" set-word-prop swap "declared-effect" set-word-prop
slot-spec-writer swap "writing" set-word-prop ; writer>> swap "writing" set-word-prop ;
: define-writer ( class spec -- ) : define-writer ( class spec -- )
dup slot-spec-writer [ dup writer>> [
[ set-writer-props ] 2keep [ set-writer-props ] 2keep
dup slot-spec-writer dup writer>>
swap writer-quot swap writer-quot
define-slot-word define-slot-word
] [ ] [