mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-14 00:07:36 +02:00
Fix slot-ref
This commit is contained in:
parent
f3d2cd8176
commit
1d91ace450
1 changed files with 6 additions and 3 deletions
|
@ -1806,9 +1806,12 @@
|
|||
(let ((vec obj)) ;; TODO: get actual slots from obj
|
||||
(vector-set! (vector-ref vec 2) idx val)))
|
||||
(define (slot-ref name obj field)
|
||||
;; TODO: type check
|
||||
;; TODO: support field as number or symbol
|
||||
(vector-ref (vector-ref obj 2) field))
|
||||
(let* ((idx (cond
|
||||
((symbol? field)
|
||||
(type-slot-offset name field))
|
||||
(else
|
||||
field)))) ;; Assumes field is a number
|
||||
(vector-ref (vector-ref obj 2) idx)))
|
||||
(define (make-getter sym name idx)
|
||||
(lambda (obj)
|
||||
(vector-ref (vector-ref obj 2) idx)))
|
||||
|
|
Loading…
Add table
Reference in a new issue