classes.algebra: removing valid-classoid? (enforced in constructors).
parent
ed22ef8ee7
commit
331483ab98
|
@ -1,6 +1,6 @@
|
|||
! Copyright (C) 2004, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs classes.algebra combinators
|
||||
USING: accessors assocs classes classes.algebra combinators
|
||||
combinators.short-circuit compiler.cfg compiler.cfg.builder
|
||||
compiler.cfg.builder.alien compiler.cfg.finalization
|
||||
compiler.cfg.optimizer compiler.codegen compiler.crossref
|
||||
|
@ -141,7 +141,7 @@ M: optimizing-compiler update-call-sites ( class generic -- words )
|
|||
! Words containing call sites with inferred type 'class'
|
||||
! which inlined a method on 'generic'
|
||||
generic-call-sites-of keys swap '[
|
||||
_ 2dup [ valid-classoid? ] both?
|
||||
_ 2dup [ classoid? ] both?
|
||||
[ classes-intersect? ] [ 2drop f ] if
|
||||
] filter ;
|
||||
|
||||
|
|
|
@ -79,8 +79,8 @@ TUPLE: depends-on-class-predicate class1 class2 result ;
|
|||
|
||||
M: depends-on-class-predicate satisfied?
|
||||
{
|
||||
[ class1>> valid-classoid? ]
|
||||
[ class2>> valid-classoid? ]
|
||||
[ class1>> classoid? ]
|
||||
[ class2>> classoid? ]
|
||||
[ [ [ class1>> ] [ class2>> ] bi evaluate-class-predicate ] [ result>> ] bi eq? ]
|
||||
} 1&& ;
|
||||
|
||||
|
@ -91,7 +91,7 @@ TUPLE: depends-on-instance-predicate object class result ;
|
|||
|
||||
M: depends-on-instance-predicate satisfied?
|
||||
{
|
||||
[ class>> valid-classoid? ]
|
||||
[ class>> classoid? ]
|
||||
[ [ [ object>> ] [ class>> ] bi instance? ] [ result>> ] bi eq? ]
|
||||
} 1&& ;
|
||||
|
||||
|
@ -103,7 +103,7 @@ TUPLE: depends-on-next-method class generic next-method ;
|
|||
|
||||
M: depends-on-next-method satisfied?
|
||||
{
|
||||
[ class>> valid-classoid? ]
|
||||
[ class>> classoid? ]
|
||||
[ [ [ class>> ] [ generic>> ] bi next-method ] [ next-method>> ] bi eq? ]
|
||||
} 1&& ;
|
||||
|
||||
|
|
|
@ -47,8 +47,7 @@ TUPLE: anonymous-complement { class read-only } ;
|
|||
INSTANCE: anonymous-complement classoid
|
||||
|
||||
: <anonymous-complement> ( object -- classoid )
|
||||
dup classoid? [ 1array not-classoids ] unless
|
||||
anonymous-complement boa ;
|
||||
check-classoid anonymous-complement boa ;
|
||||
|
||||
M: anonymous-complement rank-class drop 3 ;
|
||||
|
||||
|
@ -79,14 +78,6 @@ M: object normalize-class ;
|
|||
|
||||
PRIVATE>
|
||||
|
||||
GENERIC: valid-classoid? ( obj -- ? )
|
||||
|
||||
M: word valid-classoid? class? ;
|
||||
M: anonymous-union valid-classoid? members>> [ valid-classoid? ] all? ;
|
||||
M: anonymous-intersection valid-classoid? participants>> [ valid-classoid? ] all? ;
|
||||
M: anonymous-complement valid-classoid? class>> valid-classoid? ;
|
||||
M: object valid-classoid? drop f ;
|
||||
|
||||
: only-classoid? ( obj -- ? )
|
||||
dup classoid? [ class? not ] [ drop f ] if ;
|
||||
|
||||
|
|
|
@ -20,8 +20,6 @@ M: maybe instance?
|
|||
M: maybe normalize-class
|
||||
maybe-class-or ;
|
||||
|
||||
M: maybe valid-classoid? class>> valid-classoid? ;
|
||||
|
||||
M: maybe rank-class drop 6 ;
|
||||
|
||||
M: maybe (flatten-class)
|
||||
|
|
Loading…
Reference in New Issue