Fix cdata package
[hyperobject.git] / mop.lisp
index b37a59c21300673022024970184867678f1e6db1..0771543be9f0cc3bb3a91ddc3db84f6a15e96988 100644 (file)
--- a/mop.lisp
+++ b/mop.lisp
 (defmethod finalize-inheritance :after ((cl hyperobject-class))
   "Initialize a hyperobject class. Calculates all class slots"
   (finalize-subobjects cl)
-  (finalize-compute-cached cl))
+  (finalize-compute-cached cl)
+  (init-hyperobject-class cl))
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
   (when (>= (length (generic-function-lambda-list
@@ -401,6 +402,13 @@ SQL name"
   (or (eq type 'string)
       (and (listp type) (some #'(lambda (x) (eq x 'string)) type))))
 
+(defun value-type-is-a-string (type)
+  (or (eq type 'string)
+      (eq type 'cdata)
+      (and (listp type) (some #'(lambda (x) (or (eq x 'string)
+                                                (eq x 'cdata)))
+                              type))))
+
 (defun base-value-type (value-type)
   (if (atom value-type)
       value-type