abstract-c-type


Vocabulary
alien.c-types

Definition
USING: classes kernel math quotations ;

IN: alien.c-types

TUPLE: abstract-c-type
{ class class initial: object }
{ boxed-class class initial: object }
{ boxer-quot callable initial: [ ] }
{ unboxer-quot callable initial: [ ] }
{ getter callable initial: [ ] }
{ setter callable initial: [ ] }
{ size integer initial: 0 } { signed boolean initial: f }
{ align integer initial: 0 }
{ align-first integer initial: 0 } ;


Methods
USING: alien.c-types compiler.cfg.builder.alien.boxing ;

M: abstract-c-type box-parameter box ;


USING: alien.c-types compiler.cfg.builder.alien.boxing ;

M: abstract-c-type box-return box ;


USING: accessors alien.c-types ;

M: abstract-c-type c-type-align align>> ;


USING: accessors alien.c-types ;

M: abstract-c-type c-type-align-first align-first>> ;


USING: accessors alien.c-types ;

M: abstract-c-type c-type-boxed-class boxed-class>> ;


USING: accessors alien.c-types ;

M: abstract-c-type c-type-boxer-quot boxer-quot>> ;


USING: accessors alien.c-types ;

M: abstract-c-type c-type-class class>> ;


USING: accessors alien.c-types ;

M: abstract-c-type c-type-signed signed>> ;


USING: accessors alien.c-types ;

M: abstract-c-type c-type-unboxer-quot unboxer-quot>> ;


USING: alien.c-types compiler.cfg.builder.alien.boxing ;

M: abstract-c-type flatten-parameter-type flatten-c-type ;


USING: accessors alien.c-types ;

M: abstract-c-type heap-size size>> ;


USING: alien.c-types arrays assocs
compiler.cfg.builder.alien.boxing
compiler.cfg.builder.alien.params compiler.cfg.registers kernel
sequences ;

M: abstract-c-type load-return
[
flatten-c-type keys
[ [ next-vreg ] dip dup next-return-reg 3array ] map
] with-return-regs ;


USING: alien.c-types assocs compiler.cfg.builder.alien.boxing ;

M: abstract-c-type unbox-return unbox keys ;