chiark / gitweb /
More improvements to virtual slot access
[clg] / gffi / proxy.lisp
index 8b8fa0f9817845202bffb97abb1bfccac9fc059c..fac4af6931bec6629c3fabcc66fc01c6647e6035 100644 (file)
@@ -20,7 +20,7 @@
 ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-;; $Id: proxy.lisp,v 1.3 2006/08/16 11:02:45 espen Exp $
+;; $Id: proxy.lisp,v 1.4 2006/08/16 12:09:03 espen Exp $
 
 (in-package "GFFI")
 
@@ -241,6 +241,9 @@   (defmethod compute-effective-slot-definition-initargs ((class proxy-class) dir
         (call-next-method))
       (call-next-method)))
   
+  (defmethod slot-readable-p ((slotd effective-alien-slot-definition))
+    (declare (ignore slotd))
+    t)
 
   (defmethod compute-slot-reader-function ((slotd effective-alien-slot-definition) &optional signal-unbound-p)
     (declare (ignore signal-unbound-p))
@@ -250,6 +253,10 @@   (defmethod compute-slot-reader-function ((slotd effective-alien-slot-definitio
       #'(lambda (object)
          (funcall reader (foreign-location object) offset))))
 
+  (defmethod slot-writable-p ((slotd effective-alien-slot-definition))
+    (declare (ignore slotd))
+    t)
+
   (defmethod compute-slot-writer-function ((slotd effective-alien-slot-definition))
     (let* ((type (slot-definition-type slotd))
           (offset (slot-definition-offset slotd))