summaryrefslogtreecommitdiff
path: root/Lisp/data-types.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-15 21:46:57 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-15 21:46:57 +0100
commit2bb2aff46342274f990903b273d4a2545f6f7f9f (patch)
tree857550066228dfee19fb35208c1eef61d17d487f /Lisp/data-types.lisp
parent996fa5e19c1ec8603b99a4ce29b85b7af7468a78 (diff)
Class TAGGED-STRUCT: Recover TYPESPEC slot.
darcs-hash:aa7ba6f0790527c765455b9347bf8cba78d7186c
Diffstat (limited to 'Lisp/data-types.lisp')
-rw-r--r--Lisp/data-types.lisp17
1 files changed, 12 insertions, 5 deletions
diff --git a/Lisp/data-types.lisp b/Lisp/data-types.lisp
index 91e10f3..5d8c22b 100644
--- a/Lisp/data-types.lisp
+++ b/Lisp/data-types.lisp
@@ -235,14 +235,19 @@ an __exception__, you can simply send it the `self' message.
;; FIXME: Document.
(defclass foreign-struct (foreign-value)
((name :type (or null string)
- :accessor struct-name
+ :accessor foreign-struct-name
:initarg :name)))
;; The following are for private use only.
(defclass opaque-struct (foreign-struct) ())
-(defclass tagged-struct (foreign-struct) ())
+
+(defclass tagged-struct (foreign-struct)
+ ((typespec :reader foreign-value-typespec
+ :initarg :typespec)))
+
(defclass opaque-union (opaque-struct) ())
+
(defclass tagged-union (tagged-struct) ())
@@ -251,11 +256,13 @@ an __exception__, you can simply send it the `self' message.
;; support passing them as arguments.)
(defclass foreign-array (foreign-value)
((element-type :type symbol
- :accessor tagged-array-element-type
+ :reader foreign-array-element-type
:initarg :element-type)
(length :type integer
- :accessor tagged-array-length)
- (typespec :accessor foreign-value-typespec)))
+ :reader foreign-array-length
+ :initarg :type)
+ (typespec :reader foreign-value-typespec
+ :initarg :typespec)))
;; FIXME: Document.