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
*))
10 ',(avm2-asm::symbol-to-qname-list name
)
13 :properties
',properties
14 :constructor
(list ',constructor-args
',constructor
)))
15 ,@(loop for p in properties
16 collect
`(add-swf-property ',p
',p
))))