 
 : deep-annotate ( word quot -- )
     [ (deep-annotate) ] with-compilation-unit ;
+
+: reset-all ( -- )
+    all-words [
+        dup { [ annotated? ] [ subwords [ annotated? ] any? ] } 1||
+        [ reset ] [ drop ] if
+    ] each ;
 
 <PRIVATE
 

<PRIVATE

: check-annotate-twice ( word -- word )
    dup annotated? [ cannot-annotate-twice ] when ;

: annotate-generic ( word quot -- )
    [ "methods" word-prop values ] dip each ; inline

! Copyright (C) 2005, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors arrays assocs combinators.short-circuit compiler.units effects
generalizations generic inspector io kernel math namespaces prettyprint
quotations sequences sequences.deep sequences.generalizations sorting summary
tools.time vocabs words ;
IN: tools.annotations

SYMBOL: override-annotations?

<PRIVATE

