ffi/unsafe/objc

Avoid crash on duplicate Objective-C class declaration.
This commit is contained in:
Matthew Flatt 2013-03-07 19:52:52 -07:00
parent 9e0e2b932d
commit 81a0451849

View File

@ -604,6 +604,7 @@
(begin
(define superclass-id superclass)
(define id (allocate-class-pair superclass-id id-str))
(when id
(void (add-protocol id proto)) ...
(add-ivar id 'ivar) ...
(let-syntax ([ivar (make-ivar-form 'ivar)] ...)
@ -611,7 +612,7 @@
(mixin id superclass-id '(ivar ...)) ...
(add-method whole-stx id superclass-id dealloc-method) ...
(void))
(register-class-pair id))))))]
(register-class-pair id)))))))]
[(_ id superclass (ivar ...) method ...)
#'(define-objc-class id superclass #:mixins () #:protocols () (ivar ...) method ...)]
[(_ id superclass #:mixins (mixin ...) (ivar ...) method ...)