Make more words infer
parent
cdd372314b
commit
e595576dc3
|
@ -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
|
||||||
{
|
{
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 ] }
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 -- * )
|
||||||
|
|
|
@ -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 ;
|
||||||
|
|
Loading…
Reference in New Issue