class


Vocabulary
classes

Definition
USING: words ;

IN: classes

PREDICATE: class < word "class" word-prop ;


Methods
USING: classes compiler.tree.propagation.simple
stack-checker.dependencies ;

M: class add-depends-on-class add-depends-on-conditionally ;


USING: classes classes.mixin classes.mixin.private kernel ;

M: class add-mixin-instance
[ 2drop ] [ (add-mixin-instance) ] if-mixin-member? ;


USING: classes help.private help.topics ;

M: class article-content word-with-methods ;


USING: accessors classes classes.private ;

M: class class-name name>> ;


USING: classes classes.tuple kernel ;

M: class final-class? drop t ;


USING: classes definitions generic kernel ;

M: class forget*
[ M\ class forget* (call-next-method) ] [ forget-class ] bi
;


USING: classes classes.private definitions generic kernel
sequences ;

M: class forget-methods
[ implementors ] [ [ swap ?lookup-method ] curry ] bi map
forget-all ;


USING: arrays classes generic ;

M: class implementor-classes 1array ;


USING: assocs classes classes.private namespaces sets ;

M: class implementors implementors-map get at members ;


USING: classes kernel slots ;

M: class initial-value* drop f f ;


USING: classes combinators generic kernel slots words ;

M: class instance-check-quot
{
{ [ dup object bootstrap-word eq? ] [ drop [ ] ] }
{ [ dup "coercer" word-prop ] [ "coercer" word-prop ] }
[ M\ class instance-check-quot (call-next-method) ]
} cond ;


USING: classes classes.private kernel ;

M: class metaclass-changed
swap class? [ drop ] [ forget-class ] if ;


USING: classes kernel prettyprint.backend ;

M: class pprint-class \ f or pprint-word ;


USING: classes classes.private words ;

M: class reset-class
{
"defining-class"
"class"
"metaclass"
"superclass"
"members"
"participants"
"predicate"
} reset-props ;


USING: classes hints ;

M: class specializer-declaration ;


USING: classes hints ;

M: class specializer-predicate predicate-def ;


USING: classes classes.union.private kernel ;

M: class union-of-builtins? drop f ;


USING: classes classes.private kernel ;

M: class update-class drop ;