see: show final declaration on tuples
parent
c4c14c7ceb
commit
9df8a3adbd
|
@ -362,3 +362,15 @@ TUPLE: tuple-with-initial-declared-slot { x integer initial: 123 } ;
|
|||
] [
|
||||
[ \ tuple-with-initial-declared-slot see ] with-string-writer "\n" split
|
||||
] unit-test
|
||||
|
||||
TUPLE: final-tuple ; final
|
||||
|
||||
[
|
||||
{
|
||||
"IN: prettyprint.tests"
|
||||
"TUPLE: final-tuple ; final"
|
||||
""
|
||||
}
|
||||
] [
|
||||
[ \ final-tuple see ] with-string-writer "\n" split
|
||||
] unit-test
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs classes classes.builtin
|
||||
classes.intersection classes.mixin classes.predicate classes.singleton
|
||||
|
@ -182,14 +182,21 @@ M: array pprint-slot-name
|
|||
dup length 1 = [ first ] when
|
||||
pprint-slot-name ;
|
||||
|
||||
: tuple-declarations. ( class -- )
|
||||
\ final declaration. ;
|
||||
|
||||
: superclass. ( class -- )
|
||||
superclass dup tuple eq? [ drop ] [ "<" text pprint-word ] if ;
|
||||
|
||||
M: tuple-class see-class*
|
||||
<colon \ TUPLE: pprint-word
|
||||
dup pprint-word
|
||||
dup superclass tuple eq? [
|
||||
"<" text dup superclass pprint-word
|
||||
] unless
|
||||
<block "slots" word-prop [ pprint-slot ] each block>
|
||||
pprint-; block> ;
|
||||
{
|
||||
[ pprint-word ]
|
||||
[ superclass. ]
|
||||
[ <block "slots" word-prop [ pprint-slot ] each block> pprint-; ]
|
||||
[ tuple-declarations. ]
|
||||
} cleave
|
||||
block> ;
|
||||
|
||||
M: word see-class* drop ;
|
||||
|
||||
|
|
Loading…
Reference in New Issue