Major effort to plug slot-name leaks.
[sod] / src / c-types-class-impl.lisp
index 34c7eeb..da16cd2 100644 (file)
@@ -30,8 +30,8 @@
 
 (export '(c-class-type c-type-class))
 (defclass c-class-type (simple-c-type)
-  ((class :initarg :class :initform nil
-         :type (or null sod-class) :accessor c-type-class)
+  ((%class :initarg :class :initform nil
+          :type (or null sod-class) :accessor c-type-class)
    (tag :initarg :tag))
   (:documentation
    "A SOD class, as a C type.
@@ -91,6 +91,7 @@
           (values it (slot-value it 'tag))
           (let* ((tag (gensym "TAG-"))
                  (type (intern-c-type 'c-class-type :name name :tag tag)))
+            (setf (gethash name *module-type-map*) type)
             (values type tag)))
 
     ;; If no qualifiers are wanted then we've already found or created the