1 (in-package :avm2-compiler
)
3 ;;;; code for defining vm level classes
5 (defmacro def-swf-class
(name ns super
(&rest properties
) ((&rest constructor-args
) &body constructor
))
7 (setf (gethash ',name
(classes *symbol-table
*))
8 (list ',(avm2-asm::symbol-to-qname-list name
)
12 (list ',constructor-args
',constructor
)))
13 ,@(loop for p in properties
14 collect
`(add-swf-property ',p
',p
))))