chiark / gitweb /
src/class-finalize-impl.lisp (clos-tiebreaker): Refactor.
[sod] / src / pset-impl.lisp
index e3e505f65cebae34b14d3943871ac5dd7b4cfbed..e340389c3609f399d9dd69bd816de2fe974635df 100644 (file)
@@ -65,6 +65,15 @@ (defmethod coerce-property-value
     ((value symbol) (type (eql :symbol)) (wanted (eql :id)))
   (frob-identifier (symbol-name value)))
 
+;;; Types.
+
+(defmethod coerce-property-value
+    ((value string) (type (eql :id)) (wanted (eql :type)))
+  (or (and (boundp '*module-type-map*)
+          (gethash value *module-type-map*))
+      (find-simple-c-type value)
+      (error "Unknown type `~A'" value)))
+
 ;;;--------------------------------------------------------------------------
 ;;; Property sets.