forget-all word
parent
5ecc094859
commit
6d3aa439c2
|
@ -0,0 +1,39 @@
|
||||||
|
IN: temporary
|
||||||
|
USING: tools.test generic kernel definitions sequences ;
|
||||||
|
|
||||||
|
TUPLE: combination-1 ;
|
||||||
|
|
||||||
|
M: combination-1 perform-combination 2drop { } [ ] each [ ] ;
|
||||||
|
|
||||||
|
SYMBOL: generic-1
|
||||||
|
|
||||||
|
generic-1 T{ combination-1 } define-generic
|
||||||
|
|
||||||
|
[ ] <method> object \ generic-1 define-method
|
||||||
|
|
||||||
|
[ ] [ { combination-1 { object generic-1 } } forget-all ] unit-test
|
||||||
|
|
||||||
|
GENERIC: some-generic
|
||||||
|
|
||||||
|
USE: arrays
|
||||||
|
|
||||||
|
M: array some-generic ;
|
||||||
|
|
||||||
|
USE: bit-arrays
|
||||||
|
|
||||||
|
M: bit-array some-generic ;
|
||||||
|
|
||||||
|
USE: byte-arrays
|
||||||
|
|
||||||
|
M: byte-array some-generic ;
|
||||||
|
|
||||||
|
TUPLE: some-class ;
|
||||||
|
|
||||||
|
M: some-class some-generic ;
|
||||||
|
|
||||||
|
TUPLE: another-class some-generic ;
|
||||||
|
|
||||||
|
[ ] [
|
||||||
|
{ some-generic some-class { another-class some-generic } }
|
||||||
|
forget-all
|
||||||
|
] unit-test
|
|
@ -13,6 +13,8 @@ GENERIC: forget ( defspec -- )
|
||||||
|
|
||||||
M: object forget drop ;
|
M: object forget drop ;
|
||||||
|
|
||||||
|
: forget-all ( definitions -- ) [ forget ] each ;
|
||||||
|
|
||||||
GENERIC: synopsis* ( defspec -- )
|
GENERIC: synopsis* ( defspec -- )
|
||||||
|
|
||||||
GENERIC: definer ( defspec -- start end )
|
GENERIC: definer ( defspec -- start end )
|
||||||
|
|
|
@ -94,7 +94,7 @@ M: method-spec forget first2 [ delete-at ] with-methods ;
|
||||||
dup associate implementors* ;
|
dup associate implementors* ;
|
||||||
|
|
||||||
: forget-methods ( class -- )
|
: forget-methods ( class -- )
|
||||||
[ implementors ] keep [ swap 2array forget ] curry each ;
|
[ implementors ] keep [ swap 2array ] curry map forget-all ;
|
||||||
|
|
||||||
M: class forget ( class -- )
|
M: class forget ( class -- )
|
||||||
dup forget-methods
|
dup forget-methods
|
||||||
|
|
|
@ -416,7 +416,7 @@ SYMBOL: parse-hook
|
||||||
] keep ;
|
] keep ;
|
||||||
|
|
||||||
: forget-smudged ( -- )
|
: forget-smudged ( -- )
|
||||||
smudged-usage [ forget ] each
|
smudged-usage forget-all
|
||||||
over empty? [ 2dup smudged-usage-warning ] unless 2drop ;
|
over empty? [ 2dup smudged-usage-warning ] unless 2drop ;
|
||||||
|
|
||||||
: record-definitions ( file -- )
|
: record-definitions ( file -- )
|
||||||
|
|
|
@ -159,9 +159,6 @@ GENERIC: see ( defspec -- )
|
||||||
M: word synopsis*
|
M: word synopsis*
|
||||||
dup word-synopsis ;
|
dup word-synopsis ;
|
||||||
|
|
||||||
M: simple-generic synopsis*
|
|
||||||
dup word-synopsis ;
|
|
||||||
|
|
||||||
M: standard-generic synopsis*
|
M: standard-generic synopsis*
|
||||||
dup seeing-word
|
dup seeing-word
|
||||||
\ GENERIC# pprint-word
|
\ GENERIC# pprint-word
|
||||||
|
|
|
@ -71,7 +71,7 @@ M: pathname where pathname-string 1 2array ;
|
||||||
: forget-source ( path -- )
|
: forget-source ( path -- )
|
||||||
dup source-file
|
dup source-file
|
||||||
dup unxref-source
|
dup unxref-source
|
||||||
source-file-definitions [ drop forget ] assoc-each
|
source-file-definitions keys forget-all
|
||||||
source-files get delete-at ;
|
source-files get delete-at ;
|
||||||
|
|
||||||
M: pathname forget pathname-string forget-source ;
|
M: pathname forget pathname-string forget-source ;
|
||||||
|
|
|
@ -6,14 +6,14 @@ slots.private math namespaces sequences strings vectors sbufs
|
||||||
quotations assocs hashtables sorting math.parser words.private
|
quotations assocs hashtables sorting math.parser words.private
|
||||||
vocabs ;
|
vocabs ;
|
||||||
|
|
||||||
GENERIC: execute ( word -- )
|
|
||||||
|
|
||||||
M: word execute (execute) ;
|
|
||||||
|
|
||||||
: word ( -- word ) \ word get-global ;
|
: word ( -- word ) \ word get-global ;
|
||||||
|
|
||||||
: set-word ( word -- ) \ word set-global ;
|
: set-word ( word -- ) \ word set-global ;
|
||||||
|
|
||||||
|
GENERIC: execute ( word -- )
|
||||||
|
|
||||||
|
M: word execute (execute) ;
|
||||||
|
|
||||||
! Used by the compiler
|
! Used by the compiler
|
||||||
SYMBOL: changed-words
|
SYMBOL: changed-words
|
||||||
|
|
||||||
|
@ -201,7 +201,6 @@ M: word (forget-word)
|
||||||
reveal ;
|
reveal ;
|
||||||
|
|
||||||
: forget-word ( word -- )
|
: forget-word ( word -- )
|
||||||
dup f "methods" set-word-prop
|
|
||||||
dup delete-xref
|
dup delete-xref
|
||||||
dup unchanged-word
|
dup unchanged-word
|
||||||
(forget-word) ;
|
(forget-word) ;
|
||||||
|
|
Loading…
Reference in New Issue