Fix minor leak: class-caches were not reset if a class was forgotten
parent
7134fad54c
commit
9b492b55e0
|
@ -3,7 +3,8 @@ kernel math namespaces parser prettyprint sequences strings
|
||||||
tools.test vectors words quotations classes
|
tools.test vectors words quotations classes
|
||||||
classes.private classes.union classes.mixin classes.predicate
|
classes.private classes.union classes.mixin classes.predicate
|
||||||
classes.algebra vectors definitions source-files
|
classes.algebra vectors definitions source-files
|
||||||
compiler.units kernel.private sorting vocabs ;
|
compiler.units kernel.private sorting vocabs memory eval
|
||||||
|
accessors ;
|
||||||
IN: classes.tests
|
IN: classes.tests
|
||||||
|
|
||||||
[ t ] [ 3 object instance? ] unit-test
|
[ t ] [ 3 object instance? ] unit-test
|
||||||
|
@ -27,3 +28,13 @@ M: method-forget-class method-forget-test ;
|
||||||
implementors-map get keys
|
implementors-map get keys
|
||||||
[ natural-sort ] bi@ =
|
[ natural-sort ] bi@ =
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
|
! Minor leak
|
||||||
|
[ ] [ "IN: classes.tests TUPLE: forget-me ;" eval ] unit-test
|
||||||
|
[ ] [ f \ word set-global ] unit-test
|
||||||
|
[ ] [ "IN: classes.tests USE: kernel USE: classes.algebra forget-me tuple class<= drop" eval ] unit-test
|
||||||
|
[ ] [ "IN: classes.tests FORGET: forget-me" eval ] unit-test
|
||||||
|
[ 0 ] [
|
||||||
|
[ word? ] instances
|
||||||
|
[ [ name>> "forget-me" = ] [ vocabulary>> "classes.tests" = ] bi and ] count
|
||||||
|
] unit-test
|
||||||
|
|
|
@ -176,7 +176,8 @@ GENERIC: class-forgotten ( use class -- )
|
||||||
[ implementors-map- ]
|
[ implementors-map- ]
|
||||||
[ update-map- ]
|
[ update-map- ]
|
||||||
[ reset-class ]
|
[ reset-class ]
|
||||||
} cleave ;
|
} cleave
|
||||||
|
reset-caches ;
|
||||||
|
|
||||||
M: class class-forgotten
|
M: class class-forgotten
|
||||||
nip forget-class ;
|
nip forget-class ;
|
||||||
|
|
Loading…
Reference in New Issue