Fix class resetting
parent
a27fa29098
commit
93d9722a6b
|
@ -7,7 +7,7 @@ IN: classes.mixin
|
|||
PREDICATE: mixin-class < union-class "mixin" word-prop ;
|
||||
|
||||
M: mixin-class reset-class
|
||||
{ "metaclass" "members" "mixin" } reset-props ;
|
||||
{ "class" "metaclass" "members" "mixin" } reset-props ;
|
||||
|
||||
: redefine-mixin-class ( class members -- )
|
||||
dupd define-union-class
|
||||
|
|
|
@ -25,5 +25,8 @@ PREDICATE: predicate-class < class
|
|||
|
||||
M: predicate-class reset-class
|
||||
{
|
||||
"metaclass" "predicate-definition" "superclass"
|
||||
"class"
|
||||
"metaclass"
|
||||
"predicate-definition"
|
||||
"superclass"
|
||||
} reset-props ;
|
||||
|
|
|
@ -212,6 +212,7 @@ M: tuple-class reset-class
|
|||
] with each
|
||||
] [
|
||||
{
|
||||
"class"
|
||||
"metaclass"
|
||||
"superclass"
|
||||
"layout"
|
||||
|
|
|
@ -29,4 +29,4 @@ M: union-class update-class define-union-predicate ;
|
|||
2bi ;
|
||||
|
||||
M: union-class reset-class
|
||||
{ "metaclass" "members" } reset-props ;
|
||||
{ "class" "metaclass" "members" } reset-props ;
|
||||
|
|
|
@ -505,8 +505,10 @@ SYMBOL: interactive-vocabs
|
|||
: fix-class-words ( -- )
|
||||
#! If a class word had a compound definition which was
|
||||
#! removed, it must go back to being a symbol.
|
||||
new-definitions get first2 diff
|
||||
[ nip dup reset-generic define-symbol ] assoc-each ;
|
||||
new-definitions get first2
|
||||
[ diff values [ [ reset-generic ] [ define-symbol ] bi ] each ]
|
||||
[ swap diff values [ class? ] subset [ reset-class ] each ]
|
||||
2bi ;
|
||||
|
||||
: forget-smudged ( -- )
|
||||
smudged-usage forget-all
|
||||
|
@ -515,9 +517,10 @@ SYMBOL: interactive-vocabs
|
|||
|
||||
: finish-parsing ( lines quot -- )
|
||||
file get
|
||||
[ record-form ] keep
|
||||
[ record-definitions ] keep
|
||||
record-checksum ;
|
||||
[ record-form ]
|
||||
[ record-definitions ]
|
||||
[ record-checksum ]
|
||||
tri ;
|
||||
|
||||
: parse-stream ( stream name -- quot )
|
||||
[
|
||||
|
|
Loading…
Reference in New Issue