chiark / gitweb /
More improvements to virtual slot access
[clg] / gffi / proxy.lisp
index c2c3fbccec91a10150b076a7afc3e9858b1049eb..9cf15ca54608b7a4f39fa4adcb5d57802aeb8570 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))