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 alien-callback
} [ t "special" set-word-prop ] each } [ t "special" set-word-prop ] each
\ clear t "no-compile" set-word-prop
: non-inline-word ( word -- ) : non-inline-word ( word -- )
dup called-dependency depends-on dup called-dependency depends-on
{ {

View File

@ -92,6 +92,18 @@ M: object add-breakpoint ;
: (step-into-call-next-method) ( method -- ) : (step-into-call-next-method) ( method -- )
next-method-quot (step-into-quot) ; 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 ! Messages sent to walker thread
SYMBOL: step SYMBOL: step
SYMBOL: step-out SYMBOL: step-out

View File

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

View File

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

View File

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

View File

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