Make more words infer

db4
Slava Pestov 2009-04-12 23:01:14 -05:00
parent cdd372314b
commit e595576dc3
6 changed files with 22 additions and 2 deletions

View File

@ -218,6 +218,8 @@ M: object infer-call*
alien-callback
} [ t "special" set-word-prop ] each
\ clear t "no-compile" set-word-prop
: non-inline-word ( word -- )
dup called-dependency depends-on
{

View File

@ -92,6 +92,18 @@ M: object add-breakpoint ;
: (step-into-call-next-method) ( method -- )
next-method-quot (step-into-quot) ;
{
(step-into-quot)
(step-into-dip)
(step-into-2dip)
(step-into-3dip)
(step-into-if)
(step-into-dispatch)
(step-into-execute)
(step-into-continuation)
(step-into-call-next-method)
} [ t "no-compile" set-word-prop ] each
! Messages sent to walker thread
SYMBOL: step
SYMBOL: step-out

View File

@ -86,6 +86,8 @@ ERROR: no-case object ;
] [ callable? ] if
] find nip ;
\ case-find t "no-compile" set-word-prop
: case ( obj assoc -- )
case-find {
{ [ dup array? ] [ nip second call ] }

View File

@ -62,7 +62,7 @@ GENERIC: definitions-changed ( assoc obj -- )
definition-observers get push ;
: remove-definition-observer ( obj -- )
definition-observers get delete ;
definition-observers get delq ;
: notify-definition-observers ( assoc -- )
definition-observers get

View File

@ -2,7 +2,7 @@
! See http://factorcode.org/license.txt for BSD license.
USING: arrays vectors kernel kernel.private sequences
namespaces make math splitting sorting quotations assocs
combinators combinators.private accessors ;
combinators combinators.private accessors words ;
IN: continuations
SYMBOL: error
@ -81,6 +81,8 @@ C: <continuation> continuation
[ set-datastack ] dip
set-callstack ;
\ (continue) t "no-compile" set-word-prop
PRIVATE>
: continue-with ( obj continuation -- * )

View File

@ -33,6 +33,8 @@ M: generic definition drop f ;
GENERIC: effective-method ( generic -- method )
\ effective-method t "no-compile" set-word-prop
: next-method-class ( class generic -- class/f )
order [ class<= ] with filter reverse dup length 1 =
[ drop f ] [ second ] if ;