]> gitweb.factorcode.org Git - factor.git/commitdiff
Omit default method from usage lists
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 1 Sep 2008 09:32:26 +0000 (04:32 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 1 Sep 2008 09:32:26 +0000 (04:32 -0500)
core/generic/generic.factor
core/generic/standard/standard.factor

index 553ced5800fd4263e44ab5fa711409bdc0f7e52e..f2c154b3b25a7686abf30d6b48ef9d40cb1d0210 100755 (executable)
@@ -105,6 +105,10 @@ M: method-body crossref?
         drop [ <method> dup ] 2keep reveal-method
     ] if ;
 
+PREDICATE: default-method < word "default" word-prop ;
+
+M: default-method irrelevant? drop t ;
+
 : <default-method> ( generic combination -- method )
     [ drop object bootstrap-word swap <method> ] [ make-default-method ] 2bi
     [ define ] [ drop t "default" set-word-prop ] [ drop ] 2tri ;
@@ -137,7 +141,7 @@ M: method-body definer
 M: method-body forget*
     dup "forgotten" word-prop [ drop ] [
         [
-            dup "default" word-prop [ drop ] [
+            dup default-method? [ drop ] [
                 [
                     [ "method-class" word-prop ]
                     [ "method-generic" word-prop ] bi
index 503c72290a7f343dbede1bb3912f9312e907ca76..860781e5e2636c5a00c7db4ac98cf78a86b1216a 100644 (file)
@@ -26,10 +26,6 @@ ERROR: no-method object generic ;
 : error-method ( word -- quot )
     picker swap [ no-method ] curry append ;
 
-: default-method ( word -- pair )
-    "default-method" word-prop
-    object bootstrap-word swap 2array ;
-
 : push-method ( method specializer atomic assoc -- )
     [
         [ H{ } clone <predicate-dispatch-engine> ] unless*