summaryrefslogtreecommitdiff
path: root/Lisp/constant-data.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2007-08-14 16:03:51 +0200
committerMatthias Benkard <code@mail.matthias.benkard.de>2007-08-14 16:03:51 +0200
commitf9408631aa030926fad625ecf4d18f08b478fc1d (patch)
tree3b7662585b47e60873c6b165c82fd20dfd560dd5 /Lisp/constant-data.lisp
parent6895fb365446fb98b76e2f94d27afa0a7fa18133 (diff)
Add some type declarations to improve type safety.
darcs-hash:80f199b54225eed3b79fb36bbd49a0745e9033af
Diffstat (limited to 'Lisp/constant-data.lisp')
-rw-r--r--Lisp/constant-data.lisp6
1 files changed, 6 insertions, 0 deletions
diff --git a/Lisp/constant-data.lisp b/Lisp/constant-data.lisp
index 575d46e..29169de 100644
--- a/Lisp/constant-data.lisp
+++ b/Lisp/constant-data.lisp
@@ -102,22 +102,28 @@
;;;; (@* "Constant accessors")
+(declaim (ftype (function (*) symbol) lisp-value->type-name))
(defun lisp-value->type-name (value)
(car (rassoc-if #'(lambda (type)
(typep value type))
*objcl-type-map*)))
+(declaim (ftype (function (symbol) symbol) type-name->lisp-type))
(defun type-name->lisp-type (type-name)
(cdr (assoc type-name *objcl-type-map*)))
+(declaim (ftype (function (symbol) symbol) type-name->slot-name))
(defun type-name->slot-name (type-name)
(cdr (assoc type-name *objcl-data-map*)))
+(declaim (ftype (function (symbol) string) type-name->type-id))
(defun type-name->type-id (type-name)
(string (cdr (assoc type-name *objcl-api-type-names*))))
+(declaim (ftype (function (string) symbol) type-id->type-name))
(defun type-id->type-name (type-id)
(car (rassoc (char type-id 0) *objcl-api-type-names*)))
+(declaim (ftype (function (symbol) symbol) type-name->c-type))
(defun type-name->c-type (type-name)
(cdr (assoc type-name *objcl-c-type-map*)))