classoid? ( object -- ? ) - Factor Documentation

classoid? ( object -- ? )


Vocabulary
classes

Inputs and outputs
object an object
? a boolean


Word description
Tests if the object is an instance of the classoid class.

Definition
USING: classes.algebra.private classes.maybe
classes.tuple.private kernel slots.private ;

IN: classes

: classoid? ( object -- ? )
dup dup tuple? [
layout-of
7
slot
dup
\ maybe
eq?
[ drop t ]
[
dup \ anonymous-predicate eq?
[ drop t ] [
dup \ anonymous-complement eq?
[ drop t ] [
dup \ anonymous-intersection eq?
[ drop t ] [ \ anonymous-union eq? ] if
] if
] if
]
if
] [ drop f ] if
[ drop t ] [ dup defining-class? [ drop t ] [ class? ] if ]
if ;

AltStyle によって変換されたページ (->オリジナル) /