forget-all word

release
Slava Pestov 2007-10-09 17:35:09 -04:00
parent 5ecc094859
commit 6d3aa439c2
7 changed files with 48 additions and 11 deletions

View File

@ -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

View File

@ -13,6 +13,8 @@ GENERIC: forget ( defspec -- )
M: object forget drop ;
: forget-all ( definitions -- ) [ forget ] each ;
GENERIC: synopsis* ( defspec -- )
GENERIC: definer ( defspec -- start end )

View File

@ -94,7 +94,7 @@ M: method-spec forget first2 [ delete-at ] with-methods ;
dup associate implementors* ;
: forget-methods ( class -- )
[ implementors ] keep [ swap 2array forget ] curry each ;
[ implementors ] keep [ swap 2array ] curry map forget-all ;
M: class forget ( class -- )
dup forget-methods

View File

@ -416,7 +416,7 @@ SYMBOL: parse-hook
] keep ;
: forget-smudged ( -- )
smudged-usage [ forget ] each
smudged-usage forget-all
over empty? [ 2dup smudged-usage-warning ] unless 2drop ;
: record-definitions ( file -- )

View File

@ -159,9 +159,6 @@ GENERIC: see ( defspec -- )
M: word synopsis*
dup word-synopsis ;
M: simple-generic synopsis*
dup word-synopsis ;
M: standard-generic synopsis*
dup seeing-word
\ GENERIC# pprint-word

View File

@ -71,7 +71,7 @@ M: pathname where pathname-string 1 2array ;
: forget-source ( path -- )
dup source-file
dup unxref-source
source-file-definitions [ drop forget ] assoc-each
source-file-definitions keys forget-all
source-files get delete-at ;
M: pathname forget pathname-string forget-source ;

View File

@ -6,14 +6,14 @@ slots.private math namespaces sequences strings vectors sbufs
quotations assocs hashtables sorting math.parser words.private
vocabs ;
GENERIC: execute ( word -- )
M: word execute (execute) ;
: word ( -- word ) \ word get-global ;
: set-word ( word -- ) \ word set-global ;
GENERIC: execute ( word -- )
M: word execute (execute) ;
! Used by the compiler
SYMBOL: changed-words
@ -201,7 +201,6 @@ M: word (forget-word)
reveal ;
: forget-word ( word -- )
dup f "methods" set-word-prop
dup delete-xref
dup unchanged-word
(forget-word) ;