add some more info from tamarin opcode list, mark missing opcodes #s
[swf2.git] / compile / swfclass.lisp
blobad3914c46edad10cc0bda523cf2ab17a8d247e32
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))
6 `(progn
7 (setf (gethash ',name (classes *symbol-table*))
8 (add-swf-class
9 ',name
10 ',(avm2-asm::symbol-to-qname-list name)
11 :ns ,ns
12 :extends ',super
13 :properties ',properties
14 :constructor (list ',constructor-args ',constructor)))
15 ,@(loop for p in properties
16 collect `(add-swf-property ',p ',p))))