Definition protocol cleanup
parent
ede3f4d977
commit
07e5441b14
|
@ -1,7 +1,7 @@
|
||||||
! Copyright (C) 2004, 2008 Slava Pestov.
|
! Copyright (C) 2004, 2008 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: classes classes.union words kernel sequences
|
USING: classes classes.union words kernel sequences
|
||||||
definitions prettyprint.backend combinators arrays ;
|
definitions combinators arrays ;
|
||||||
IN: classes.mixin
|
IN: classes.mixin
|
||||||
|
|
||||||
PREDICATE: union-class mixin-class "mixin" word-prop ;
|
PREDICATE: union-class mixin-class "mixin" word-prop ;
|
||||||
|
@ -64,11 +64,6 @@ M: mixin-instance where mixin-instance-loc ;
|
||||||
|
|
||||||
M: mixin-instance set-where set-mixin-instance-loc ;
|
M: mixin-instance set-where set-mixin-instance-loc ;
|
||||||
|
|
||||||
M: mixin-instance synopsis*
|
|
||||||
\ INSTANCE: pprint-word
|
|
||||||
dup mixin-instance-class pprint-word
|
|
||||||
mixin-instance-mixin pprint-word ;
|
|
||||||
|
|
||||||
M: mixin-instance definer drop \ INSTANCE: f ;
|
M: mixin-instance definer drop \ INSTANCE: f ;
|
||||||
|
|
||||||
M: mixin-instance definition drop f ;
|
M: mixin-instance definition drop f ;
|
||||||
|
|
|
@ -182,3 +182,7 @@ M: standard-combination dispatch# standard-combination-# ;
|
||||||
M: hook-combination dispatch# drop 0 ;
|
M: hook-combination dispatch# drop 0 ;
|
||||||
|
|
||||||
M: simple-generic definer drop \ GENERIC: f ;
|
M: simple-generic definer drop \ GENERIC: f ;
|
||||||
|
|
||||||
|
M: standard-generic definer drop \ GENERIC# f ;
|
||||||
|
|
||||||
|
M: hook-generic definer drop \ HOOK: f ;
|
||||||
|
|
|
@ -146,39 +146,44 @@ GENERIC: see ( defspec -- )
|
||||||
: seeing-word ( word -- )
|
: seeing-word ( word -- )
|
||||||
word-vocabulary pprinter-in set ;
|
word-vocabulary pprinter-in set ;
|
||||||
|
|
||||||
|
: definer. ( defspec -- )
|
||||||
|
definer drop pprint-word ;
|
||||||
|
|
||||||
: stack-effect. ( word -- )
|
: stack-effect. ( word -- )
|
||||||
dup parsing? over symbol? or not swap stack-effect and
|
dup parsing? over symbol? or not swap stack-effect and
|
||||||
[ effect>string comment. ] when* ;
|
[ effect>string comment. ] when* ;
|
||||||
|
|
||||||
: word-synopsis ( word name -- )
|
: word-synopsis ( word -- )
|
||||||
dup seeing-word
|
dup seeing-word
|
||||||
over definer drop pprint-word
|
dup definer.
|
||||||
pprint-word
|
dup pprint-word
|
||||||
stack-effect. ;
|
stack-effect. ;
|
||||||
|
|
||||||
M: word synopsis*
|
M: word synopsis* word-synopsis ;
|
||||||
dup word-synopsis ;
|
|
||||||
|
|
||||||
M: simple-generic synopsis*
|
M: simple-generic synopsis* word-synopsis ;
|
||||||
dup word-synopsis ;
|
|
||||||
|
|
||||||
M: standard-generic synopsis*
|
M: standard-generic synopsis*
|
||||||
|
dup definer.
|
||||||
dup seeing-word
|
dup seeing-word
|
||||||
\ GENERIC# pprint-word
|
|
||||||
dup pprint-word
|
dup pprint-word
|
||||||
dup dispatch# pprint*
|
dup dispatch# pprint*
|
||||||
stack-effect. ;
|
stack-effect. ;
|
||||||
|
|
||||||
M: hook-generic synopsis*
|
M: hook-generic synopsis*
|
||||||
|
dup definer.
|
||||||
dup seeing-word
|
dup seeing-word
|
||||||
\ HOOK: pprint-word
|
|
||||||
dup pprint-word
|
dup pprint-word
|
||||||
dup "combination" word-prop hook-combination-var pprint-word
|
dup "combination" word-prop hook-combination-var pprint-word
|
||||||
stack-effect. ;
|
stack-effect. ;
|
||||||
|
|
||||||
M: method-spec synopsis*
|
M: method-spec synopsis*
|
||||||
dup definer drop pprint-word
|
dup definer. [ pprint-word ] each ;
|
||||||
[ pprint-word ] each ;
|
|
||||||
|
M: mixin-instance synopsis*
|
||||||
|
dup definer.
|
||||||
|
dup mixin-instance-class pprint-word
|
||||||
|
mixin-instance-mixin pprint-word ;
|
||||||
|
|
||||||
M: pathname synopsis* pprint* ;
|
M: pathname synopsis* pprint* ;
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ M: link forget link-name remove-article ;
|
||||||
M: link definition article-content ;
|
M: link definition article-content ;
|
||||||
|
|
||||||
M: link synopsis*
|
M: link synopsis*
|
||||||
\ ARTICLE: pprint-word
|
dup definer.
|
||||||
dup link-name pprint*
|
dup link-name pprint*
|
||||||
article-title pprint* ;
|
article-title pprint* ;
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ M: word-link set-where link-name swap "help-loc" set-word-prop ;
|
||||||
M: word-link definition link-name "help" word-prop ;
|
M: word-link definition link-name "help" word-prop ;
|
||||||
|
|
||||||
M: word-link synopsis*
|
M: word-link synopsis*
|
||||||
\ HELP: pprint-word
|
dup definer.
|
||||||
link-name dup pprint-word
|
link-name dup pprint-word
|
||||||
stack-effect. ;
|
stack-effect. ;
|
||||||
|
|
||||||
|
|
|
@ -314,14 +314,16 @@ M: lambda-word definer drop \ :: \ ; ;
|
||||||
M: lambda-word definition
|
M: lambda-word definition
|
||||||
"lambda" word-prop lambda-body ;
|
"lambda" word-prop lambda-body ;
|
||||||
|
|
||||||
: lambda-word-synopsis ( word prop definer -- )
|
: lambda-word-synopsis ( word prop -- )
|
||||||
pick seeing-word pprint-word over pprint-word
|
over definer.
|
||||||
|
over seeing-word
|
||||||
|
over pprint-word
|
||||||
\ | pprint-word
|
\ | pprint-word
|
||||||
word-prop lambda-vars pprint-vars
|
word-prop lambda-vars pprint-vars
|
||||||
\ | pprint-word ;
|
\ | pprint-word ;
|
||||||
|
|
||||||
M: lambda-word synopsis*
|
M: lambda-word synopsis*
|
||||||
"lambda" \ :: lambda-word-synopsis ;
|
"lambda" lambda-word-synopsis ;
|
||||||
|
|
||||||
PREDICATE: macro lambda-macro
|
PREDICATE: macro lambda-macro
|
||||||
"lambda-macro" word-prop >boolean ;
|
"lambda-macro" word-prop >boolean ;
|
||||||
|
@ -332,6 +334,6 @@ M: lambda-macro definition
|
||||||
"lambda-macro" word-prop lambda-body ;
|
"lambda-macro" word-prop lambda-body ;
|
||||||
|
|
||||||
M: lambda-macro synopsis*
|
M: lambda-macro synopsis*
|
||||||
"lambda-macro" \ MACRO:: lambda-word-synopsis ;
|
"lambda-macro" lambda-word-synopsis ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
Loading…
Reference in New Issue