Fix delegate for slot property change, declarations and inheritance
parent
021fce44ba
commit
54fc3316fa
|
@ -0,0 +1 @@
|
||||||
|
|
|
@ -79,3 +79,15 @@ CONSULT: beta hey value>> 1- ;
|
||||||
[ -1 ] [ 1 <hey> four ] unit-test
|
[ -1 ] [ 1 <hey> four ] unit-test
|
||||||
[ ] [ "IN: delegate.tests FORGET: alpha" eval ] unit-test
|
[ ] [ "IN: delegate.tests FORGET: alpha" eval ] unit-test
|
||||||
[ f ] [ hey \ one method ] unit-test
|
[ f ] [ hey \ one method ] unit-test
|
||||||
|
|
||||||
|
TUPLE: slot-protocol-test-1 a b ;
|
||||||
|
TUPLE: slot-protocol-test-2 < slot-protocol-test-1 { c integer } ;
|
||||||
|
|
||||||
|
TUPLE: slot-protocol-test-3 d ;
|
||||||
|
|
||||||
|
CONSULT: slot-protocol-test-2 slot-protocol-test-3 d>> ;
|
||||||
|
|
||||||
|
[ "a" "b" 5 ] [
|
||||||
|
T{ slot-protocol-test-3 f T{ slot-protocol-test-2 f "a" "b" 5 } }
|
||||||
|
[ a>> ] [ b>> ] [ c>> ] tri
|
||||||
|
] unit-test
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
! Copyright (C) 2007 Daniel Ehrenberg
|
! Copyright (C) 2007, 2008 Daniel Ehrenberg
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors parser generic kernel classes classes.tuple
|
USING: accessors parser generic kernel classes classes.tuple
|
||||||
words slots assocs sequences arrays vectors definitions
|
words slots assocs sequences arrays vectors definitions
|
||||||
|
@ -14,9 +14,11 @@ IN: delegate
|
||||||
GENERIC: group-words ( group -- words )
|
GENERIC: group-words ( group -- words )
|
||||||
|
|
||||||
M: tuple-class group-words
|
M: tuple-class group-words
|
||||||
"slot-names" word-prop [
|
all-slots [
|
||||||
[ reader-word ] [ writer-word ] bi
|
name>>
|
||||||
2array [ 0 2array ] map
|
[ reader-word 0 2array ]
|
||||||
|
[ writer-word 0 2array ] bi
|
||||||
|
2array
|
||||||
] map concat ;
|
] map concat ;
|
||||||
|
|
||||||
! Consultation
|
! Consultation
|
||||||
|
|
Loading…
Reference in New Issue