Code: Select all
(defstruct
(as3-fqname
(:print-function
(lambda (struct stream depth)
(declare (ignore depth))
(format stream "~a:~a"
(as3-fqname-package struct)
(as3-fqname-name struct)))))
(package "" :type string)
(name "" :type string))
;; (defstruct (amf-object
;; (:print-function
;; (lambda (struct stream depth)
;; (declare (ignore depth))
;; (format stream "[~a object]"
;; (amf-object-class struct)))))
;; (class (make-as3-fqname :as3-name "Object")
;; :type as3-fqname)
;; (properties (make-hash-table :test 'equal)))
;; (make-amf-object :class (make-as3-fqname :package "foo" :name "Bar"))
(defclass amf-object ()
((constructor
:initarg :constructor ;; if I uncomment the below I'll get error
;; :initfrom (make-as3-fqname :as3-name "Object")
:type as3-fqname)
(properties
;; :initfrom (make-hash-table :test 'equal)
:type hash-table)))
EDIT: Sorry, never mind it, silly typo It should've been :initform instead.